GSM Hardware an Linux / Asterisk möglich?

Was wurde genau gemacht, welche bluez version läuft bei Dir und was für Hardware wird eingesetzt?
Dann poste mal bitte hcid.conf, mobile.conf und ausgabe von Befehl >sdptool browse %bt_adresse_vom_handy%, dann schauen wir mal :)
 
Hi
bluez "standard" von ETCH - wie kann ich die Version abfragen?

Jetzt hab ich erstmal asterisk-svn mit asterisk-addons-svn compiliert - und einige änderungen in meiner extensions.conf machen müssen.
vielleicht komm ich dann morgen nochmal zum testen - außerdem ist gerade meine frau mit dem nokia heimgekommen... mit dem kann ich auch nochmal probieren...

Gruß
Thorsten
 
Hallo thorsten,

also generell sollte es eigentlich mit den Versionen hier im Thread nicht nötig sein die Asterisk Trunk Version zu installieren, es würde reichen die 1.4.10/11 zu nehmen (das war der Vorteil von diesen Versionen). Interessant wäre auch zu wissen welchen BT Dongel du benutzt und welches Handy (einfach um auch mal eine Übersicht zu bekommen was so funktioniert und was nicht). Die letzten Meldungen die bei dir auftreten sind übrigens auch auf funktionierenden Systemen vorhanden und treten auf sobald ein Anruf gemacht wird.
Du könntest sonst auch hergehen und die Version in meinem Thread probieren, weil dort noch das "alte" handling drinne ist.

Grüße,
FL
 
Naja, die "alten" Versionen habe bisher immer OHNE Absturz funktioniert - nur leider auch ohne audio.
Die Version hier im Thread war die erste die zu einem Absturz geführt hat (mehrfach, reproduzierbar).
Die SVN-Version von Asterisk funktioniert mit dem unmodifizierten chan_mobile - leider funktionieren damit meine internen SIP-Nebenstellen nicht?

Bevor ich jetzt weitermache gehe ich erstmal 2 Wochen in Urlaub - dann check ich nochmal neu aus und guck was sich getan hat.

Als BT-Hardware verwende ich übrigens 2 unterschiedliche billige Dongels.
Das ist einer davon:
Bus 002 Device 003: ID 0400:0807 National Semiconductor Corp. Bluetooth Dongle

Gruß
Thorsten
 
Erst mal vielen Dank an FreeLancer2k7 und workaholicer für die funktionierende Version von chan_mobile.
Habe es soweit mit Asterisk 1.4.11 zusammen installiert bekommen. Habe das ganze System auch schon am laufen, d.h. bluetooth installiert, gepaired, Konfigurationsdateien angepasst sodass sogar eingehende und abgehende Rufe funktionieren genau wie SMS versenden und empfangen.
Das einzige Problem dass ich nun habe ist, dass keine Sprache übertragen wird...

Habe Asterisk 1.4.11 unter Ubuntu 6.10 mit chan_mobile von workaholicer aufgesetzt. Der USB Dongle gibt mit lsusb folgendes aus:
Code:
Bus 001 Device 004: ID 1131:1001 Integrated System Solution Corp. KY-BT100 Bluetooth Adapter
Die Konfigurationsdatei hcid.conf sieht so aus:
Code:
#
# HCI daemon configuration file.
#

# HCId options
options {
        # Automatically initialize new devices
        autoinit yes;

        # Security Manager mode
        #   none - Security manager disabled
        #   auto - Use local PIN for incoming connections
        #   user - Always ask user for a PIN
        #
        security auto;

        # Pairing mode
        #   none  - Pairing disabled
        #   multi - Allow pairing with already paired devices
        #   once  - Pair once and deny successive attempts
        pairing multi;

        # Default PIN code for incoming connections
        passkey "1234";
}

# Default settings for HCI devices
device {
        # Local device name
        #   %d - device id
        #   %h - host name
        #name "%h-%d";
        name "Asterisk"

        # Local device class
        class 0x3e0100;
        #class 0x100100;

        # Default packet type
        #pkt_type DH1,DM1,HV1;

        # Inquiry and Page scan
        iscan enable; pscan enable;
        discovto 0;

        # Default link mode
        #   none   - no specific policy
        #   accept - always accept incoming connections
        #   master - become master on incoming connections,
        #            deny role switch on outgoing connections
        lm accept;

        # Default link policy
        #   none    - no specific policy
        #   rswitch - allow role switch
        #   hold    - allow hold mode
        #   sniff   - allow sniff mode
        #   park    - allow park mode
        lp rswitch,hold,sniff,park;

        # Authentication and Encryption (Security Mode 3)
        auth enable;
        encrypt enable;
}
Und hier die rfcomm.conf:
Code:
#
# RFCOMM configuration file.
#

#rfcomm0 {
#       # Automatically bind the device at startup
        bind yes;
#
#       # Bluetooth address of the device
        device 00:13:70:A7:43:69;
#
#       # RFCOMM channel for the connection
        channel 1;
#
#       # Description of the connection
        comment "Example Bluetooth device";
#}

Kann mir irgendwer helfen?

Gruß

Martin
 
Bei meinen ersten Versuchen stellte ich fest, dass der class parameter in hcid.conf irgendeine Rolle bei der Schwere der Abstürtzte gespielt hatte. Also habe ich erst die Beschreibung gesucht. War nicht einfach. Aber hier ist die Bedeutung von den ersten 2 Ziffern:

Major service class byte allocation (from LSB to MSB):

Bit 1: Positioning (Location identification)
Bit 2: Networking (LAN, Ad hoc, ...)
Bit 3: Rendering (Printing, Speaker, ...)
Bit 4: Capturing (Scanner, Microphone, ...)
Bit 5: Object Transfer (v-Inbox, v-Folder, ...)
Bit 6: Audio (Speaker, Microphone, Headset service, ...)
Bit 7: Telephony (Cordless telephony, Modem, Headset service, ...)
Bit 8: Information (WEB-server, WAP-server, ...)

Ich entschied mich für 01100000 oder 0x60 und somit für den class 0x600104
104 steht für normaler PC oder so ähnlich.

In Deiner Konfiguration mit 0x3e ist normales Audio freigeschaltet aber keine Telefonie. Kann sein, dass es daran liegt.

N.B. Ab Version 3.16 von bluez ist dieser parameter wohl überfällig und wird softwaretechnisch aus dem Dongle gewonnen.
 
Ja diese Liste habe ich auch gesucht, aber leider nicht mehr gefunden. Bei Bluetooth.org gibt es die aktuellen Klassen leider nur noch mit Anmeldung...

Wenn ich die Class wie Du sie hast (0x600104) anpasse, dann bringt dies leider keine Änderung meines Problems.

Kann man denn nicht vielleicht an irgendeinem anderen Punkt festmachen, ob es geht z.B. die Bluetooth Klasse des Dongles? Muss der Dongel vielleicht Support für eine bestimmte Version haben? Habe nämlich schon öfter gehört, dass es Probleme mit einigen Dongles geben soll, was die Sprache angeht. Hier deshalb einfach mal die Infos meines Dongles:
Code:
root@sauger:~# hciconfig hci0 commands
hci0:   Type: USB
        BD Address: 00:11:67:5A:E4:68 ACL MTU: 678:8 SCO MTU: 64:10
        Commands: Octet 0  = 0x7f (Bit 0 1 2 3 4 5 6)
                  Octet 1  = 0xff (Bit 0 1 2 3 4 5 6 7)
                  Octet 2  = 0xef (Bit 0 1 2 3 5 6 7)
                  Octet 3  = 0x01 (Bit 0)
                  Octet 4  = 0xcc (Bit 2 3 6 7)
                  Octet 5  = 0xdf (Bit 0 1 2 3 4 6 7)
                  Octet 6  = 0xef (Bit 0 1 2 3 5 6 7)
                  Octet 7  = 0xff (Bit 0 1 2 3 4 5 6 7)
                  Octet 8  = 0xff (Bit 0 1 2 3 4 5 6 7)
                  Octet 9  = 0xff (Bit 0 1 2 3 4 5 6 7)
                  Octet 10 = 0xff (Bit 0 1 2 3 4 5 6 7)
                  Octet 11 = 0xff (Bit 0 1 2 3 4 5 6 7)
                  Octet 12 = 0x33 (Bit 0 1 4 5)
                  Octet 13 = 0x0f (Bit 0 1 2 3)
                  Octet 14 = 0xa8 (Bit 3 5 7)
                  Octet 15 = 0xff (Bit 0 1 2 3 4 5 6 7)
                  Octet 16 = 0x04 (Bit 2)
        'Inquiry' 'Inquiry Cancel' 'Periodic Inquiry Mode'
        'Exit Periodic Inquiry Mode' 'Create Connection' 'Disconnect'
        'Add SCO Connection' 'Accept Connection Request'
        'Reject Connection Request' 'Link Key Request Reply'
        'Link Key Request Negative Reply' 'PIN Code Request Reply'
        'PIN Code Request Negative Reply' 'Change Connection Packet Type'
        'Authentication Requested' 'Set Connection Encryption'
        'Change Connection Link Key' 'Master Link Key' 'Remote Name Request'
        'Read Remote Supported Features' 'Read Remote Extended Features'
        'Read Remote Version Information' 'Read Clock Offset' 'Sniff Mode'
        'Exit Sniff Mode' 'QoS Setup' 'Role Discovery' 'Switch Role'
        'Read Link Policy Settings' 'Write Link Policy Settings'
        'Read Default Link Policy Settings'
        'Write Default Link Policy Settings' 'Set Event Mask' 'Reset'
        'Set Event Filter' 'Flush' 'Read PIN Type' 'Write PIN Type'
        'Read Stored Link Key' 'Write Stored Link Key'
        'Delete Stored Link Key' 'Write Local Name' 'Read Local Name'
        'Read Connection Accept Timeout' 'Write Connection Accept Timeout'
        'Read Page Timeout' 'Write Page Timeout' 'Read Scan Enable'
        'Write Scan Enable' 'Read Page Scan Activity'
        'Write Page Scan Activity' 'Read Inquiry Scan Activity'
        'Write Inquiry Scan Activity' 'Read Authentication Enable'
        'Write Authentication Enable' 'Read Encryption Mode'
        'Write Encryption Mode' 'Read Class Of Device' 'Write Class Of Device'
        'Read Voice Setting' 'Write Voice Setting'
        'Read Automatic Flush Timeout' 'Write Automatic Flush Timeout'
        'Read Num Broadcast Retransmissions'
        'Write Num Broadcast Retransmissions' 'Read Hold Mode Activity'
        'Write Hold Mode Activity' 'Read Transmit Power Level'
        'Read Synchronous Flow Control Enable'
        'Write Synchronous Flow Control Enable'
        'Set Host Controller To Host Flow Control' 'Host Buffer Size'
        'Host Number Of Completed Packets' 'Read Link Supervision Timeout'
        'Write Link Supervision Timeout' 'Read Number of Supported IAC'
        'Read Current IAC LAP' 'Write Current IAC LAP'
        'Read Page Scan Period Mode' 'Write Page Scan Period Mode'
        'Read Page Scan Mode' 'Write Page Scan Mode'
        'Set AFH Channel Classification' 'Read Inquiry Scan Type'
        'Write Inquiry Scan Type' 'Read Page Scan Type' 'Write Page Scan Type'
        'Read AFH Channel Assessment Mode' 'Write AFH Channel Assessment Mode'
        'Read Local Version Information' 'Read Local Supported Features'
        'Read Buffer Size' 'Read Country Code' 'Read BD ADDR'
        'Read Failed Contact Counter' 'Reset Failed Contact Counter'
        'Get Link Quality' 'Read RSSI' 'Read AFH Channel Map' 'Read BD Clock'
        'Enable Device Under Test Mode'
root@sauger:~# hciconfig hci0 features
hci0:   Type: USB
        BD Address: 00:11:67:5A:E4:68 ACL MTU: 678:8 SCO MTU: 64:10
        Features: 0xbf 0xfe 0x8d 0x38 0x08 0x18 0x00 0x00
                <3-slot packets> <5-slot packets> <encryption> <slot offset>
                <timing accuracy> <role switch> <sniff mode> <RSSI>
                <channel quality> <SCO link> <HV2 packets> <HV3 packets>
                <u-law log> <A-law log> <CVSD> <power control>
                <transparent SCO> <broadcast encrypt> <enhanced iscan>
                <interlaced iscan> <interlaced pscan> <AFH cap. slave>
                <AFH cap. master> <AFH class. master>
root@sauger:~# hciconfig hci0 version
hci0:   Type: USB
        BD Address: 00:11:67:5A:E4:68 ACL MTU: 678:8 SCO MTU: 64:10
        HCI Ver: 1.2 (0x2) HCI Rev: 0x226 LMP Ver: 1.2 (0x2) LMP Subver: 0x226
        Manufacturer: Integrated System Solution Corp. (57)
root@sauger:~# hciconfig hci0 revision
hci0:   Type: USB
        BD Address: 00:11:67:5A:E4:68 ACL MTU: 678:8 SCO MTU: 64:10
        Unsupported manufacturer

Habe aber mal mit hcidump alles mitgeschnitten was passiert ist. Irgendwie sind aber bei dem eigentlichen Gespräch kaum Daten verschickt worden, was ich ein wenig merkwürdig finde. Vielleicht hat ja jemand auch einen eigenen Mitschnitt oder kann aus den Daten etwas erkennen?

Anruf von Handy auf eine Nebenstelle:
Code:
root@sauger:~/AVMFritz/ds26-15.2# hcidump -V -t
HCI sniffer - Bluetooth packet analyzer ver 1.32
device: hci0 snap_len: 1028 filter: 0xffffffff
2007-08-30 19:29:21.065460 < ACL data: handle 1 flags 0x02 dlen 24
    L2CAP(d): cid 0x0040 len 20 [psm 0]
2007-08-30 19:29:21.526275 > HCI Event: Number of Completed Packets (0x13) plen 5
    handle 1 packets 1
2007-08-30 19:29:22.028165 > HCI Event: Mode Change (0x14) plen 6
    status 0x00 handle 1 mode 0x00 interval 65535
    Mode: Active
2007-08-30 19:29:22.038165 > ACL data: handle 1 flags 0x02 dlen 25
    L2CAP(d): cid 0x0040 len 21 [psm 0]
2007-08-30 19:29:22.040163 > ACL data: handle 1 flags 0x02 dlen 14
    L2CAP(d): cid 0x0040 len 10 [psm 0]
2007-08-30 19:29:22.043165 > ACL data: handle 1 flags 0x02 dlen 36
    L2CAP(d): cid 0x0040 len 32 [psm 0]
2007-08-30 19:29:29.003806 > ACL data: handle 1 flags 0x02 dlen 36
    L2CAP(d): cid 0x0040 len 32 [psm 0]
2007-08-30 19:29:37.660111 > HCI Event: Mode Change (0x14) plen 6
    status 0x00 handle 1 mode 0x02 interval 800
    Mode: Sniff

Etwas in den Hörer gesagt (ca. 5 sek) und aufgelegt:
Code:
2007-08-30 19:29:43.028070 > HCI Event: Mode Change (0x14) plen 6
    status 0x00 handle 1 mode 0x00 interval 65535
    Mode: Active
2007-08-30 19:29:43.039072 > ACL data: handle 1 flags 0x02 dlen 22
    L2CAP(d): cid 0x0040 len 18 [psm 0]
2007-08-30 19:29:43.042091 > ACL data: handle 1 flags 0x02 dlen 36
    L2CAP(d): cid 0x0040 len 32 [psm 0]
2007-08-30 19:29:53.456042 > HCI Event: Mode Change (0x14) plen 6
    status 0x00 handle 1 mode 0x02 interval 800
    Mode: Sniff


2007-08-30 19:30:01.028595 > HCI Event: Mode Change (0x14) plen 6
    status 0x00 handle 1 mode 0x00 interval 65535
    Mode: Active
2007-08-30 19:30:01.038591 > ACL data: handle 1 flags 0x02 dlen 22
    L2CAP(d): cid 0x0040 len 18 [psm 0]
2007-08-30 19:30:01.040571 > ACL data: handle 1 flags 0x02 dlen 22
    L2CAP(d): cid 0x0040 len 18 [psm 0]
2007-08-30 19:30:01.041020 < ACL data: handle 1 flags 0x02 dlen 16
    L2CAP(d): cid 0x0040 len 12 [psm 0]
2007-08-30 19:30:01.045574 > HCI Event: Number of Completed Packets (0x13) plen 5
    handle 1 packets 1
2007-08-30 19:30:01.049572 > ACL data: handle 1 flags 0x02 dlen 17
    L2CAP(d): cid 0x0040 len 13 [psm 0]
2007-08-30 19:30:01.054576 > ACL data: handle 1 flags 0x02 dlen 14
    L2CAP(d): cid 0x0040 len 10 [psm 0]


Gruß

Martin
 
@swatchy: bin mittlerweile auch so weit wie du und komme am selben Problem nicht weiter...
Audio wird bei mir jedesmal am Handy ausgegeben - die Verbindung bricht zum Asterisk hin aber nicht ab. Wenn ich den Anruf am Handy beende, wird der channel im Asterisk normal abgebaut.
Habe es mittlerweile mit einem BT Dongle von Acer (BT-600) und einen von conceptronic
Code:
hci0:   Type: USB
        BD Address: 00:10:60:AE:6B:34 ACL MTU: 377:10 SCO MTU: 64:8
        UP RUNNING PSCAN ISCAN
        RX bytes:26524 acl:1015 sco:0 events:406 errors:0
        TX bytes:5979 acl:227 sco:0 commands:135 errors:0
        Features: 0xff 0xfe 0x0d 0x38 0x08 0x08 0x00 0x00
        Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
        Link policy: RSWITCH HOLD SNIFF PARK
        Link mode: SLAVE ACCEPT
        Name: 'voipgw-0'
        Class: 0x3e0104
        Service Classes: Networking, Rendering, Capturing, Object Transfer, Audio
        Device Class: Computer, Desktop workstation
        HCI Ver: 1.2 (0x2) HCI Rev: 0x0 LMP Ver: 1.2 (0x2) LMP Subver: 0x309
        Manufacturer: Broadcom Corporation (15)
versucht.

Mit 'nem T610 (hab's in der config fälschicherweise als T68 deklariert) und 'nem 6600 beides mal dasselbe.

bei beiden sehe ich folgendes im asterisk:
Code:
voipgw*CLI> load chan_mobile.so
  == Parsing '/etc/asterisk/mobile.conf': Found
  == Registered application 'MobileStatus'
  == Registered application 'MobileSendSMS'
  == Registered channel type 'Mobile' (Bluetooth Mobile Device Channel Driver)
 Loaded chan_mobile.so => (Bluetooth Mobile Device Channel Driver)
    -- Bluetooth Device T68 has connected.
[Sep  5 11:50:25] ERROR[17541]: chan_mobile.c:1683 do_sco_listen: Unable to bind sco listener socket. (98)
[Sep  5 11:50:27] NOTICE[17540]: chan_mobile.c:1259 do_monitor_phone: Device T68 has no bluetooth SMS capability.
    -- Bluetooth Device T68 initialised and ready.

Die Fehlermeldung deutet auf irgendein Problem mit Audio hin. Ich lasse mir gerade mal einen aktuelleren BT Dongle besorgen. Mal sehen, ob sich nachher was ändert...

Mario
 
Hallo,
ich habe genau dasselbe Problem. Es funktioniert "alles" bis auf die Audio-Uebertragung. Als Mobiltelephon kommt auch bei mir das T610 zum Einsatz. Der Dongle ist ein schon etwas aelteres Modell: Epox BT-DG03.
Ich warte schon ganz ungeduldig auf deine Ergebnisse mit einem neuen Dongle ;)

Viele Gruesse

EDIT:
Beim laden des Moduls erhalte ich folgende Meldungen:
Code:
truthahn*CLI> module load chan_mobile.so
  == Parsing '/etc/asterisk/mobile.conf':   == Found
  == Registered application 'MobileStatus'
  == Registered application 'MobileSendSMS'
  == Registered channel type 'Mobile' (Bluetooth Mobile Device Channel Driver)
 Loaded chan_mobile.so => (Bluetooth Mobile Device Channel Driver)
    -- Bluetooth Device T610 has connected.
[Sep 15 12:48:41] NOTICE[29833]: chan_mobile.c:1288 do_monitor_phone: Device T610 has no bluetooth SMS capability.
    -- Bluetooth Device T610 initialised and ready.

Folglich nichts beunruhigendes.

Ein Gespraech verlaeuft folgendermassen:
Code:
    -- Executing [s@incoming-mobile:1] Answer("Mobile/T610-a047", "") in new stack
    -- Executing [s@incoming-mobile:2] Playback("Mobile/T610-a047", "demo-congrats") in new stack
    -- <Mobile/T610-a047> Playing 'demo-congrats.gsm' (language 'en')
  == Spawn extension (incoming-mobile, s, 2) exited non-zero on 'Mobile/T610-a047'
Schon wieder nichts aufregendes bzw. hilfreiches :(

Nachdem die Verbindung hergestellt wurde kann ich ins Mobiltelephon sprechen und hoere dies auf der anderen Seite der "Leitung".
 
Hab' den Dongle kurz vorm Urlaub noch bekommen, aber kurzfristig kein anderes Ergebnis gehabt. Bin momentan auf der Rückreise, nächste Woche nehm' ich mir nochmal Zeit, mir das näher anzuschauen, allerdings hatte ich eher auf eine Antwort von den leuten gehofft, die das zum laufen bekommen haben...
:-(

Mario
 
Nur bestimmte Handys lassen sich ..

ueber den USB Dongle einwandfrei, und das KT610 gehoert nicht zu diesen, v ersuche es mal mit einem Nokia.. 36.. oder mit 6810i dann wirst du sehen das es geht ... es liegt an der Flashsoft des Handys..!!!
siehe Liste die es gibt.!!
gruss
Jörg
 
Dr-Himself schrieb:
es liegt an der Flashsoft des Handys..!!!
siehe Liste die es gibt.!!

Hallo Dr-Himself,
ich habe es eben mit einem Nokia N70 probiert, es funktionert perfekt. Es sei den der Angerufene lehnt ab, dann klingelt es trotzdem noch weiter am Asterisk.
Wo gibt es den diese Liste? Kann man an der Flashsoft des Handys etwas aendern damit es funktioniert?

Gute Nacht
 
Guten Morgen ich habe dieses Problem hier
und das komisch ist das ich es nicht nur unter CentOS habe sondern auch unter
Debian ....

http://bugs.digium.com/view.php?id=10627&nbn=2

Bei CentOS habe ich diese BT sachen alle extra installiert...

bluez-bluefw.i386 Bluetooth firmware loader 1.0-6
bluez-hcidump.i386 Bluetooth HCI protocol analyser 1.11-1
bluez-libs.i386 Bluetooth libraries 2.10-2
bluez-libs-devel.i386 Development libraries for Bluetooth applications 2.10-2
bluez-pin.i386 D-BUS Bluetooth PIN helper 0.23-3
bluez-utils.i386 Bluetooth utilities 2.10-2.2
bluez-utils-cups.i386 CUPS printer backend for Bluetooth printers 2.10-2.2
 
Nun habe ich das Siemens SX1 getestet.
Auf ankommende Gespraeche auf das Mobiltelephon wird so reagiert, wenn im ankommenden Kontext nur ein NoOp command steht:
Code:
    -- Executing [s@incoming-mobile:1] NoOp("Mobile/SX1-a6f4", "Exten: s -- CALLERIDNUM: ") in new stack
    -- Auto fallthrough, channel 'Mobile/SX1-a6f4' status is 'UNKNOWN'
[Sep 16 15:36:44] NOTICE[31851]: cdr.c:432 ast_cdr_free: CDR on channel 'Mobile/SX1-a6f4' not posted
    -- Bluetooth Device SX1 has disconnected, reason (104).
    -- Bluetooth Device SX1 has connected.
    -- Bluetooth Device SX1 initialised and ready.
Es wird sofort die Verbindung getrennt, dabei erhaelt der Anrufer das Besetzt-Zeichen. Nach kurzer Zeit ist das Mobiltelephon wieder mit dem Asterisk verbunden.

Bei einem Dial-command ins Leere klingelt das Mobiltelephon.
Code:
    -- Executing [s@incoming-mobile:1] Dial("Mobile/SX1-7a36", "SIP/99") in new stack
  == Using TOS bits 0
  == Using CoS mark 5
[Sep 16 15:56:14] WARNING[31851]: chan_sip.c:3464 create_addr: No such host: 99
[Sep 16 15:56:14] WARNING[31851]: app_dial.c:1325 dial_exec_full: Unable to create channel of type 'SIP' (cause 3 - No route to destination)
  == Everyone is busy/congested at this time (1:0/0/1)
    -- Auto fallthrough, channel 'Mobile/SX1-7a36' status is 'CHANUNAVAIL'
[Sep 16 15:56:19] NOTICE[31851]: cdr.c:432 ast_cdr_free: CDR on channel 'Mobile/SX1-7a36' not posted
    -- Bluetooth Device SX1 has disconnected, reason (104).


Abgehendes Gespraech:
Code:
  == Using TOS bits 0
  == Using CoS mark 5
    -- Executing [handynummer@ext_12:1] Macro("SIP/12-08216a50", "ruf,Mobile/SX1,handynummer") in new stack
    -- Executing [s@macro-ruf:1] NoOp("SIP/12-08216a50", "Macro: Ruf --  ruft handynummer an") in new stack
    -- Executing [s@macro-ruf:2] Dial("SIP/12-08216a50", "Mobile/SX1/handynummer,55,r") in new stack
    -- Called SX1/handynummer
    -- Mobile/SX1-0f91 is ringing
    -- Mobile/SX1-0f91 answered SIP/12-08216a50
[Sep 16 15:50:45] WARNING[31851]: translate.c:163 framein: no samples for ulawtolin
[Sep 16 15:50:45] WARNING[31851]: translate.c:163 framein: no samples for ulawtolin
[Sep 16 15:50:45] WARNING[31851]: translate.c:163 framein: no samples for ulawtolin
  == Spawn extension (macro-ruf, s, 2) exited non-zero on 'SIP/12-08216a50' in macro 'ruf'
  == Spawn extension (macro-ruf, s, 2) exited non-zero on 'SIP/12-08216a50'
    -- Bluetooth Device SX1 has disconnected, reason (104).
    -- Bluetooth Device SX1 has connected.
    -- Bluetooth Device SX1 initialised and ready.
Abgehende Gespraeche funktionieren wunderbar.

Meine Testergebnisse:
attachment.php

Wobei eingehende Gespraeche auf folgende Funktionalitaet getestet wurden:
Dial-command ins Leere. Geraet soll klingeln und eingehende Gespraeche selbst verwalten. Abgehoben habe ich jedoch wegen den Kosten noch nicht.
Abgehend:
SIP-Client stellt Verbindung ueber Mobiltelephon her. Audio-Uebertragung soll funktionieren. D.h. Audio aus SIP-Client und an der Gegenseite.
 

Anhänge

  • result.gif
    result.gif
    5.3 KB · Aufrufe: 140
Also ich habe es jetzt mit debian zum laufen gebracht und braucht auch keine modifizierte chan_mobile.c ging ohne...


Nur komisch weise wenn ich raustelefoniere will das nicht mein handy macht auch ein Rufaufbau aber auch nicht mehr und irgend wann ist es dann weg.

Auf der Console habe ich da meisten so was stehen.
hci_scodata_packet: hci0 SCO packet for unkonown connection handle 54 wo bei die zahl manchmal auch 44 oder 54 oder 51 ist ...

Habe es mit drei Nokias getestet und bei allen drein das gleiche ergebniss.

gsmgateway*CLI> mobile show devices
ID Address Group Adapter Connected State SMS
hallo 00:0E:ED:1B:F5:C8 0 acer No Free No
6600 00:60:57:B7:90:7F 0 acer Yes Free No
e61 00:12:D1:98:AB:28 0 acer No Init No

eine weitere frage ist ob man zu mehreren gleichzeitig connecten kan, würde so was gehen?
sip.conf
Code:
[general]
context=default
bindport=5060
bindaddr=0.0.0.0 
srvlookup=yes

[30]
callerid=Phone 1 <30>
host=dynamic
user=30
secret=geheim
type=friend

extensions.conf
Code:
[general]
static=yes
writeprotect=no
autofallthrough=yes
clearglobalvars=no
dtmfmode=auto 
language=de
[globals]
language=de
dtmfmode=auto 

[default]
exten => _111X.,1,Dial(Mobile/e61/${EXTEN:3})
exten => _222X.,1,Dial(Mobile/hallo/${EXTEN:3})
exten => _333X.,1,Dial(Mobile/6600/${EXTEN:3})


[incoming-mobile]
exten => s,1,Answer
exten => s,n,Dial,SIP/30

mobile.conf
Code:
[general]
interval=60


[adapter]
id=acer
address=00:02:72:B1:1F:38


[e61]
address=00:12:D1:98:AB:28
port=28
context=incoming-mobile
adapter=acer

[6600]
address=00:60:57:B7:90:7F
port=3
context=incoming-mobile
adapter=acer

[hallo]
address=00:0E:ED:1B:F5:C8
port=1
context=incoming-mobile
adapter=acer
 
@Fredjam: So weit ich das weiß funktioniert aktuell nur 1 Bluetooth Empfänger pro Handy, in Zukunft soll dies aber ausgebaut werden. Zu finden war das glaube ich hier: http://svn.digium.com/view/asterisk...bile.txt?revision=384&view=markup&pathrev=384

Das einzige was Du machen könntest (sofern es läuft), die Geräte in eine Gruppe zu fassen und dann ein externen Anruf über die Gruppe zu machen. Das Gerät welches angemeldet ist wird genommen. Jedoch bringt dies nicht allzu viel, da immer nur ein Sprachkanal (wg. 1 Dongle) verfügbar ist. Die Infos zu den Gruppen findest Du glaube ich aber nur in den Src.


Gruß

Martin
 
Also bei mir geht das jetzt mit dem E61 wobei ich hier sagen muss das es das ein zigste ist wo ich dieses Jahr ein Firmware update gemacht habe.

Habe hier mal ein Tutorial gemacht womit man schnell einen Server aufsetzte kann womit man dann dreckt asterisk mit einem Handy koppeln kann.

Also da ich mich sehr dadruch gekämpft habe sind hier auch paar Anfänger befehle drinne und manche schritte kann man bestimmt auch verkürzen, aber ich habe es jetzt einfach mal so gelassen wie ich es gemacht habe. ;)
also plz bitte nicht meckern.
Der untere teil ist auf Spanisch habe ich einfach übernommen ^^.
Wer einen Debian Server schon hat kann irgend wo in der Mitte anfangen.

Code:
 http://cdimage.debian.org/debian-cd/4.0_r1/i386/iso-cd/debian-40r1-i386-netinst.iso


Das image brennen und installieren.
Dabei drauf achten das die Internetspiegelung gemacht wird.

wenn man dann als root eingeloggt ist erst mal ssh installieren, also 

	
	apt-get install ssh


dann entweder mit WinSCP oder in der console mit nano z.B. die datei
/etc/apt/source.list
Editieren und so sollte sie danach aussehen.

deb http://ftp.de.debian.org/debian/ stable main
deb-src http://ftp.de.debian.org/debian/ stable main

deb http://security.debian.org/ stable/updates main

deb http://bluez.sourceforge.net/download/debian/ ./
deb-src http://bluez.sourceforge.net/download/debian/ ./


Dann einmal der befehl 

	aptitude update 
danach
	aptitude upgrade

	apt-get install bluetooth bluez-utils libbluetooth2 libbluetooth2-dev

	aptitude install gcc libc6 m4 openssl zlibc libkrb5-dev libncurses5 libncurses5-dev libssl-dev zlib1g-dev make wget g++

 
Danach die datei /etc/bluetooth/hcid.conf
die soll dann so aussehen 

options {
  autoinit yes;
  security auto;
  pairing multi;
  passkey "1234";
}

device {
  name "btstick";
  class 0x3e0100;
  iscan enable; pscan enable;
  lm master;
  lp rswitch,hold,sniff,park;
}


Soo danach das ausführen jetzt wird der stick neu geladen.
/etc/init.d/bluetooth restart

cd /usr/src
apt-get install subversion
svn co http://svn.digium.com/svn/asterisk/trunk asterisk-trunk
cd asterisk-trunk
./configure
make && make install

cd ..
svn co http://svn.digium.com/svn/asterisk-addons/trunk asterisk-addons-trunk
cd asterisk-addons-trunk
./configure
make menuselect
dann einfach auf x drücken.
make && make install && make samples



Ya tenemos Asterisk listo, comencemos la configuración del chan_mobile!

Lo primero que necesitamos saber es la dirección MAC del adaptador bluetooth que hemos conectado a nuestro servidor, que podemos obtener ejecutando:

#hcitool dev

Obtendremos una salida como esta:

    asterisk-debian:/etc/asterisk# hcitool dev
    Devices:
    hci0 00:02:72:C9:6E:33

Ahora editamos el fichero mobile.conf y añadimos una sección con la configuración de nuestro adaptador:

    [adapter]
    id=bluekosa
    address=00:02:72:C9:6E:33

Ya tenemos el adaptador “bluekosa” conectado, ahora tenemos que localizar el móvil. Para ello arrancamos Asterisk y desde el CLI ejecutamos:

*CLI>mobile search

Del resultado de la búsqueda, anotamos la MAC del dispositivo y el puerto que utiliza. A continuación paramos Asterisk y editamos otra vez el fichero mobile.conf y añadimos la sección correspondiente al teléfono:

    [n70]
    address=00:17:4B:13:71:CC
    port=1
    context=incoming-mobile
    adapter=bluekosa

Ahora ejecutamos el siguiente comando, de manera que nuestro servidor sea visible. Después lo emparejamos con nuestro móvil, utilizando la contraseña que indicamos en el fichero /etc/bluetooth/hci.conf (passkey).

dbus-send --system --dest=org.bluez /org/bluez/hci0 org.bluez.Adapter.SetMode string:discoverable

Ya podemos arrancar Asterisk, y si todo ha ido bien, podremos ver algo parecido a esto:

scr1.jpg

Ya casi esta, solo nos queda configurar el dialplan para hacer y recibir llamadas con el móvil. Para recibir llamadas, creamos el contexto inoming-mobile que hemos especificado en el fichero mobile.conf, por ejemplo yo he realizado las pruebas así:

    [incoming-mobile]
    exten => s,1,Answer
    exten => s,n,Playback(demo-congrats)
    exten => s,n,Echo

De esta manera podemos comprobar tanto el envío como la recepción de audio. Para las llamadas salientes, podemos utilizar esta configuración:

    exten => _0X.,1,Dial(Mobile/n70/${EXTEN:1})

Voila! Ya tenemos nuestro Asterisk con chan_mobile funcionando! :D

Review

Las pruebas realizadas han sido sencillas, hacer y recibir llamadas con un softphone en un PC, a través del móvil que estaba encima de la mesa :)

Los resultados han sido muy buenos, la calidad era perfecta (he llamado a mi padre y ni se ha dado cuenta xD).

PERO PERO PERO, me he encontrado con una pequeña pega: al llamar a un teléfono fijo, no se detectaba el colgado. Esto al parecer es un pequeño bug, así que espero que se resuelva pronto. No obstante, las llamadas a móviles funcionan correctamente.

ToDo

Me hubiera gustado probar el envío y recepción de SMS, pero al hacer el scan con Asterisk, este me dice que no tengo esa posibilidad… no se si es por el adaptador o por el móvil, así que haré más pruebas…

También me hubiera gustado probar un manos libres bluetooth, y recibir con él llamadas, pero no tengo ninguno… A alguien le sobra uno? :)

Y hasta aquí hemos llegado, espero que os sirva y que disfrutéis tal y como yo lo he hecho haciendo pruebas y escribiendo estas líneas. Njoy!

So habe noch paar fragen. mit welchen Handy funktionert auch die SMS funktion, welches Handy empfehlt ihr?
Ist bei euch das telefonieren auch ein wenig Async
Und meine Hauptfrage ist nachdem ihr eine Telefonat geführt habt,
Code:
    -- Bluetooth Device e61 has disconnected, reason (104).
    -- Bluetooth Device e61 has connected.
    -- Bluetooth Device e61 initialised and ready.
Connected er und nach kurzer zeit verbindet er sich wieder.
Kann ich das umgehen so dass das Handy immer verbunden ist?

Ach ja noch was :D

bekomme eine stabile version von asterisk nicht mit dem addon zum laufen warum auch immer beim compelieren spuckt der halt immer diesen fehler aus.
 
Zuletzt bearbeitet:
So, ich hab' mir jetzt ein 6310i mal besorgt; das lässt hier keine Kopplung zum bluetooth stack zu, einen eingehenden Verbindungsaufbau vom Asterisk wird mit "Bluetooth-Verbindung nicht möglich" abgebrochen.

Die Firmware wird aber vermutlich nicht gerade jung sein. Da ich es aber nur leihweise habe, kann ich kein Upgrade machen.

Wie stehen jetzt die chancen, dass es doch am BT-Stick liegt?
(btw: Die Acer waren doch aber CSR, oder?)

Mit folgenden Handies hab' ichs erfolglos probiert:
T610 (keine Updates, 5 Jahre alt)
6600 (Firmware war vor ca 2. Jahren zuletzt aktualisiert worden)
6233 (Handy ist neu)
6310i (?)
6280 (etwas über 1 Jahr alt, ohne Updates)

Was ich bisher probiert habe:
Asterisk 1.4.11 mit chan_mobile von Seite 5 aus diesem Thread (Trunk Version lässt sich nicht kompilieren)
Ein Asterisk Trunk + Add-on Trunk habe ich bisher noch bleiben lassen, da sich chan_capi momentan nicht kompilieren lässt.

Da sich aber in jedem Fall nur um die fehlende Audio-Verbindung zum Asterisk handelt, glaube ich hier eher ein Bluetooth-Problem zu haben.
Möglich, dass es vielleicht auch am Handy liegt.
Was meint Ihr? 30¤ für ein 3650i ausgeben und damit nochmal versuchen?

Der Bluetooth kram kommt hier jedenfalls vom Ubuntu Repository (feisty). Hat das jemand am laufen? Liegt der Fehler vielleicht hier?

Besten Dank für eure Tipps schonmal vorweg!

Gruß Mario
 
Also ich nutzte auch einen Acer und bei mir geht es bis jetzt nur mit dem E61.
Hier habe ich nen Firmware vor 3 monaten gemacht.
 
Erst einmal zu meinen Tests:
Habe mittlerweile 2 Bluetooth Stick probiert und immer kein Audio mit dem Nokia 6230i (aktuellste FW 3.89). SMS Funktionalität ist gegeben.
Auch mit einem der Bluetooth Dongles zusammen mit einem Samsung Gerät hat es nicht funktioniert. Weder die Rufübergabe an Asterisk noch die folgende Audioübergabe.
Also ich werde warten bis eine neue Asterisk Version von Asterisk raugekommen ist, die eine gleiche API hat wie die aktuelle chan_mobile version und dann noch einmal probieren. Wenn es dann nicht klappt werde ich mich direkt an den Entwickler über die Homepage http://bugs.digium.com wenden.

Gruß

Martin
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.