[Home]

Summary:ASTERISK-13939: No disconnecting when the call is hangup up (cellphone <> cellphone)
Reporter:jongerenchaos (jongerenchaos)Labels:
Date Opened:2009-04-11 09:29:29Date Closed:2009-05-15 16:53:45
Priority:MinorRegression?No
Status:Closed/CompleteComponents:Addons/chan_mobile
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) chanmobile2.txt
( 1) cind-debug1.diff
( 2) debuglog.txt
( 3) debuglog2.txt
( 4) no-io-pipe4.diff
( 5) no-io-pipe5.diff
( 6) no-io-pipe6.diff
Description:I call to the asterisk connected cellphone. The call is answered and the DMTF digits are accepted.
But when i disconnect the call, the bluetooth cellphone stayed BUSY:
ID              Address           Group Adapter         Connected State SMS
gsm3            00:15:A8:9F:XX:XX 1     dongel2         Yes       Busy  No

I think the hangup command ([Apr 11 16:19:47] DEBUG[4481] chan_mobile.c: [gsm3] +CIEV: 3,0
[Apr 11 16:19:47] DEBUG[4481] chan_mobile.c: [gsm3] +CIEV: 5,4
[Apr 11 16:19:48] DEBUG[4481] chan_mobile.c: [gsm3] +CIEV: 5,5
[Apr 11 16:19:48] DEBUG[4481] chan_mobile.c: [gsm3] +CIEV: 2,1
[Apr 11 16:19:48] DEBUG[4481] chan_mobile.c: [gsm3] +CIEV: 4,0
[Apr 11 16:19:48] DEBUG[4481] chan_mobile.c: [gsm3] error parsing CIND: +CIEV: 4,0) from the cellphone doesn't understand asterisk as an hangup command.

Log is attached (i use the current 11 april version of svn chan_mobile and asterisk)
Comments:By: jongerenchaos (jongerenchaos) 2009-04-16 04:07:32

Debuglog.txt is attached

By: Matthew Nicholson (mnicholson) 2009-04-16 09:45:35

Apply the cind-debug1.diff patch and produce a debug log with it.

By: jongerenchaos (jongerenchaos) 2009-04-16 14:39:42

I applied the patch and reproduce the debug log.

Incoming call from bluetooth cellphone to asterisk (with dialing to sip).

In the debuglog2.txt you can see the following: The first call i make (receive) with this patch applied, you can see that this won't work due an "failed to queue sco data" failure. (This error is always on the first call after restarting asterisk).

The second call i made (receive) was succesfully answered and i dial 0352100XXX as phone number with DTMF to an SIP GW. I try to hangup this call (with my mobile phone) when the line 0352100XXX is ringing. The hangup command failed and the CHAN_MOBILE module will close the connection when the TIMOUT of the ringing time from SIP is over. But i want to close the connection when i hangup (incoming mobile connections)!

By: Matthew Nicholson (mnicholson) 2009-04-20 16:49:27

Hmm... This looks like it should work.  Chan_mobile is handling all of the signaling correctly.  I will have to look deeper into this.

By: jongerenchaos (jongerenchaos) 2009-04-21 14:27:21

Thanks, I install an clean installation of linux, chan_mobile and asterisk. I get the same messages and the channel won't hangup.

When i try to call again when the channel is busy (when the call isn't hangup), the channel will answer the phonecall and i get the same audio before i hangup (no clean audio channel, but exactly the same!).

Sometimes i get [Apr 19 17:25:38] ERROR[25937] chan_mobile.c: read error 9 (after answering again).

I use now bluez-4.36



By: Matthew Nicholson (mnicholson) 2009-04-22 10:24:39

Ok. I don't think this is a signaling problem, it seems to be a problem handling the audio data.  Standby.

By: jongerenchaos (jongerenchaos) 2009-04-23 13:27:47

Get another warning message.

[Apr 23 20:24:36] WARNING[5472]: channel.c:1008 __ast_queue_frame: Exceptionally long queue length queuing to Mobile/gsm3-a73e
[Apr 23 20:24:37] WARNING[5472]: channel.c:1008 __ast_queue_frame: Exceptionally long queue length queuing to Mobile/gsm3-a73e

Results: After 3 Hours a 6GB messages logfile with these messages!

By: Matthew Nicholson (mnicholson) 2009-04-23 13:34:17

I am going to upload a patch that I worked on yesterday that may fix this issue.  Let me know if it works for you.

By: jongerenchaos (jongerenchaos) 2009-04-23 13:58:47

This works better. After +- 2 seconds the connection is closed.

But i get a lot of this messages (betweeen the time after real hangup and asterisk hangup):
[Apr 23 20:57:36] ERROR[5815]: chan_mobile.c:1033 mbl_read: read error 107
[Apr 23 20:57:36] ERROR[5815]: chan_mobile.c:1033 mbl_read: read error 107
[Apr 23 20:57:36] ERROR[5815]: chan_mobile.c:1033 mbl_read: read error 107

If this bug is resolved, i'll open a new bug, and i think that is related to this bug; It is not possible to make a long phonecall, because the call disconnect automaticly after 10 between 30 minutes.



By: Matthew Nicholson (mnicholson) 2009-04-23 17:58:34

What exactly do you mean by "works better"?

By: jongerenchaos (jongerenchaos) 2009-04-24 00:45:29

I mean: The connection is now closed correctly. Every call when i hangup on the cellphone asterisk & chan_mobile understand this and make the chan_mobile channel free for a new call.

By: Matthew Nicholson (mnicholson) 2009-04-24 17:30:48

Hmm.  There is probably some more tweaking that I could do with this code.  I'll commit that fix and mark this bug as fixed, feel free to open a new bug about those debug messages.

By: Matthew Nicholson (mnicholson) 2009-04-24 17:36:30

Before I close this, try patch number 5 and see if that fixes the read errors.

By: jongerenchaos (jongerenchaos) 2009-04-25 15:42:27

I can't compile this patch.
Error message:

make[1]: Entering directory `/callapps/asterisk-addons/channels'
  [CC] chan_mobile.c -> chan_mobile.o
chan_mobile.c: In function âmbl_hangupâ:
chan_mobile.c:946: error: âchanâ undeclared (first use in this function)
chan_mobile.c:946: error: (Each undeclared identifier is reported only once
chan_mobile.c:946: error: for each function it appears in.)
make[1]: *** [chan_mobile.o] Error 1
make[1]: Leaving directory `/callapps/asterisk-addons/channels'
make: *** [channels] Error 2

By: Matthew Nicholson (mnicholson) 2009-04-27 14:19:24

Sorry about that.  Try the patch I just uploaded.

By: jongerenchaos (jongerenchaos) 2009-05-01 16:45:52

I try this patch but it doesn't work yet. I get the same error message with this new patch:

[May  1 23:43:25] ERROR[306]: chan_mobile.c:1034 mbl_read: read error 107
[May  1 23:43:25] ERROR[306]: chan_mobile.c:1034 mbl_read: read error 107
[May  1 23:43:25] ERROR[306]: chan_mobile.c:1034 mbl_read: read error 107

By: Matthew Nicholson (mnicholson) 2009-05-01 18:06:27

Ok. I'll commit this fix and close this bug. We can open a new bug for the read errors.

By: Digium Subversion (svnbot) 2009-05-04 17:08:57

Repository: asterisk-addons
Revision: 900

U   trunk/channels/chan_mobile.c

------------------------------------------------------------------------
r900 | mnicholson | 2009-05-04 17:08:56 -0500 (Mon, 04 May 2009) | 7 lines

Interact with bluetooth audio sockets directly instead of going through an
internal pipe.

(closes issue ASTERISK-13939)
Reported by: jongerenchaos
Tested by: jongerenchaos

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk-addons?view=rev&revision=900

By: Digium Subversion (svnbot) 2009-05-15 16:53:45

Repository: asterisk-addons
Revision: 915

_U  branches/1.6.2/
U   branches/1.6.2/channels/chan_mobile.c

------------------------------------------------------------------------
r915 | mnicholson | 2009-05-15 16:53:45 -0500 (Fri, 15 May 2009) | 38 lines

Merged revisions 900,903,906-907 via svnmerge from
https://origsvn.digium.com/svn/asterisk-addons/trunk

........
 r900 | mnicholson | 2009-05-04 17:08:56 -0500 (Mon, 04 May 2009) | 7 lines
 
 Interact with bluetooth audio sockets directly instead of going through an
 internal pipe.
 
 (closes issue ASTERISK-13939)
 Reported by: jongerenchaos
 Tested by: jongerenchaos
........
 r903 | mnicholson | 2009-05-08 10:40:01 -0500 (Fri, 08 May 2009) | 10 lines
 
 Accept SCO sockets even if there is no pvt->owner.  An owner may come later.
 
 (closes issue ASTERISK-14071)
 Reported by: hmld
 Tested by: mnicholson, hmld, jongerenchaos
 
 (closes issue ASTERISK-14075)
 Reported by: mvas78
 Tested by: mvas78
........
 r906 | mnicholson | 2009-05-14 12:07:07 -0500 (Thu, 14 May 2009) | 6 lines
 
 Check the first character of a caller id string to see if it is the end of the
 string.
 
 (closes issue ASTERISK-14130)
 Reported by: nikkk
........
 r907 | mnicholson | 2009-05-14 12:09:33 -0500 (Thu, 14 May 2009) | 2 lines
 
 Handle empty numbers in CMGR messages.
........

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk-addons?view=rev&revision=915