Unknown RTP codec 126

Hi,

I install asterisk-1.4. I use * on my LAN only with softphone X-Lite.
When we talking with users asterisk notice with following message.

[Feb 23 19:02:16] NOTICE[5412]: rtp.c:1245 ast_rtp_read: Unknown RTP codec 126 received from ‘172.16.25.3’
[Feb 23 19:02:27] NOTICE[5412]: rtp.c:1245 ast_rtp_read: Unknown RTP codec 126 received from ‘172.16.0.4’

Please help me!

are these host addresses known to you ? are the the PC’s running X-Lite or other devices on the network ?

i think i saw a bug in the tracker for 1.4 about it accepting RTP streams from “unknown” sources, might be worth checking out. bugs.digium.com/

I suppose the simplest way is to catch the SDP content from X-Lite and find the meaning of ‘126’.

Only PCs run X-Lite. No other devices on network. Actually this host reside behind of NAT. And for each PCs behind of NAT assigned IP addresse on NAT.

How can I catch SDP content from X-Lite

enable SIP debug in Asterisk or use tcpdump or ethereal on either computer - Asterisk or X-Lite

Hi,

Look it

[Feb 28 17:39:02] NOTICE[6225]: rtp.c:1245 ast_rtp_read: Unknown RTP codec 126 received from ‘172.16.0.4’
[Feb 28 17:39:12] NOTICE[6225]: rtp.c:1245 ast_rtp_read: Unknown RTP codec 126 received from '172.16.0.4’
rtr1*CLI> sip show channels
Peer User/ANR Call ID Seq (Tx/Rx) Form Hold Last Message
172.16.0.4 6001 7e5900e1787 00102/00000 alaw No Tx: ACK
192.168.1.8 6000 2550ba1ab31 00101/00002 unkn No Rx: ACK
2 active SIP channels

192.168.1.8 is caller. Codec of caller is Uknown. May be reason of “Uknown RTP codec 126” message is this.

These messages from CLI>sip set debug

Found RTP audio format 8
Found RTP audio format 101
Found RTP video format 115
Found RTP video format 34
Found RTP video format 125
Peer audio RTP is at port 192.168.1.8:28330
Found description format telephone-event for ID 101
Found description format H263-1998 for ID 115
Found description format H263 for ID 34
Found description format H264 for ID 125
Capabilities: us - 0x200008 (alaw|h264), peer - audio=0x380008 (alaw|h263|h263p|h264)/video=0x380000 (h263|h263p|h264), combined - 0x200008 (alaw|h264)
Non-codec capabilities (dtmf): us - 0x1 (telephone-event), peer - 0x1 (telephone-event), combined - 0x1 (telephone-event)
Peer audio RTP is at port 192.168.1.8:28330
Peer video RTP is at port 192.168.1.8:51782
list_route: hop: sip:6000@172.16.25.3:11250;rinstance=ab25a8d88989b306
set_destination: Parsing sip:6000@172.16.25.3:11250;rinstance=ab25a8d88989b306 for address/port to send to
set_destination: set destination to 172.16.25.3, port 11250
Transmitting (NAT) to 172.16.25.3:11250:
ACK sip:6000@172.16.25.3:11250;rinstance=ab25a8d88989b306 SIP/2.0
Via: SIP/2.0/UDP 172.16.0.5:5060;branch=z9hG4bK15fd753c;rport
From: “vipc7” sip:6001@172.16.0.5;tag=as6987d298
To: sip:6000@172.16.25.3:11250;rinstance=ab25a8d88989b306;tag=ad4e6203
Contact: sip:6001@172.16.0.5
Call-ID: 24287ad06d98d3d16bdf81ec3e80150b@172.16.0.5
CSeq: 102 ACK
User-Agent: Asterisk PBX
Max-Forwards: 70
Content-Length: 0

Although it’s not visible from your debug output, the magic number 126 may appear in someting like this:

a=rtpmap:126 x-pro-encrypted/8000

or this:

a=rtpmap:126 X-H264

or may be something else. In the 1st example it’s encryption-related, in the 2-nd - video-conferencing. Look through related parameters in your X-Lite configuration. To find the real cause you better capture some data on your X-Lite PC using Ethereal. Anyway, it’s not a problem in Asterisk, you may simply ignore this message.

[quote=“AndrewZ”]Although it’s not visible from your debug output, the magic number 126 may appear in someting like this:

a=rtpmap:126 x-pro-encrypted/8000

or this:

a=rtpmap:126 X-H264

or may be something else. In the 1st example it’s encryption-related, in the 2-nd - video-conferencing. Look through related parameters in your X-Lite configuration. To find the real cause you better capture some data on your X-Lite PC using Ethereal. Anyway, it’s not a problem in Asterisk, you may simply ignore this message.[/quote]

There is no such entry. Look at this:

v=0
o=- 7 2 IN IP4 192.168.1.8
s=CounterPath eyeBeam 1.5
c=IN IP4 192.168.1.8
t=0 0
m=audio 47196 RTP/AVP 8 101
a=fmtp:101 0-15
a=rtpmap:101 telephone-event/8000
a=sendrecv
a=x-rtp-session-id:617FE13D0A9D44B0A01FFFF12C3AC45E
m=video 63310 RTP/AVP 115 34 125
a=fmtp:115 QCIF=1 MAXBR=4520
a=fmtp:34 QCIF=1 MAXBR=4520
a=fmtp:125 profile-level-id=42e015; max-br=4000; max-mbps=19800
a=rtpmap:115 H263-1998/90000
a=rtpmap:34 H263/90000
a=rtpmap:125 H264/90000
a=sendrecv
a=x-rtp-session-id:8E372E5431D94671956DDA5B9AC5ED26

… but initially you asked about X-Lite, right? The same problem here?

[quote=“AndrewZ”][quote=“Rustam”]
s=CounterPath eyeBeam 1.5
[/quote]

… but initially you asked about X-Lite, right? The same problem here?[/quote]

Exactly. Same problem occured.

ok if you open the file /usr/src/asterisk/rtp.c

down around line 700 or so ina stock asterisk 1.2.15 file you should see the list of codec and the number 126 if it is not there you can create it and rebuild or just use a different codec

nano +680 /usr/src/asterisk/rtp.c

[3] = {1, AST_FORMAT_GSM},
[4] = {1, AST_FORMAT_G723_1},
[5] = {1, AST_FORMAT_ADPCM}, /* 8 kHz /
[6] = {1, AST_FORMAT_ADPCM}, /
16 kHz /
[7] = {1, AST_FORMAT_LPC10},
[8] = {1, AST_FORMAT_ALAW},
[10] = {1, AST_FORMAT_SLINEAR}, /
2 channels /
[11] = {1, AST_FORMAT_SLINEAR}, /
1 channel /
[13] = {0, AST_RTP_CN},
[16] = {1, AST_FORMAT_ADPCM}, /
11.025 kHz /
[17] = {1, AST_FORMAT_ADPCM}, /
22.050 kHz /
[18] = {1, AST_FORMAT_G729A},
[19] = {0, AST_RTP_CN}, /
Also used for CN /
[26] = {1, AST_FORMAT_JPEG},
[31] = {1, AST_FORMAT_H261},
[34] = {1, AST_FORMAT_H263},
[103] = {1, AST_FORMAT_H263_PLUS},
[97] = {1, AST_FORMAT_ILBC},
[101] = {0, AST_RTP_DTMF},
[110] = {1, AST_FORMAT_SPEEX},
[111] = {1, AST_FORMAT_G726},
[121] = {0, AST_RTP_CISCO_DTMF}, /
Must be type 121 */
};

[quote=“bubba”]ok if you open the file /usr/src/asterisk/rtp.c

down around line 700 or so ina stock asterisk 1.2.15 file you should see the list of codec and the number 126 if it is not there you can create it and rebuild or just use a different codec

nano +680 /usr/src/asterisk/rtp.c

[3] = {1, AST_FORMAT_GSM},
[4] = {1, AST_FORMAT_G723_1},
[5] = {1, AST_FORMAT_ADPCM}, /* 8 kHz /
[6] = {1, AST_FORMAT_ADPCM}, /
16 kHz /
[7] = {1, AST_FORMAT_LPC10},
[8] = {1, AST_FORMAT_ALAW},
[10] = {1, AST_FORMAT_SLINEAR}, /
2 channels /
[11] = {1, AST_FORMAT_SLINEAR}, /
1 channel /
[13] = {0, AST_RTP_CN},
[16] = {1, AST_FORMAT_ADPCM}, /
11.025 kHz /
[17] = {1, AST_FORMAT_ADPCM}, /
22.050 kHz /
[18] = {1, AST_FORMAT_G729A},
[19] = {0, AST_RTP_CN}, /
Also used for CN /
[26] = {1, AST_FORMAT_JPEG},
[31] = {1, AST_FORMAT_H261},
[34] = {1, AST_FORMAT_H263},
[103] = {1, AST_FORMAT_H263_PLUS},
[97] = {1, AST_FORMAT_ILBC},
[101] = {0, AST_RTP_DTMF},
[110] = {1, AST_FORMAT_SPEEX},
[111] = {1, AST_FORMAT_G726},
[121] = {0, AST_RTP_CISCO_DTMF}, /
Must be type 121 */
};[/quote]

Do you know what codec has 126 number?

No I have no idea what it would be…
But if you chnage the codec used you may can track it down

How about debug it???

Asterisk CLI rtp debug… use rtp no debug to stop it

Hi everyone
Today I test Asterisk and softphones X-Lite, eyeBeam and PortSIP again.

Test 1 - X-Lite and eyeBeam.

When 2 softphones initiate call with each other without video call, I mean only talking then there is no “Unknown RTP codec 126” message. When 2 softphones initiate call with video then “Unknown RTP codec 126” message is occur from both softphone side. Message look like this

[Mar 5 11:22:24] NOTICE[21934]: rtp.c:1245 ast_rtp_read: Unknown RTP codec 126 received from ‘172.16.25.3’
[Mar 5 11:22:24] NOTICE[21934]: rtp.c:1245 ast_rtp_read: Unknown RTP codec 126 received from ‘172.16.25.3’
[Mar 5 11:22:24] NOTICE[21934]: rtp.c:1245 ast_rtp_read: Unknown RTP codec 126 received from ‘192.168.1.7’
[Mar 5 11:22:24] NOTICE[21934]: rtp.c:1245 ast_rtp_read: Unknown RTP codec 126 received from ‘192.168.1.7’

Also when 2 softphones initiate audio calling only is everything Ok, But when one of them push Hold button “Uknown RTP codec 126” is occur. And look like this

[Mar 5 11:38:42] NOTICE[22097]: rtp.c:1245 ast_rtp_read: Unknown RTP codec 126 received from ‘172.16.25.3’

Test 2 - PortSIP

Also I test PortSIP soft phone. I try to use Audio and Video. There is no such message with PortSIP. But when I use PortSIP on Asterisk CLI following message appear:

[Mar 5 11:47:57] WARNING[22072]: chan_sip.c:12177 handle_response: Remote host can’t match request NOTIFY to call ‘352fd2596effbdf005f1abb67751e1d7@172.16.0.5’. Giving up.
[Mar 5 11:48:19] WARNING[22072]: chan_sip.c:12177 handle_response: Remote host can’t match request NOTIFY to call ‘36aeb528288ae42f601867fc77c344a3@172.16.0.5’. Giving up.

What do you think all about it.