При этом, с той стороны звонящий всё прекрасно слышит.
Естественно, со своей стороны ничего не менялось ни в ПО ни в железе. И как обычно пров тоже вины не признаёт. Я же уже голову сломал, от того что же это может быть.
Дано:
Asterisk SVN-branch-1.4-r320393M,
От провайдера получаем городской номер по SIP. C их стороны с РОстелекомом, они подключены по E1.
Asterisk находится на хосте за НАТом линуховым. Сделан проброс дял хоста прова:
Код: Выделить всё
$IPT -t nat -A PREROUTING --dst $ATK_IP -i $ATK_IF --src $VOIP_TS_IP -p tcp --dport 5060 -j DNAT --to-destination $APP_IP # fwd SIP Server
$IPT -A FORWARD --dst $APP_IP --src $VOIP_TS_IP -p tcp --dport 5060 -j ACCEPT
$IPT -t nat -A PREROUTING --dst $ATK_IP -i $ATK_IF --src $VOIP_TS_IP -p tcp --dport 10000:20000 -j DNAT --to-destination $APP_IP # fwd SIP Server
$IPT -A FORWARD --dst $APP_IP --src $VOIP_TS_IP -p tcp --dport 10000:20000 -j ACCEPT
Первым делом принудительно везде проставил кодек a-law как и у пира прова, что бы избежать преобразований, но фокус не удался, трансляций нет, а глюк есть.
Текущие конфиг sip.conf:
Код: Выделить всё
[PROV]
type=friend
context=incoming
dtmfmode=rfc2833
call-limit=100
host=X.X.X.X
nat=no
canreinvite=no
qualify=yes
disallow=all
allow=alaw
Код: Выделить всё
server1*CLI> sip show peer PROV
* Name : PROV
Secret : <Not set>
MD5Secret : <Not set>
Context : incoming
Subscr.Cont. : <Not set>
Language :
AMA flags : Unknown
Transfer mode: open
CallingPres : Presentation Allowed, Not Screened
Callgroup :
Pickupgroup :
Mailbox :
VM Extension : asterisk
LastMsgsSent : 32767/65535
Call limit : 100
Dynamic : No
Callerid : "" <>
MaxCallBR : 384 kbps
Expire : -1
Insecure : no
Nat : RFC3581
ACL : No
T38 pt UDPTL : No
CanReinvite : No
PromiscRedir : No
User=Phone : No
Video Support: No
Trust RPID : No
Send RPID : No
Subscriptions: Yes
Overlap dial : Yes
Forward Loop : Yes
DTMFmode : rfc2833
LastMsg : 0
ToHost : X.X.X.X
Addr->IP : X.X.X.X Port 5060
Defaddr->IP : 0.0.0.0 Port 0
Def. Username:
SIP Options : 100rel
Codecs : 0x8 (alaw)
Codec Order : (alaw:20)
Auto-Framing: No
Status : OK (10 ms)
Useragent :
Reg. Contact :
Код: Выделить всё
[user](!)
type=friend
context=outgoing
dtmfmode=rfc2833
call-limit=2
host=dynamic
nat=no
canreinvite=no
qualify=yes
disallow=all
;allow=ulaw
allow=alaw
Код: Выделить всё
[Jan 29 10:54:33] VERBOSE[24535] logger.c:
<--- SIP read from X.X.X.X:5060 --->
INVITE sip:345678@192.168.6.6:5060 SIP/2.0
Via: SIP/2.0/UDP X.X.X.X:5060;branch=z9hG4bK_a3Kr_1390964374X003842E9
To: "345678"<sip:345678@192.168.6.6:5060>
From: "9134444444"<sip:9134444444@X.X.X.X:5060>;tag=13909643740027D410
Contact: <sip:9134444444@X.X.X.X:5060>
Call-ID: 52E86E96DC2A900138F73_X.X.X.X
CSeq: 100 INVITE
Max-Forwards: 70
Content-Type: application/sdp
Content-Length: 268
Allow: INVITE,CANCEL,ACK,BYE,INFO,PRACK,UPDATE,NOTIFY,MESSAGE,REFER,OPTIONS
Supported: 100rel
Category: 10
v=0
o=protei 1390968770 1390968770 IN IP4 X.X.X.X
s=protei
c=IN IP4 X.X.X.X
t=0 0
m=audio 23848 RTP/AVP 8 18 101
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=ptime:30
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=no
a=X-itc:83.234.37.149/34590
<------------->
[Jan 29 10:54:33] VERBOSE[24535] logger.c: --- (13 headers 12 lines) ---
[Jan 29 10:54:33] VERBOSE[24535] logger.c: Sending to X.X.X.X : 5060 (no NAT)
[Jan 29 10:54:33] VERBOSE[24535] logger.c: Using INVITE request as basis request - 52E86E96DC2A900138F73_X.X.X.X
[Jan 29 10:54:33] VERBOSE[24535] logger.c: Found peer 'PROV'
[Jan 29 10:54:33] VERBOSE[24535] logger.c: Found RTP audio format 8
[Jan 29 10:54:33] VERBOSE[24535] logger.c: Found RTP audio format 18
[Jan 29 10:54:33] VERBOSE[24535] logger.c: Found RTP audio format 101
[Jan 29 10:54:33] VERBOSE[24535] logger.c: Found audio description format telephone-event for ID 101
[Jan 29 10:54:33] VERBOSE[24535] logger.c: Found audio description format G729 for ID 18
[Jan 29 10:54:33] VERBOSE[24535] logger.c: Capabilities: us - 0x8 (alaw), peer - audio=0x108 (alaw|g729)/video=0x0 (nothing), combined - 0x8 (alaw)
[Jan 29 10:54:33] VERBOSE[24535] logger.c: Non-codec capabilities (dtmf): us - 0x1 (telephone-event), peer - 0x1 (telephone-event), combined - 0x1 (telephone-event)
[Jan 29 10:54:33] DEBUG[24535] chan_sip.c: Our T38 capability = (0), peer T38 capability (0), joint T38 capability (0)
[Jan 29 10:54:33] VERBOSE[24535] logger.c: Peer audio RTP is at port X.X.X.X:23848
[Jan 29 10:54:33] DEBUG[24535] chan_sip.c: Call from peer 'PROV' is 1 out of 100
[Jan 29 10:54:33] VERBOSE[24535] logger.c: Looking for 345678 in incoming (domain 192.168.6.6)
[Jan 29 10:54:33] VERBOSE[24535] logger.c: list_route: hop: <sip:9134444444@X.X.X.X:5060>
[Jan 29 10:54:33] VERBOSE[24535] logger.c:
<--- Transmitting (no NAT) to X.X.X.X:5060 --->
SIP/2.0 100 Trying
Via: SIP/2.0/UDP X.X.X.X:5060;branch=z9hG4bK_a3Kr_1390964374X003842E9;received=X.X.X.X
From: "9134444444"<sip:9134444444@X.X.X.X:5060>;tag=13909643740027D410
To: "345678"<sip:345678@192.168.6.6:5060>
Call-ID: 52E86E96DC2A900138F73_X.X.X.X
CSeq: 100 INVITE
User-Agent: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO
Supported: replaces
Contact: <sip:345678@192.168.6.6>
Content-Length: 0
<------------>
[Jan 29 10:54:34] VERBOSE[27352] logger.c: Audio is at 192.168.6.6 port 19922
[Jan 29 10:54:34] VERBOSE[27352] logger.c: Adding codec 0x8 (alaw) to SDP
[Jan 29 10:54:34] VERBOSE[27352] logger.c: Adding non-codec 0x1 (telephone-event) to SDP
[Jan 29 10:54:34] VERBOSE[27352] logger.c:
<--- Reliably Transmitting (no NAT) to X.X.X.X:5060 --->
SIP/2.0 200 OK
Via: SIP/2.0/UDP X.X.X.X:5060;branch=z9hG4bK_a3Kr_1390964374X003842E9;received=X.X.X.X
From: "9134444444"<sip:9134444444@X.X.X.X:5060>;tag=13909643740027D410
To: "345678"<sip:345678@192.168.6.6:5060>;tag=as4c59f6de
Call-ID: 52E86E96DC2A900138F73_X.X.X.X
CSeq: 100 INVITE
User-Agent: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO
Supported: replaces
Contact: <sip:345678@192.168.6.6>
Content-Type: application/sdp
Content-Length: 244
v=0
o=root 24522 24522 IN IP4 192.168.6.6
s=session
c=IN IP4 192.168.6.6
t=0 0
m=audio 19922 RTP/AVP 8 101
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=silenceSupp:off - - - -
a=ptime:20
a=sendrecv
<------------>
[Jan 29 10:54:34] VERBOSE[27352] logger.c: -- <SIP/PROV-00000822> Playing '/var/www/wav/wav/ivr/greetings' (language 'ru')
[Jan 29 10:54:34] VERBOSE[24535] logger.c:
<--- SIP read from X.X.X.X:5060 --->
ACK sip:345678@192.168.6.6:5060 SIP/2.0
Via: SIP/2.0/UDP X.X.X.X:5060;branch=z9hG4bK_a3Kr_1390964374X003842E9
To: <sip:345678@192.168.6.6:5060>;tag=as4c59f6de
From: "9134444444"<sip:9134444444@X.X.X.X:5060>;tag=13909643740027D410
Contact: <sip:9134444444@X.X.X.X:5060>
Call-ID: 52E86E96DC2A900138F73_X.X.X.X
CSeq: 100 ACK
Max-Forwards: 70
Content-Length: 0
<------------->
[Jan 29 10:54:34] VERBOSE[24535] logger.c: --- (9 headers 0 lines) ---
[Jan 29 10:54:35] VERBOSE[24535] logger.c: Reliably Transmitting (no NAT) to X.X.X.X:5060:
[Jan 29 10:54:39] VERBOSE[27352] logger.c: -- Started music on hold, class 'default', on SIP/PROV-00000822
[Jan 29 10:54:41] VERBOSE[27352] logger.c: -- SIP/102-00000823 answered SIP/PROV-00000822
[Jan 29 10:54:41] VERBOSE[27352] logger.c: -- <SIP/102-00000823> Playing 'digits/2' (language 'en')
[Jan 29 10:54:42] VERBOSE[27352] logger.c: -- Stopped music on hold on SIP/PROV-00000822
[Jan 29 10:54:42] VERBOSE[27366] logger.c: == Begin MixMonitor Recording SIP/PROV-00000822
[Jan 29 10:54:51] VERBOSE[27352] logger.c: -- Executing [h@macro-queue:1] Macro("SIP/PROV-00000822", "hangup") in new stack
[Jan 29 10:54:51] VERBOSE[27352] logger.c: -- Executing [s@macro-hangup:1] NoOp("SIP/PROV-00000822", "MEMBERINTERFACE=SIP/102") in new stack
[Jan 29 10:54:51] VERBOSE[27352] logger.c: -- Executing [s@macro-hangup:2] NoOp("SIP/PROV-00000822", "MEMBERNAME=Agent/") in new stack
[Jan 29 10:54:51] VERBOSE[27352] logger.c: -- Executing [s@macro-hangup:3] Set("SIP/PROV-00000822", "CDR(accountcode)=""") in new stack
[Jan 29 10:54:51] VERBOSE[27352] logger.c: -- Executing [s@macro-hangup:4] NoOp("SIP/PROV-00000822", "HANGUP 89134444444 STATUS: OK") in new stack
[Jan 29 10:54:51] VERBOSE[27352] logger.c: -- Executing [s@macro-hangup:5] NoOp("SIP/PROV-00000822", "CALLERSTATUS=") in new stack
[Jan 29 10:54:51] VERBOSE[27352] logger.c: -- Executing [s@macro-hangup:6] GotoIf("SIP/PROV-00000822", "0?7:8") in new stack
[Jan 29 10:54:51] VERBOSE[27352] logger.c: -- Goto (macro-hangup,s,8)
[Jan 29 10:54:51] VERBOSE[27352] logger.c: -- Executing [s@macro-hangup:8] NoOp("SIP/PROV-00000822", "Finish if-hangup-68") in new stack
[Jan 29 10:54:51] VERBOSE[27352] logger.c: -- Executing [s@macro-hangup:9] GotoIf("SIP/PROV-00000822", "0?10:16") in new stack
[Jan 29 10:54:51] VERBOSE[27352] logger.c: -- Goto (macro-hangup,s,16)
[Jan 29 10:54:51] VERBOSE[27352] logger.c: -- Executing [s@macro-hangup:16] NoOp("SIP/PROV-00000822", "Finish if-hangup-69") in new stack
[Jan 29 10:54:51] DEBUG[27352] chan_sip.c: Call to peer '102' removed from call limit 2
[Jan 29 10:54:51] VERBOSE[27352] logger.c: == Spawn extension (macro-queue, s, 5) exited non-zero on 'SIP/PROV-00000822' in macro 'queue'
[Jan 29 10:54:51] VERBOSE[27352] logger.c: == Spawn extension (macro-aster-queue, s, 77) exited non-zero on 'SIP/PROV-00000822' in macro 'aster-queue'
[Jan 29 10:54:51] VERBOSE[27352] logger.c: == Spawn extension (incoming, 345678, 3) exited non-zero on 'SIP/PROV-00000822'
[Jan 29 10:54:51] VERBOSE[27352] logger.c: Scheduling destruction of SIP dialog '52E86E96DC2A900138F73_X.X.X.X' in 6400 ms (Method: ACK)
[Jan 29 10:54:51] DEBUG[27352] chan_sip.c: Strict routing enforced for session 52E86E96DC2A900138F73_X.X.X.X
[Jan 29 10:54:51] VERBOSE[27352] logger.c: set_destination: Parsing <sip:9134444444@X.X.X.X:5060> for address/port to send to
[Jan 29 10:54:51] VERBOSE[27352] logger.c: set_destination: set destination to X.X.X.X, port 5060
[Jan 29 10:54:51] VERBOSE[27352] logger.c: Reliably Transmitting (no NAT) to X.X.X.X:5060:
BYE sip:9134444444@X.X.X.X:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.6.6:5060;branch=z9hG4bK41e17404;rport
From: "345678"<sip:345678@192.168.6.6:5060>;tag=as4c59f6de
To: "9134444444"<sip:9134444444@X.X.X.X:5060>;tag=13909643740027D410
Call-ID: 52E86E96DC2A900138F73_X.X.X.X
CSeq: 102 BYE
User-Agent: Asterisk PBX
Max-Forwards: 70
X-Asterisk-HangupCause: Unknown
X-Asterisk-HangupCauseCode: 0
Content-Length: 0
---
[Jan 29 10:54:51] VERBOSE[27366] logger.c: == MixMonitor close filestream
[Jan 29 10:54:51] VERBOSE[27366] logger.c: == End MixMonitor Recording SIP/PROV-00000822
[Jan 29 10:54:51] VERBOSE[24535] logger.c:
<--- SIP read from X.X.X.X:5060 --->
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.6.6:5060;received=192.168.6.6;branch=z9hG4bK41e17404;rport=5060
To: <sip:9134444444@X.X.X.X:5060>;tag=13909643740027D410
From: <sip:345678@192.168.6.6:5060>;tag=as4c59f6de
Call-ID: 52E86E96DC2A900138F73_X.X.X.X
CSeq: 102 BYE
Content-Length: 0
<------------->
[Jan 29 10:54:51] VERBOSE[24535] logger.c: --- (7 headers 0 lines) ---
[Jan 29 10:54:51] VERBOSE[24535] logger.c: SIP Response message for INCOMING dialog BYE arrived
Сам склоняюсь, что косяк у прова. Но решил посоветоваться.