Страница 2 из 2

Re: Настройка SIP-транка без авторизации

Добавлено: 28 мар 2013, 14:50
ded
externip надо прописывать тот, который (обычно) стоит на роутере, который делает НАТ.
Не ваш случай.
Тема двух сетевух открылась в процессе обсуждения, как обычно, внезапно.
Не так надо делать, всё не так....

Re: Настройка SIP-транка без авторизации

Добавлено: 28 мар 2013, 14:55
Otkrick
К шлюзу кинул кабель от провайдера, пробросил все на астериск, добавил статический маршрут до sip-сервера провайдера. Ситуация не изменилась.
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER: Звонок с мобильного на 74958401818 (после соединения я с мобильного кладу трубку)
<--- SIP read from UDP:212.54.23.111:55839 --->
INVITE sip:74958401818@10.4.0.30:5060 SIP/2.0
Via: SIP/2.0/UDP 212.54.23.111:5060;x-route-tag="tgrp:ewsd-trunk"
From: <sip:212.54.23.111>;tag=546ED60-166E
To: <sip:74958401818@10.4.0.30>
Date: Thu, 28 Mar 2013 10:24:11 GMT
Call-ID: 775D39FE-96C811E2-8252EBC0-15D65504@212.54.23.111
Supported: timer,100rel
Min-SE: 1800
Cisco-Guid: 2002438342-2529694178-2186275776-366368004
User-Agent: Cisco-SIPGateway/IOS-12.x
Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, COMET, REFER, SUBSCRIBE, NOTIFY, INFO
CSeq: 101 INVITE
Max-Forwards: 6
Remote-Party-ID: <sip:212.54.23.111>;party=calling;screen=no;privacy=off
Timestamp: 1364466251
Contact: <sip:212.54.23.111:5060>
Expires: 180
Allow-Events: telephone-event
Content-Type: application/sdp
Content-Length: 260
v=0
o=CiscoSystemsSIP-GW-UserAgent 7874 4227 IN IP4 212.54.23.111
s=SIP Call
c=IN IP4 212.54.23.111
t=0 0
m=audio 17930 RTP/AVP 18 8 0
c=IN IP4 212.54.23.111
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=yes
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
<------------->
--- (20 headers 11 lines) ---

[Kasterisk*CLI>
[0KSending to 212.54.23.111:55839 (NAT)
Using INVITE request as basis request - 775D39FE-96C811E2-8252EBC0-15D65504@212.54.23.111
[Kasterisk*CLI>
[0KNo matching peer for '212.54.23.111' from '212.54.23.111:55839'
[Kasterisk*CLI>
[0K == Using SIP RTP CoS mark 5
Found RTP audio format 18
Found RTP audio format 8
Found RTP audio format 0
Found audio description format G729 for ID 18
Found audio description format PCMA for ID 8
Found audio description format PCMU for ID 0
[Kasterisk*CLI>
[0KCapabilities: us - (gsm|ulaw|alaw|h263|testlaw), peer - audio=(ulaw|alaw|g729)/video=(nothing)/text=(nothing), combined - (ulaw|alaw)
Non-codec capabilities (dtmf): us - 0x1 (telephone-event|), peer - 0x0 (nothing), combined - 0x0 (nothing)
Peer audio RTP is at port 212.54.23.111:17930
Looking for 74958401818 in default (domain 10.4.0.30)
[Kasterisk*CLI>
[0Klist_route: hop: <sip:212.54.23.111:5060>

<--- Transmitting (NAT) to 212.54.23.111:55839 --->
SIP/2.0 100 Trying
Via: SIP/2.0/UDP 212.54.23.111:5060;x-route-tag="tgrp:ewsd-trunk";received=212.54.23.111;rport=55839
From: <sip:212.54.23.111>;tag=546ED60-166E
To: <sip:74958401818@10.4.0.30>
Call-ID: 775D39FE-96C811E2-8252EBC0-15D65504@212.54.23.111
CSeq: 101 INVITE
Server: Asterisk PBX 11.2.1
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
Supported: replaces, timer
Contact: <sip:74958401818@10.4.0.30:5060>
Content-Length: 0

<------------>
[Kasterisk*CLI>
[0K -- Executing [74958401818@default:1] [1;36mAnswer[0m("[1;35mSIP/212.54.23.111-000001c7[0m", "[1;35m[0m") in new stack
[Kasterisk*CLI>
[0KAudio is at 17158
Adding codec 100003 (ulaw) to SDP
Adding codec 100004 (alaw) to SDP
[Kasterisk*CLI>
[0K

<--- Reliably Transmitting (NAT) to 212.54.23.111:55839 --->
SIP/2.0 200 OK
Via: SIP/2.0/UDP 212.54.23.111:5060;x-route-tag="tgrp:ewsd-trunk";received=212.54.23.111;rport=55839
From: <sip:212.54.23.111>;tag=546ED60-166E
To: <sip:74958401818@10.4.0.30>;tag=as5305883d
Call-ID: 775D39FE-96C811E2-8252EBC0-15D65504@212.54.23.111
CSeq: 101 INVITE
Server: Asterisk PBX 11.2.1
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
Supported: replaces, timer
Contact: <sip:74958401818@10.4.0.30:5060>
Content-Type: application/sdp
Content-Length: 234
v=0
o=root 1044938351 1044938351 IN IP4 10.4.0.30
s=Asterisk PBX 11.2.1
c=IN IP4 10.4.0.30
t=0 0
m=audio 17158 RTP/AVP 0 8
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=silenceSupp:off - - - -
a=ptime:20
a=sendrecv

<------------>
[Kasterisk*CLI>
[0K
<--- SIP read from UDP:212.54.23.111:50811 --->
ACK sip:74958401818@10.4.0.30:5060 SIP/2.0
Via: SIP/2.0/UDP 212.54.23.111:5060;x-route-tag="tgrp:ewsd-trunk"
From: <sip:212.54.23.111>;tag=546ED60-166E
To: <sip:74958401818@10.4.0.30>;tag=as5305883d
Date: Thu, 28 Mar 2013 10:24:11 GMT
Call-ID: 775D39FE-96C811E2-8252EBC0-15D65504@212.54.23.111
Max-Forwards: 6
Content-Length: 0
CSeq: 101 ACK

<------------->
--- (9 headers 0 lines) ---
[Kasterisk*CLI>
[0K -- Executing [74958401818@default:2] [1;36mWait[0m("[1;35mSIP/212.54.23.111-000001c7[0m", "[1;35m2[0m") in new stack
[Kasterisk*CLI>
[0K -- Executing [74958401818@default:3] [1;36mPlayback[0m("[1;35mSIP/212.54.23.111-000001c7[0m", "[1;35m/var/lib/asterisk/sounds/ru/ivr-hello-dosto.wav[0m") in new stack
[Kasterisk*CLI>
[0K -- <SIP/212.54.23.111-000001c7> Playing '/var/lib/asterisk/sounds/ru/ivr-hello-dosto.wav.gsm' (language 'en')
[Kasterisk*CLI>
[0K -- Executing [74958401818@default:4] [1;36mDial[0m("[1;35mSIP/212.54.23.111-000001c7[0m", "[1;35mSIP/131,,tTr[0m") in new stack
[Kasterisk*CLI>
[0K == Using SIP RTP CoS mark 5
[Kasterisk*CLI>
[0KAudio is at 12794
Adding codec 100003 (ulaw) to SDP
Adding codec 100002 (gsm) to SDP
Adding codec 100004 (alaw) to SDP
Adding codec 100017 (testlaw) to SDP
Adding non-codec 0x1 (telephone-event) to SDP

[Kasterisk*CLI>
[0KReliably Transmitting (no NAT) to 192.168.0.120:5060:
INVITE sip:131@192.168.0.120:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.0.100:5060;branch=z9hG4bK16c0bcb3
Max-Forwards: 70
From: "asterisk" <sip:asterisk@192.168.0.100>;tag=as6ccbb3e2
To: <sip:131@192.168.0.120:5060>
Contact: <sip:asterisk@192.168.0.100:5060>
Call-ID: 413ac42f008eb2ae347d0dae478e950b@192.168.0.100:5060
CSeq: 102 INVITE
User-Agent: Asterisk PBX 11.2.1
Date: Thu, 28 Mar 2013 10:24:16 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
Supported: replaces, timer
Content-Type: application/sdp
Content-Length: 307
v=0
o=root 2084201887 2084201887 IN IP4 192.168.0.100
s=Asterisk PBX 11.2.1
c=IN IP4 192.168.0.100
t=0 0
m=audio 12794 RTP/AVP 0 3 8 101
a=rtpmap:0 PCMU/8000
a=rtpmap:3 GSM/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=silenceSupp:off - - - -
a=ptime:20
a=sendrecv

---
-- Called SIP/131

[Kasterisk*CLI>
[0K
<--- SIP read from UDP:192.168.0.120:5060 --->
SIP/2.0 100 Trying
To: <sip:131@192.168.0.120:5060>
From: "asterisk" <sip:asterisk@192.168.0.100>;tag=as6ccbb3e2
Call-ID: 413ac42f008eb2ae347d0dae478e950b@192.168.0.100:5060
CSeq: 102 INVITE
Via: SIP/2.0/UDP 192.168.0.100:5060;branch=z9hG4bK16c0bcb3
Server: Cisco/SPA504G-7.5.4
Content-Length: 0

<------------->
--- (8 headers 0 lines) ---

[Kasterisk*CLI>
[0K
<--- SIP read from UDP:192.168.0.120:5060 --->
SIP/2.0 180 Ringing
To: <sip:131@192.168.0.120:5060>;tag=14863a7640bb771fi0
From: "asterisk" <sip:asterisk@192.168.0.100>;tag=as6ccbb3e2
Call-ID: 413ac42f008eb2ae347d0dae478e950b@192.168.0.100:5060
CSeq: 102 INVITE
Via: SIP/2.0/UDP 192.168.0.100:5060;branch=z9hG4bK16c0bcb3
Contact: "Sotrudnik1" <sip:131@192.168.0.120:5060>
Server: Cisco/SPA504G-7.5.4
Content-Length: 0

<------------->
--- (9 headers 0 lines) ---
list_route: hop: <sip:131@192.168.0.120:5060>

[Kasterisk*CLI>
[0K -- SIP/131-000001c8 is ringing

[Kasterisk*CLI>
[0K
<--- SIP read from UDP:192.168.0.120:5060 --->
SIP/2.0 200 OK
To: <sip:131@192.168.0.120:5060>;tag=14863a7640bb771fi0
From: "asterisk" <sip:asterisk@192.168.0.100>;tag=as6ccbb3e2
Call-ID: 413ac42f008eb2ae347d0dae478e950b@192.168.0.100:5060
CSeq: 102 INVITE
Via: SIP/2.0/UDP 192.168.0.100:5060;branch=z9hG4bK16c0bcb3
Contact: "Sotrudnik1" <sip:131@192.168.0.120:5060>
Server: Cisco/SPA504G-7.5.4
Content-Length: 214
Allow: ACK, BYE, CANCEL, INFO, INVITE, NOTIFY, OPTIONS, REFER, UPDATE
Supported: replaces
Content-Type: application/sdp

v=0
o=- 377433246 377433246 IN IP4 192.168.0.120
s=-
c=IN IP4 192.168.0.120
t=0 0
m=audio 16538 RTP/AVP 0 101
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=ptime:30
a=sendrecv
<------------->
--- (12 headers 11 lines) ---

[Kasterisk*CLI>
[0KFound RTP audio format 0
Found RTP audio format 101
[Kasterisk*CLI>
[0KFound audio description format PCMU for ID 0
Found audio description format telephone-event for ID 101
[Kasterisk*CLI>
[0KCapabilities: us - (gsm|ulaw|alaw|h263|testlaw), peer - audio=(ulaw)/video=(nothing)/text=(nothing), combined - (ulaw)
Non-codec capabilities (dtmf): us - 0x1 (telephone-event|), peer - 0x1 (telephone-event|), combined - 0x1 (telephone-event|)
[Kasterisk*CLI>
[0KPeer audio RTP is at port 192.168.0.120:16538
[Kasterisk*CLI>
[0Klist_route: hop: <sip:131@192.168.0.120:5060>
[Kasterisk*CLI>
[0Kset_destination: Parsing <sip:131@192.168.0.120:5060> for address/port to send to
[Kasterisk*CLI>
[0Kset_destination: set destination to 192.168.0.120:5060
[Kasterisk*CLI>
[0KTransmitting (no NAT) to 192.168.0.120:5060:
ACK sip:131@192.168.0.120:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.0.100:5060;branch=z9hG4bK3314bbea
Max-Forwards: 70
From: "asterisk" <sip:asterisk@192.168.0.100>;tag=as6ccbb3e2
To: <sip:131@192.168.0.120:5060>;tag=14863a7640bb771fi0
Contact: <sip:asterisk@192.168.0.100:5060>
Call-ID: 413ac42f008eb2ae347d0dae478e950b@192.168.0.100:5060
CSeq: 102 ACK
User-Agent: Asterisk PBX 11.2.1
Content-Length: 0

---

[Kasterisk*CLI>
[0K -- SIP/131-000001c8 answered SIP/212.54.23.111-000001c7
[Kasterisk*CLI>
[0K
<--- SIP read from UDP:192.168.0.120:5060 --->
BYE sip:asterisk@192.168.0.100:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.0.120:5060;branch=z9hG4bK-c7ba4bb1
From: <sip:131@192.168.0.120>;tag=14863a7640bb771fi0
To: "asterisk" <sip:asterisk@192.168.0.100>;tag=as6ccbb3e2
Call-ID: 413ac42f008eb2ae347d0dae478e950b@192.168.0.100:5060
CSeq: 101 BYE
Max-Forwards: 70
User-Agent: Cisco/SPA504G-7.5.4
Content-Length: 0

<------------->
--- (9 headers 0 lines) ---

[Kasterisk*CLI>
[0KSending to 192.168.0.120:5060 (no NAT)
Scheduling destruction of SIP dialog '413ac42f008eb2ae347d0dae478e950b@192.168.0.100:5060' in 32000 ms (Method: BYE)

<--- Transmitting (no NAT) to 192.168.0.120:5060 --->
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.0.120:5060;branch=z9hG4bK-c7ba4bb1;received=192.168.0.120
From: <sip:131@192.168.0.120>;tag=14863a7640bb771fi0
To: "asterisk" <sip:asterisk@192.168.0.100>;tag=as6ccbb3e2
Call-ID: 413ac42f008eb2ae347d0dae478e950b@192.168.0.100:5060
CSeq: 101 BYE
Server: Asterisk PBX 11.2.1
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
Supported: replaces, timer
Content-Length: 0

<------------>
[Kasterisk*CLI>
[0K == Spawn extension (default, 74958401818, 4) exited non-zero on 'SIP/212.54.23.111-000001c7'
Scheduling destruction of SIP dialog '775D39FE-96C811E2-8252EBC0-15D65504@212.54.23.111' in 32000 ms (Method: ACK)
set_destination: Parsing <sip:212.54.23.111:5060> for address/port to send to
[Kasterisk*CLI>
[0Kset_destination: set destination to 212.54.23.111:5060
[Kasterisk*CLI>
[0KReliably Transmitting (NAT) to 212.54.23.111:50811:
BYE sip:212.54.23.111:5060 SIP/2.0
Via: SIP/2.0/UDP 10.4.0.30:5060;branch=z9hG4bK0d7bb8f9;rport
Max-Forwards: 70
From: <sip:74958401818@10.4.0.30>;tag=as5305883d
To: <sip:212.54.23.111>;tag=546ED60-166E
Call-ID: 775D39FE-96C811E2-8252EBC0-15D65504@212.54.23.111
CSeq: 102 BYE
User-Agent: Asterisk PBX 11.2.1
X-Asterisk-HangupCause: Normal Clearing
X-Asterisk-HangupCauseCode: 16
Content-Length: 0

---
[Kasterisk*CLI>
[0K
<--- SIP read from UDP:212.54.23.111:5060 --->
SIP/2.0 200 OK
Via: SIP/2.0/UDP 10.4.0.30:5060;branch=z9hG4bK0d7bb8f9;rport
From: <sip:74958401818@10.4.0.30>;tag=as5305883d
To: <sip:212.54.23.111>;tag=546ED60-166E
Date: Thu, 28 Mar 2013 10:24:20 GMT
Call-ID: 775D39FE-96C811E2-8252EBC0-15D65504@212.54.23.111
Server: Cisco-SIPGateway/IOS-12.x
Content-Length: 0
CSeq: 102 BYE

<------------->
--- (9 headers 0 lines) ---
SIP Response message for INCOMING dialog BYE arrived
Really destroying SIP dialog '775D39FE-96C811E2-8252EBC0-15D65504@212.54.23.111' Method: ACK

Re: Настройка SIP-транка без авторизации

Добавлено: 28 мар 2013, 15:02
ded
Ясно.
1) insecure=port,invite
или
insecure=invite,port

2) пришёл входящий и правильно поймался указанным пиром (но который ни фига не за НАТ!) и проигрался
/var/lib/asterisk/sounds/ru/ivr-hello-dosto.wav
затем пошёл вызов на 131 по имени Sotrudnik1

3) Как будто всё ОК? Если прописана
localnet=192.168.0.0 ??

Re: Настройка SIP-транка без авторизации

Добавлено: 28 мар 2013, 15:33
Otkrick
localnet=192.168.0.0/255.255.255.0
После правки транка на "insecure=invite,port", звонки начали попадать в нужный контекст.
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
[incoming_prov2]
exten => s,1,Answer()
exten => s,n,Background(ivr-hello-dosto.wav)
exten => s,n,Background(ivr-enter-number.wav)
exten => s,n(Entering),WaitExten(5)
exten => _1XX,1,Macro(getcall,${EXTEN})
exten => i,1,Playback(ivr-invalid-exten.wav)
exten => i,n,Goto(incoming,s,Entering)
exten => t,1,Playback(ivr-goto-secretary.wav)
exten => t,n,Dial(SIP/131) ; - Секретарь
exten => t,n,Hangup()
* звонки нормально попадают в 's', IVR работает в штатном режиме
Но с другого провайдера пишет, что '74958401818' не найден в контексте 'incoming_prov1'. Тогда я указываю явно:
[incoming_prov1]
exten => 74958401818,1,Answer()
exten => 74958401818,n,Background(ivr-hello-dosto.wav)
exten => 74958401818,n,Background(ivr-enter-number.wav)
exten => 74958401818,n,WaitExten(5)
exten => 74958401818,n,NoOp(Exten=${EXTEN})
exten => 74958401818,n,Dial(SIP/${EXTEN},,tTr)
exten => 74958401818,n,HangUp()
include => local
Но донабор уже не работает, в ${EXTEN} хранит 74958401818. Пробовал функцию Read() - тоже не понимает нажатия.

Re: Настройка SIP-транка без авторизации

Добавлено: 28 мар 2013, 17:38
Otkrick
Методом проб и ошибок подобрал спасительные строчки, а именно:

Код: Выделить всё

relaxdtmf=yes
dtmfmode=RFC2833 ; без relaxdtmf не помогает
Контексты переписал немного

Код: Выделить всё

[incoming_prov1]
exten => 74958401818,1,Goto(incoming,s,1)

[incoming_prov2]
exten => 74996379858,1,Goto(incoming,s,1)

[incoming]
exten => s,1,Answer()
exten => s,n,Background(ivr-hello-dosto.wav)
exten => s,n,Background(ivr-enter-number.wav)
exten => s,n(Entering),WaitExten(5)
exten => _1XX,1,Macro(getcall,${EXTEN})
exten => i,1,Playback(ivr-invalid-exten.wav)
exten => i,n,Goto(incoming,s,Entering)
exten => t,1,Playback(ivr-goto-secretary.wav)
exten => t,n,Goto(secretary)
exten => t,n,Hangup()

Re: Настройка SIP-транка без авторизации

Добавлено: 28 мар 2013, 17:42
ded
exten => s,1 используется в основном в макросах. Если было бы не [incoming] а [macro-incoming] и тогда не Goto(incoming,s,1) а Macro(incoming,как-то там..
Но для вас и так нормально.

Re: Настройка SIP-транка без авторизации

Добавлено: 28 мар 2013, 17:54
Otkrick
incoming здесь задумана как подпрограмма, только вызов не через Macro, а по Goto. Вы бы использовали Macro?

Re: Настройка SIP-транка без авторизации

Добавлено: 28 мар 2013, 17:57
ded
Большого значения не имеет в этом случае. Если Вы знаете разницу между вызовами макроса и переходом по Goto. Если задумано продолжение выполнения программы после вызова подпрограммы incoming, то нужен макрос. Но судя по [incoming_prov1] вам вообще не нужны два разных контекста для входящих
[incoming_prov1] и [incoming_prov2]
Для обоих провайдеров тогда просто нужен один контекст [incoming]

Re: Настройка SIP-транка без авторизации

Добавлено: 28 мар 2013, 18:02
Otkrick
Macro отличается тем, что после выполнения инструкций возвращается в точку вызова; а Goto переходит без возврата.

Ага, спасибо, разобрался. Разделение на два контекста из эстетических соображений; будет третий пров, а на втором нужно дополнительное сообщение повесить. В общем, так удобнее и нагляднее.