Summary:ASTERISK-11955: Big latency (up to 3 sec) when call waiting enabled
Reporter:Dimka koder (shkoder)Labels:
Date Opened:2008-05-01 22:49:21Date Closed:2009-05-01 09:34:52
Versions:Frequency of
Environment:Attachments:( 0) audio.conf
( 1) audio.service
( 2) audio1.diff
( 3) hcid.conf
Description:I've installed backported chan_mobile latest trunk into asterisk 1.4 and it working well except one issue. When I am using any phone having call waiting indication (Sony Ericsson K750, SE K320i, Nokia 6021, Samsung E530) voice lag appears for incoming traffic (from B-party to asterisk), no difference if call is incoming or outgoing.

I have modified chan_mobile.c to disable callwaiting indication and sound lag disappeared. Does that means problem inside chan_mobile ?


I am under Debian 4.0r3, kernel upgraded to 2.6.23. BlueZ patch applied. BlueZ drivers are latest, 2.30 but I had same problem with standard kernel 2.16.18 and BlueZ 2.26

I've tried variety of dongles based on CSR chip from different makers. new and very old (even found one with firmware but, "noise issue") - issue is same. Different phones were tried (check upper list) - lag delay is same, approx 2 secs. may be longer with Nokia.

Why I badly need this issue solved : with call waiting disabled any call counted as connected from first seconds. Such behavour makes impossible to use ring groups or rign schemes like "ring all". With callwaiting ringing is perfect but sound lag spoils all conversation :(

any options from issue 11627 and other googled issues did not helped. may be people just does not noticing this problem or I am such unlucky with all my hardware..
Comments:By: Dimka koder (shkoder) 2008-05-01 23:02:14

my current dongle

debian:/usr/src/asterisk-addons-trunk# hciconfig -a
hci0:   Type: USB
       BD Address: 00:15:83:ZZ:ZZ:ZZ ACL MTU: 310:10 SCO MTU: 64:8
       RX bytes:8897417 acl:1027 sco:173364 events:1855 errors:0
       TX bytes:5705941 acl:706 sco:111384 commands:451 errors:0
       Features: 0xff 0xff 0x8f 0xfe 0x9b 0xf9 0x00 0x80
       Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
       Link policy: RSWITCH HOLD SNIFF PARK
       Link mode: SLAVE ACCEPT
       Name: 'debian-0'
       Class: 0x000100
       Service Classes: Unspecified
       Device Class: Computer, Uncategorized
       HCI Ver: 2.0 (0x3) HCI Rev: 0xc5c LMP Ver: 2.0 (0x3) LMP Subver: 0xc5c
       Manufacturer: Cambridge Silicon Radio (10)

tried to connect via usb hub and directly to usb port - makes no difference

my BT configs attached. may be need some tuning?

By: Dimka koder (shkoder) 2008-05-01 23:09:45

sound itself is very clear (I've tried to call from softphone in ulaw and g729 codecs). I have no distortion or noise issues yet. only sound lag spoiles everything

By: Augusto Henrique Petzinger (apetzinger) 2008-05-28 11:48:58


I use Bluetooth Dlink DBT-122, Nokia 6220 or QTEK 9100 ou Sony Ericson Z600, Kernel, asterisk-1.4.20 and have same problem.
Big latency (up to 3 sec).
How i disable call waiting ?
Is possible to post a chan_mobile.c modified ?

By: jongerenchaos (jongerenchaos) 2008-09-22 14:32:18

This is a big problem

I'll use a L6 Motorola with various bluetooth dongles and all these dongles has the same problem and give the long delay.

Can anybody resolve this problem??

By: Matthew Nicholson (mnicholson) 2009-02-12 11:34:17.000-0600

You say you disabled call waiting indication in chan_mobile, what exactly did you modify to accomplish this?

By: Sabin (binsa) 2009-02-13 11:20:11.000-0600

I'sure that the big latency is because of the callback functions mbl_read and mbl_write. mbl_read only bufferring the frames and mbl_write do actual reading. If mbl_write is called more rarely, will be latency. In the revisions before 431 there is no such problem, also no problems with DTMF.

By: Matthew Nicholson (mnicholson) 2009-02-13 11:25:11.000-0600

I suspected that was causing problems.  I will look into it.

By: Matthew Nicholson (mnicholson) 2009-02-18 18:16:44.000-0600

This error appears to be caused because of the way chan_mobile handles audio data.  Currently chan_mobile only reads audio from the phone when it writes audio to the phone.  I am working on a fix.

By: Matthew Nicholson (mnicholson) 2009-02-19 17:09:26.000-0600

I just uploaded the audio1.diff patch.  Please test this patch and see if it resolves your issue.

By: jongerenchaos (jongerenchaos) 2009-02-23 15:20:03.000-0600

There are some small problems yet:

Problem 1:
When i call from my bluetooth cellphone to another bluetooth  cellphone i get one way audio and also sometimes delayed audio.
I get the following dmesg message:
btusb_send_frame: hci0 urb c1584400 submission failed
btusb_send_frame: hci0 urb c1e98200 submission failed
btusb_send_frame: hci0 urb c22a0c00 submission failed

Problem 2:
Also with the first (incoming from bluetooth) call you get no audio and you should redial and after the second call you get the normal audio (no delay).

Problem 3:
The solution is not stable. Sometimes the phone won't disconnect and hangs (busy on asterisk). I think this is related to the following messages that i get sometimes:
hci_scodata_packet: hci0 SCO packet for unknown connection handle 45 (maybe that this is a bluez problem and not chan_mobile)

By: Matthew Nicholson (mnicholson) 2009-02-23 16:07:09.000-0600

I have not been able to reproduce any of those problems.  I do see some of the unknown connection handle errors in my logs, but this probably occurs at hangup when asterisk closes the SCO link.  It should not cause any problems.  I have not seen any of the other errors.

The errors from problems 1 and 3 appear to be unrelated to asterisk, although I am not 100% sure about that.  Problem 2 could be asterisk related, but in my testing I have not seen it.

By: Matthew Nicholson (mnicholson) 2009-04-09 12:10:12

Please test with the latest version of asterisk-addons trunk branch and see if this issue is fixed.

By: BrettS (ughnz) 2009-05-01 04:33:04

Issue fixed for me.

By: Matthew Nicholson (mnicholson) 2009-05-01 09:34:51

Fixed in addons-trunk.