Asterisk 1.2 and chan cellphone

Aus NOBAQ
Zur Navigation springenZur Suche springen

This morning, I accidently found http://bugs.digium.com/view.php?id=8919. It’s a patch for Asterisk 1.4 that adds a channel for a cellphone FXO trunk. I haven’t tried miax (http://www.voip-info.org/wiki-Mobile+IAX) or chan_bluetooth (http://crazygreek.co.uk/content/chan_bluetooth) right now, but I’ve heard that both of them are causing big problems. chan_cellphone looks promising as it will directly add a “CELL”-channel. However, this patch is for the SVN-trunk (Asterisk 1.4) and everything I’ve found about using it in Asterisk 1.2 was “Not possible”. I really don’t want to believe such things. So I just grabbed the source and changed the code in order to compile chan_cellphone solely as a channel driver (as chan_capi does) and using Asterisk 1.2. I’m really happy: It compiled! chan_cellphone compiles successfully without warnings any more for my Debian backports Asterisk 1.2 installation! But I haven’t tried it yet if it will also work successfully. I even don’t have a Bluetooth module at the moment. If you’re interested in the patch please feel free to ask me! In the meantime I’ll try to get a Bluetooth dongle for trying it out.

Kommentare

  1.
     T.Küster sagt,

     am 8. Mrz. 2007

     Hello,

     i stumbled across this entry while i was searching with google about chan_bluetooth and the problems i have with it…

     I am running Asterisk 1.2.13-BRIstuffed-0.3.0-PRE-1v and woukd like to test your “backport” of chan_cellphone if you
     can tell me where to get it…..

     (excuse my english, it’s only “school english” and a little bit rusty, too…..)

     best regards

     Thomas Küster
  2.
     niki sagt,

     am 8. Mrz. 2007

     Hi Thomas,

     I quickly modified it to apply against the latest version 14 of chan_cellphone. But I did not test it!
     But it should work with your asterisk version! The simplest thing to do is to just type “make” and it will
     generate a chan_cellphone.so for your asterisk version. You do not need the source tree for asterisk any
     more but, of course, you need the asterisk headers for your version installed
     (for Debian backports/unstable/testing: asterisk-dev).

     Find more in http://www.nobaq.net/?p=107

     best regards,

     Niki
  3.
     Christoph sagt,

     am 25. Mrz. 2007

     Hi,
     habe den Backport getestet. Er sieht mein K700-Handy und verbindet sich auch damit.

     Sobald man es verwenden will (Dial), stürzt aber das komplette Asterisk ab. Hat jemand den Backport
     erfolgreich zum Laufen gekriegt ?

     Christoph
  4.
     niki sagt,

     am 25. Mrz. 2007

     Hi Christoph,

     ich befürchte ich hab da einen Fehler drinnen! Jemand anders berichtete vom gleichen Phänomen :-(

     Ich hab zwar mittlerweile die aktuelle Version 17 aber leider bekomme ich mein T68i noch immer nicht
     verbunden weshalb ich nicht weiter debuggen kann. Stehe dazu in Kontakt mit dem Autor, aber das braucht
     halt leider immer lang ;-)

     Falls du es mal mit Version 17 probieren willst (aktuell) melde dich, dann schick ich sie dir.

     mfg,
     Niki
  5.
     Jabroni sagt,

     am 26. Mrz. 2007

     Was wondering if you could try to port the latest release.. (patch v17) Im looking forward into trying
     this on my trixbox, but I dont want to mess with asterisk 1.4 yet.

     Thanks!
  6.
     niki sagt,

     am 27. Mrz. 2007

     Hi Jabroni,

     Here it is: http://www.nobaq.net/~niki/chan_cellphone/v17/
     Just use the chan_cellphone.c if you want :-)

     However, as I said above, I was not able to test it completely with * 1.2 as I’ve a T68i which makes
     problems when connecting.

     But feel free to test it and give me feedback.

     Dave Bowerman also said that he’ll backport the channel when he’s some time to spend.

     Best regards,
     Niki
  7.
     Jabroni sagt,

     am 28. Mrz. 2007

     I’ll give it a try and see how things work.

     Thanks again Niki! :)
  8.
     Jabroni sagt,

     am 28. Mrz. 2007

     Ok i installed the bluetooth device, i can detect the cell, i paired it already, but when i dial it doesnt work

     nembiz*CLI> cell show devices
     ID Address Connected State SMS
     motorola 00:XX:XX:C0:XX:XX Yes Free No

     Heres a full debug log:

     Mar 28 11:44:49 VERBOSE[4103] logger.c: — Bluetooth Device motorola has connected.
     Mar 28 11:44:49 DEBUG[4115] chan_cellphone.c: while monitor
     Mar 28 11:44:50 DEBUG[4115] chan_cellphone.c: while monitor
     Mar 28 11:44:50 DEBUG[4115] chan_cellphone.c: First if-clause (response)
     Mar 28 11:44:50 DEBUG[4115] chan_cellphone.c: while monitor
     Mar 28 11:44:50 DEBUG[4115] chan_cellphone.c: while monitor
     Mar 28 11:44:50 DEBUG[4115] chan_cellphone.c: First if-clause (response)
     Mar 28 11:44:50 DEBUG[4115] chan_cellphone.c: while monitor
     Mar 28 11:44:50 DEBUG[4115] chan_cellphone.c: while monitor
     Mar 28 11:44:50 DEBUG[4115] chan_cellphone.c: First if-clause (response)
     Mar 28 11:44:50 DEBUG[4115] chan_cellphone.c: while monitor
     Mar 28 11:44:50 DEBUG[4115] chan_cellphone.c: while monitor
     Mar 28 11:44:50 DEBUG[4115] chan_cellphone.c: First if-clause (response)
     Mar 28 11:44:50 DEBUG[4115] chan_cellphone.c: while monitor
     Mar 28 11:44:50 DEBUG[4115] chan_cellphone.c: while monitor
     Mar 28 11:44:50 DEBUG[4115] chan_cellphone.c: First if-clause (response)
     Mar 28 11:44:50 DEBUG[4115] chan_cellphone.c: while monitor
     Mar 28 11:44:50 DEBUG[4115] chan_cellphone.c: while monitor
     Mar 28 11:44:50 DEBUG[4115] chan_cellphone.c: First if-clause (response)
     Mar 28 11:44:50 DEBUG[4115] chan_cellphone.c: while monitor
     Mar 28 11:44:50 DEBUG[4115] chan_cellphone.c: while monitor
     Mar 28 11:44:50 DEBUG[4115] chan_cellphone.c: First if-clause (response)
     Mar 28 11:44:50 DEBUG[4115] chan_cellphone.c: while monitor
     Mar 28 11:44:50 DEBUG[4115] chan_cellphone.c: while monitor
     Mar 28 11:44:50 DEBUG[4115] chan_cellphone.c: First if-clause (response)
     Mar 28 11:44:50 DEBUG[4115] chan_cellphone.c: while monitor
     Mar 28 11:44:50 DEBUG[4115] chan_cellphone.c: while monitor
     Mar 28 11:44:50 DEBUG[4115] chan_cellphone.c: First if-clause (response)
     Mar 28 11:44:50 DEBUG[4115] chan_cellphone.c: while monitor
     Mar 28 11:44:51 DEBUG[4115] chan_cellphone.c: while monitor
     Mar 28 11:44:51 DEBUG[4115] chan_cellphone.c: First if-clause (response)
     Mar 28 11:44:51 DEBUG[4115] chan_cellphone.c: while monitor
     Mar 28 11:44:51 DEBUG[4115] chan_cellphone.c: while monitor
     Mar 28 11:44:51 DEBUG[4115] chan_cellphone.c: First if-clause (response)
     Mar 28 11:44:51 DEBUG[4115] chan_cellphone.c: while monitor
     Mar 28 11:44:52 DEBUG[4115] chan_cellphone.c: Second if-clause, timeout
     Mar 28 11:44:52 VERBOSE[4115] logger.c: — Bluetooth Device motorola initialised and ready.
     Mar 28 11:44:52 DEBUG[4115] chan_cellphone.c: while monitor
     Mar 28 11:44:53 DEBUG[4115] chan_cellphone.c: Second if-clause, timeout
     Mar 28 11:44:53 DEBUG[4115] chan_cellphone.c: while monitor
     Mar 28 11:44:54 DEBUG[4115] chan_cellphone.c: Second if-clause, timeout
     Mar 28 11:44:54 DEBUG[4115] chan_cellphone.c: while monitor
     Mar 28 11:44:55 DEBUG[4115] chan_cellphone.c: Second if-clause, timeout
     Mar 28 11:44:55 DEBUG[4115] chan_cellphone.c: while monitor
     Mar 28 11:44:56 DEBUG[4115] chan_cellphone.c: Second if-clause, timeout
     Mar 28 11:44:56 DEBUG[4115] chan_cellphone.c: while monitor
     Mar 28 11:44:57 DEBUG[4115] chan_cellphone.c: Second if-clause, timeout
     Mar 28 11:44:57 DEBUG[4115] chan_cellphone.c: while monitor
     Mar 28 11:44:58 DEBUG[4115] chan_cellphone.c: Second if-clause, timeout
     Mar 28 11:44:58 DEBUG[4115] chan_cellphone.c: while monitor
     Mar 28 11:44:59 DEBUG[4115] chan_cellphone.c: Second if-clause, timeout
     Mar 28 11:44:59 DEBUG[4115] chan_cellphone.c: while monitor
     Mar 28 11:45:00 DEBUG[4115] chan_cellphone.c: Second if-clause, timeout
     Mar 28 11:45:00 DEBUG[4115] chan_cellphone.c: while monitor
     Mar 28 11:45:01 DEBUG[4115] chan_cellphone.c: Second if-clause, timeout
     Mar 28 11:45:01 DEBUG[4115] chan_cellphone.c: while monitor
     Mar 28 11:45:02 DEBUG[4115] chan_cellphone.c: Second if-clause, timeout
     Mar 28 11:45:02 DEBUG[4115] chan_cellphone.c: while monitor
     Mar 28 11:45:03 DEBUG[4115] chan_cellphone.c: Second if-clause, timeout
     Mar 28 11:45:03 DEBUG[4115] chan_cellphone.c: while monitor
     Mar 28 11:45:04 DEBUG[3227] acl.c: ##### Testing 192.168.3.4 with 192.168.3.0
     Mar 28 11:45:04 DEBUG[4115] chan_cellphone.c: Second if-clause, timeout
     Mar 28 11:45:04 DEBUG[4115] chan_cellphone.c: while monitor
     Mar 28 11:45:05 DEBUG[4115] chan_cellphone.c: Second if-clause, timeout
     Mar 28 11:45:05 DEBUG[4115] chan_cellphone.c: while monitor
     Mar 28 11:45:06 DEBUG[4115] chan_cellphone.c: Second if-clause, timeout
     Mar 28 11:45:06 DEBUG[4115] chan_cellphone.c: while monitor
     Mar 28 11:45:07 VERBOSE[3239] logger.c: == Sent cmd ‘PROTOCOL 5′ to fd 22 on Skype dev ’skype1′
     Mar 28 11:45:07 DEBUG[4115] chan_cellphone.c: Second if-clause, timeout
     Mar 28 11:45:07 DEBUG[4115] chan_cellphone.c: while monitor
     Mar 28 11:45:08 DEBUG[4115] chan_cellphone.c: Second if-clause, timeout
     Mar 28 11:45:08 DEBUG[4115] chan_cellphone.c: while monitor
     Mar 28 11:45:09 DEBUG[4115] chan_cellphone.c: Second if-clause, timeout
     Mar 28 11:45:09 DEBUG[4115] chan_cellphone.c: while monitor
     Mar 28 11:45:10 DEBUG[4115] chan_cellphone.c: Second if-clause, timeout
     Mar 28 11:45:10 DEBUG[4115] chan_cellphone.c: while monitor
     Mar 28 11:45:11 DEBUG[4115] chan_cellphone.c: Second if-clause, timeout
     Mar 28 11:45:11 DEBUG[4115] chan_cellphone.c: while monitor
     Mar 28 11:45:12 DEBUG[3227] acl.c: ##### Testing 208.239.76.163 with 192.168.3.0
     Mar 28 11:45:12 DEBUG[3227] chan_sip.c: Target address 208.239.76.163 is not local, substituting externip
     Mar 28 11:45:12 DEBUG[3227] chan_sip.c: Scheduled a registration timeout for sip.inphonex.com id #69
     Mar 28 11:45:12 DEBUG[4115] chan_cellphone.c: Second if-clause, timeout
     Mar 28 11:45:12 DEBUG[4115] chan_cellphone.c: while monitor
     Mar 28 11:45:13 DEBUG[3227] chan_sip.c: Stopping retransmission on
     ‘5ed66a0e4ecd4d804a27426d20187c3d@inphonex.com’ of Request 110: Match Found
     Mar 28 11:45:13 DEBUG[3227] chan_sip.c: Registration successful
     Mar 28 11:45:13 DEBUG[3227] chan_sip.c: Cancelling timeout 69
     Mar 28 11:45:13 DEBUG[4115] chan_cellphone.c: Second if-clause, timeout
     Mar 28 11:45:13 DEBUG[4115] chan_cellphone.c: while monitor
     Mar 28 11:45:13 DEBUG[3227] acl.c: ##### Testing 192.168.3.138 with 192.168.3.0
     Mar 28 11:45:13 DEBUG[3227] chan_sip.c: Setting NAT on RTP to 0
     Mar 28 11:45:13 DEBUG[3227] chan_sip.c: Stopping retransmission on
     ‘00131a8c-23440036-230d8603-6b08f867@192.168.3.138′ of Response 101: Match Found
     Mar 28 11:45:14 DEBUG[3227] chan_sip.c: Setting NAT on RTP to 0
     Mar 28 11:45:14 DEBUG[3227] chan_sip.c: Checking SIP call limits for device 201
     Mar 28 11:45:14 DEBUG[3227] chan_sip.c: build_route: Contact hop:
     Mar 28 11:45:14 DEBUG[3196] channel.c: Avoiding initial deadlock for ‘SIP/201-0986bd90′
  9.
     cno sagt,

     am 29. Mrz. 2007

     Ich habe die V17 mit Trixbox 2.0/Asterisk 1.2.16 getestet, und hab das selbe Problem -
     ‘cell search’ & ‘cell show devices’ funktionieren, nur bei ‘cell rfcomm’ oder bei einem dial schmiert
     asterisk grußlos ab. PC und Handy sind gepaired, Kontakt mit Handy mittels minicom über rfcomm0 möglich.

     Mit chan_bluetooth ist das Problem übrigens das Selbe, nur stürzt Asterisk da erst ab, nachdem das
     Handy zu wählen begonnen hat. Ich vermute ja schon ein generelles Bluetoothproblem - wie sollte denn
     die hcid.conf und rfcomm.conf in etwa aussehen?

     Liebe Grüße aus Ö.

     Christian
 10.
     niki sagt,

     am 3. Apr. 2007

     Ok, this seems to be a similar error with my T68i…
     Maybe the problem is actually Asterisk 1.2…
     I’d really recommend to test it with Asterisk 1.4. because I haven’t the time concentrate
     on chan_cellphone at the moment :-(
 11.
     niki sagt,

     am 3. Apr. 2007

     @cno: Ein Dial() geht bei mir leider ins leere - logischerweise weil das T68i noch immer nicht
     die Initialisierungsphase überwinden konnte :-( “cell rfcomm” stürzt bei mir auch grußlos ab.
     Nachdem es mittlerweile bei keinem so recht funktioniert befürchte ich fast dass das Problem
     tatsächlich an Asterisk 1.2 liegt.

     Aber solang ich kein Handy hab das funktioniert kann ich leider auch nicht mehr ausprobieren. Wenn
     ich Zeit habe werd ich mir das in gleicher Konstellation mit Asterisk 1.4 ansehen - wenn nicht bis
     dahin Dave Bowerman schon selbst einen Backport rausgebracht hat.

     Sorry dafür :-(