Iax Packet Loss Again.

Home » Asterisk Users » Iax Packet Loss Again.
Asterisk Users 1 Comment

I saw this thread which is very similar to my issue, though I cannot solve mine with iptables.

http://lists.digium.com/pipermail/asterisk-users/2013-September/280429.html

Using asterisk 11.5, IAX does not seem to be able to receive any packets.

My IP tables looks like this:

root@dlaptop:/home/darryl# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

could it be any simpler????

with IAX debugging on in asterisk I see this in the console:

Tx-Frame Retry[000] — OSeqno: 000 ISeqno: 000 Type: IAX Subclass:
POKE
Timestamp: 00015ms SCall: 00525 DCall: 00000 [184.75.215.106:4569]

Tx-Frame Retry[000] — OSeqno: 000 ISeqno: 000 Type: IAX Subclass:
POKE
Timestamp: 00014ms SCall: 00890 DCall: 00000 [67.205.74.184:4569]

Tx-Frame Retry[001] — OSeqno: 000 ISeqno: 000 Type: IAX Subclass:
POKE
Timestamp: 00010ms SCall: 05381 DCall: 00000 [99.245.204.155:4569]

Tx-Frame Retry[001] — OSeqno: 000 ISeqno: 000 Type: IAX Subclass:
POKE
Timestamp: 00015ms SCall: 00525 DCall: 00000 [184.75.215.106:4569]

Tx-Frame Retry[001] — OSeqno: 000 ISeqno: 000 Type: IAX Subclass:
POKE
Timestamp: 00014ms SCall: 00890 DCall: 00000 [67.205.74.184:4569]

Notice there are no Rx-Frames, and my peer table looks like this:
dlaptop*CLI> iax2 show peers Name/Username Host Mask Port Status Description
voipms/121322_i 184.75.215.106 (S) 255.255.255.255 4569
UNREACHABLE
voipms2/121322_ 67.205.74.184 (S) 255.255.255.255 4569
UNREACHABLE
2222/2222 99.245.204.155 (S) 255.255.255.255 4569
UNREACHABLE
3 iax2 peers [0 online, 3 offline, 0 unmonitored]

tcpdump can see all the packets though:
17:23:35.840421 IP 184-75-215-106.amanah.com.iax > dlaptop-2.local.iax:
UDP, length 12
17:23:35.872904 IP 67.205.74.184.iax > dlaptop-2.local.iax: UDP, length
12
17:23:36.790984 IP dlaptop-2.local.iax >
CPEc47d4f8848e7-CM0026f30cc55d.cpe.net.cable.rogers.com.iax: UDP, length
14
17:23:36.792680 IP
CPEc47d4f8848e7-CM0026f30cc55d.cpe.net.cable.rogers.com.iax >
dlaptop-2.local.iax: UDP, length 12
17:23:36.814493 IP dlaptop-2.local.iax > 184-75-215-106.amanah.com.iax:
UDP, length 14
17:23:36.834119 IP dlaptop-2.local.iax > 67.205.74.184.iax: UDP, length
14
17:23:36.842537 IP 184-75-215-106.amanah.com.iax > dlaptop-2.local.iax:
UDP, length 12
17:23:36.877078 IP 67.205.74.184.iax > dlaptop-2.local.iax: UDP, length
12
17:23:43.836844 IP dlaptop-2.local.iax >
CPEc47d4f8848e7-CM0026f30cc55d.cpe.net.cable.rogers.com.iax: UDP, length
24
17:23:43.838705 IP
CPEc47d4f8848e7-CM0026f30cc55d.cpe.net.cable.rogers.com.iax >
dlaptop-2.local.iax: UDP, length 65

but my socket buffers are backing up horribly:

root@dlaptop:/home/darryl# lsof -n -P -Tq | grep UDP | grep 4569
lsof: WARNING: can’t stat() fuse.gvfs-fuse-daemon file system /home/darryl/.gvfs
Output information may be incomplete. asterisk 2575 root 8u IPv4 334734592 0t0
UDP *:4569 (QR3904 QS=0)

Am i crazy? Is there something as simple as iptables that I missed? Or is there some kind of bug in Asterisk which is being missed?

I’ve only had this issue on two machines which I’ve compiled 11.5 on. Generally all my production machines are using the stock version 1.8
which is in the Ubuntu 12.04 repository.

Unloading and reloading the chan_iax module only has the effect of resetting the receive queue size in lsof. Anyone have any ideas what I
could possibly be missing here? Sip works fine by the way.

Thanks Darryl

One thought on - Iax Packet Loss Again.

  • OK list. Just in case anyone cares. I did figure out (sort of) why I was not receiving any IAX packets.

    http://lists.digium.com/pipermail/asterisk-users/2013-September/280590.html

    My modules.conf file was the same one I had previously used in 1.8 and it specifically loaded necessary modules instead of using “autoload yes”. This was because previously I had been having issues with a few modules and my simple application did not need many, so this was the easy solution.

    I’m not sure what modules IAX requires in 11 which were not required in
    1.8 so as not to choke. (Well other then chan_iax2 of course which I was using.)

    Any way. If any one else has issues with IAX packets (I’ve seen a small number) check your modules.conf file and see if you can figure out what undocumented module it is missing.

    TTFN
    darryl