Random call drops on IAX2

Home » Asterisk Users » Random call drops on IAX2
Asterisk Users 1 Comment

Hello list,

I have an Asterisk setup with the following details:

1. 3 x internal extensions / sip hardphones – Grandstream 2000
2. 2 x internal extensions / dahdi cordless phone
3. 1 x 2 FSX ports OpenVOX pci card
4. 1 x internal sip extension / sip softphone (linphone)
5. 1 x 800Mhz Asterisk + Linux server
6. Asterisk version is 1.6.2.13
7. 1 x IAX2 incoming trunk from phone provider for 1 phone number (2
channels).
8. 1 x IAX2 outgoing trunk (theoretically unlimited channels) to phone
provider.
9. Internet connection used is ADSL 8mbs/350kbs.
10. All internet traffic goes through the Linux/Asterisk box (2 NIC’s)
and I use basic traffic shaping/priority using tos_sip/tos_audio/tos/cos
directives in sip.conf and iax.conf.
11. The server doesn’t have much load – some basic samba file sharing
for 5 computers, some dovecot IMAP email for same machines.

The setup has worked fine for it’s first 8 months. After that, users
started to report dropped calls. Most of the time (but doesn’t seem to
be always) it seems to be the following scenario:

1. A member of staff places an outgoing call.
2. While in conversation – an external call is coming in.
3. The original outgoing call is cut off.

However, this is not consistent. I’ve tried to trigger it when on site –
and didn’t manage. It tends to happen randomly, about 1-3 times per day.

What I’ve done:

1. Measured the uplink bandwidth – it works out consistently at about
350kbs – enough for (theoretically) up to 4 simultaneous ulaw/alaw calls
(80kbs each).
2. There isn’t much internet traffic generated by the local network –
and the pattern of call drops doesn’t match any spike in Internet
activity from/to local network.
3. I’ve managed to put through 4 concurrent incoming and outgoing calls
– and left them on for about 30 minutes – none of them cut off during
this time.
4. I’ve tested the RAM on the server – couldn’t discover any fault.
5. I’ve called the IAX provider and so far they are adamant that the
problem is not at their end.
6. I’ve upgraded Asterisk to latest 1.6 trunk – 1.6.2.13 (use to be
version 1.6.1.6)

I have kept and eye on the Asterisk logs – but just cannot find what is
happening. I have asked users to let me know the time of call drops – so
that I can look at specific portions of the Asterisk log. I attach below
the log section concerned. I’ve been told that the user placed an
outgoing call – and they were cut off. I personally don’t see anything
in the log – it looks like a clean hang-up to me. I don’t even know
where to narrow things down. Is it the server hardware, is it the
internet connection, is it the ADSL modem/router upstream of the server,
is it the Grandstream phones, or is it the IAX provider?

As you can see below:

1. The outgoing call starts at 11:22:45
2. At 11:22:50 another previous incoming call ends.
3. Then the original outgoing call gets answered at 11:22:53
4. Then about a minute later, at 11:23:51, the outgoing call gets hanged up.

The user claims the outgoing call got cut off – but I don’t see any
error in the logs:

[Nov 10 11:22:22] VERBOSE[4365] pbx.c: == Spawn extension
(from_internal_phones, 23, 1) exited non-zero on ‘SIP/25-00000087’
[Nov 10 11:22:45] VERBOSE[3242] netsock.c: == Using SIP RTP TOS bits 184
[Nov 10 11:22:45] VERBOSE[3242] netsock.c: == Using SIP RTP CoS mark 5
[Nov 10 11:22:45] VERBOSE[4366] pbx.c: — Executing
[901512541010@from_internal_phones:1] NoOp(“SIP/23-00000089”, “Adding
call to trunk group”) in new stack
[Nov 10 11:22:45] VERBOSE[4366] pbx.c: — Executing
[901512541010@from_internal_phones:2] Set(“SIP/23-00000089”,
“GROUP()=TRUNK_GROUP”) in new stack
[Nov 10 11:22:45] VERBOSE[4366] pbx.c: — Executing
[901512541010@from_internal_phones:3] Dial(“SIP/23-00000089”,
“IAX2/ihs_trunk_out/01512541010”) in new stack
[Nov 10 11:22:45] VERBOSE[4366] app_dial.c: — Called
ihs_trunk_out/01512541010
[Nov 10 11:22:45] VERBOSE[3237] chan_iax2.c: — Call accepted by
ip.address.rem.oved (format ulaw)
[Nov 10 11:22:45] VERBOSE[3237] chan_iax2.c: — Format for call is ulaw
[Nov 10 11:22:50] VERBOSE[4364] pbx.c: == Spawn extension
(from_trunks, proceed, 3) exited non-zero on ‘IAX2/01519226927_in-2238’
[Nov 10 11:22:50] VERBOSE[4364] chan_iax2.c: — Hungup
‘IAX2/01519226927_in-2238’
[Nov 10 11:22:52] VERBOSE[4366] app_dial.c: —
IAX2/ihs_trunk_out-1579 is ringing
[Nov 10 11:22:52] VERBOSE[4366] app_dial.c: —
IAX2/ihs_trunk_out-1579 is making progress passing it to SIP/23-00000089
[Nov 10 11:22:53] VERBOSE[4366] app_dial.c: —
IAX2/ihs_trunk_out-1579 stopped sounds
[Nov 10 11:22:53] VERBOSE[4366] app_dial.c: —
IAX2/ihs_trunk_out-1579 answered SIP/23-00000089
[Nov 10 11:24:51] VERBOSE[4366] chan_iax2.c: — Hungup
‘IAX2/ihs_trunk_out-1579’
[Nov 10 11:24:51] VERBOSE[4366] pbx.c: == Spawn extension
(from_internal_phones, 901512541010, 3) exited non-zero on ‘SIP/23-00000089’
[Nov 10 11:27:43] VERBOSE[3242] chan_sip.c: — Registered SIP ’23’
at 192.168.12.16 port 5064

Any ideas or comments on this one are much appreciated. I’m not sure
where else to look to get more relevant information.

Sebastian

One thought on - Random call drops on IAX2