On 14/05/2020 08:10, John Hughes wrote:
I am having a problem with one of my callers who is using either g729
or alaw. I can do alaw but not g729 so asterisk should negotiate alaw
right? In fact from the sip debug it looks like it does, but then I
get the dreaded "channel.c:5630 set_format: Unable to find a codec
translation path: (g729) -> (alaw)" and the call hangs up. Why?
Last minute thought: Is it possible that the caller is sending g729 in
RTP even though the SIP negotiation clearly chooses alaw? Maybe I
need some RTP debugging.
And in fact that is exactly what's happening.
<--- SIP read from UDP:SUPPLIER:5060 --->
INVITEsip:LOCAL@ASTERISK:5060 SIP/2.0
Via: SIP/2.0/UDP SUPPLIER:5060;branch=z9hG4bK02B5ab9c8e55f864da9
From:<sip:REMOTE@SUPPLIER>;tag=gK02498cb1
To:<sip:LOCAL@ASTERISK>
Call-ID: 205665777_90679951@SUPPLIER
CSeq: 539098 INVITE
Max-Forwards: 70
Allow:
INVITE,ACK,CANCEL,BYE,REGISTER,REFER,INFO,SUBSCRIBE,NOTIFY,PRACK,UPDATE,OPTIONS,MESSAGE,PUBLISH
Accept: application/sdp, application/isup, application/dtmf,
application/dtmf-relay, multipart/mixed
Contact:<sip:REMOTE@SUPPLIER:5060>
P-Asserted-Identity:<sip:REMOTE@REMOTE-SUPPLIER;user=phone>
Supported: timer,100rel,precondition
Session-Expires: 1800
Min-SE: 90
Content-Length: 282
Content-Disposition: session; handling=required
Content-Type: application/sdp
v=0
o=Sonus_UAC 176880 320591 IN IP4 SUPPLIER
s=SIP Media Capabilities
c=IN IP4 213.41.124.6
t=0 0
m=audio 8526 RTP/AVP 18 8 101
*a=rtpmap:18 G729/8000*
a=fmtp:18 annexb=no
*a=rtpmap:8 PCMA/8000*
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=sendrecv
a=ptime:20
<------------->
So he says he wants g729 or alaw
Found RTP audio format 18
Found RTP audio format 8
Found RTP audio format 101
Found audio description format G729 for ID 18
Found audio description format PCMA for ID 8
Found audio description format telephone-event for ID 101
Capabilities: us - (alaw|ulaw|gsm), peer -
audio=(alaw|g729)/video=(nothing)/text=(nothing), combined - (*alaw*)
Non-codec capabilities (dtmf): us - 0x1 (telephone-event|), peer - 0x1
(telephone-event|), combined - 0x1 (telephone-event|)
And asterisk calculates that the common codecs are just alaw,
So asterisk says: "let's do alaw":
<--- Reliably Transmitting (no NAT) to SUPPLIER:5060 --->
SIP/2.0 200 OK
Via: SIP/2.0/UDP
SUPPLIER:5060;branch=z9hG4bK02B5ab9c8e55f864da9;received=SUPPLIER
From:<sip:REMOTE@SUPPLIER>;tag=gK02498cb1
To:<sip:LOCAL@ASTERISK>;tag=as4502927f
Call-ID: 205665777_90679951@SUPPLIER
CSeq: 539098 INVITE
Server: Asterisk PBX 13.14.1~dfsg-2+deb9u4
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO,
PUBLISH, MESSAGE
Supported: replaces, timer
Session-Expires: 1800;refresher=uas
Contact:<sip:LOCAL@ASTERISK:5060>
Content-Type: application/sdp
Require: timer
Content-Length: 264
v=0
o=root 227409966 227409966 IN IP4 ASTERISK
s=Asterisk PBX 13.14.1~dfsg-2+deb9u4
c=IN IP4 ASTERISK
t=0 0
m=audio 13948 RTP/AVP 8 101
*a=rtpmap:8 PCMA/8000*
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ptime:20
a=maxptime:150
a=sendrecv
<------------>
And when I look at the RTP debugging I see the data from the remote is:
Got RTP packet from xx.xx.xx.xx:50644 (type 18, seq 001338, ts 610458,
len 000020)
AAArgh! Type 18 is g729. Why on earth is the remote sending me g729
when I clearly said the only thing I could do was alaw.
Is this legal?
Is the other side broken?
--
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
Check out the new Asterisk community forum at: https://community.asterisk.org/
New to Asterisk? Start here:
https://wiki.asterisk.org/wiki/display/AST/Getting+Started
asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-users