[asterisk-bugs] [JIRA] (ASTERISK-25676) native_rtp Lets through Codec not in the Allowed List instead of Transcoding

Peter Sokolov (JIRA) noreply at issues.asterisk.org
Sat Jan 9 17:06:33 CST 2016


Peter Sokolov created ASTERISK-25676:
----------------------------------------

             Summary: native_rtp Lets through Codec not in the Allowed List instead of Transcoding
                 Key: ASTERISK-25676
                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-25676
             Project: Asterisk
          Issue Type: Bug
      Security Level: None
    Affects Versions: 13.7.0
         Environment: Debian 8.2
            Reporter: Peter Sokolov


The call originating SIP device only has g722 in the list of allowed codecs and directmedia=no set in its configuration. On a call to SIP destination that replies with alaw (183 and OK), Asterisk 13 will correctly transcode alaw to g722 during the early media, however as soon as the connection is established (OK) and the bridge switches to native_rtp, it will simply let through the alaw packets.

To reproduce, configure like below. 333 is a SIP phone (FritzBox in my case) that supports g722 and alaw. OutTrunk is a SIP trunk provider that does not support g722 for calls out of its network (it replies with alaw only in 183 and OK SDP). At least one peer has to be set to directmedia=no in a way that RTP always flows via Asterisk.

Make a call from peer 333 to a number that is routed through OutTrunk. When OutTrunk sends 183 with only alaw in SDP, you will see that Asterisk sends 183 with g722 in SDP to peer 333 and will transcode the alaw early media to g722. As soon as the connection is established and OutTrunk sends OK with only alaw in SDP, you will see that Asterisk sends OK with g722 in SDP to peer 333, however native_rtp bridge will let through the alaw media to the peer 333 even though alaw is not in the list of allowed codecs for the peer 333.

{code}
sip.conf:
[333]
type=friend
context=users
subscribecontext=users
secret=donttell
language=de
mailbox=333 at default
host=dynamic
dtmfmode=rfc2833
defaultuser=333
callerid=333 <00333>
restrictcid=no
fromdomain=test.tst
directmedia=no
nat=no
insecure=port
call-limit=5
allowsubscribe=yes
disallow=all
allow=g722

[OutTrunk]
type=peer
fromdomain=test2.tst
defaultuser=user1
secret=donttell
host=test2.tst
context=users
directmedia=yes
qualify=no
insecure=port,invite
promiscredir=no
dtmfmode=rfc2833
nat=no
disallow=all
allow=g722,alaw
callgroup=1
t38pt_udptl=no
t38pt_rtp=no
t38pt_tcp=no

extensions.conf:
[users]
exten => 123,1,NoOp
exten => 123,n,Set(CALLERID(number)=00333)
exten => 123,n,Set(CALLERID(name)=${CALLERID(number):2})
exten => 123,n,Set(CALLERID(number)=${CALLERID(number):2})
exten => 123,n,Dial(SIP/${EXTEN}@OutTrunk,60,)
exten => 123,n,Hangup
{code}



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list