Asterisk trunk - 3G modem

Fórumok

Sziasztok!

Kaptam egy ZTE MF-626 típusú 3G modemet. Linux alatt felismeri a benne lévő kártyát és küldtem róla SMS-t is, tehát elvileg rendben van, modemként is elérem.

Kérdésem, vajon be tudnám-e állítani Asterisk alá, tehát tudnék-e róla hívást indítani vagy hívást fogadni és létezik-e ehhez használható illesztőeszköz.
Nem próbáltam, de írtak olyan Windowsos programot ehhez a készülékhez, amivel elvileg működik a dolog, tehát nem tűnik lehetetlennek.

Csinált már valaki ilyesmit?
Mire érdemes rákeresni?

Remélem, nem megoldhatatlan a dolog.
Kíváncsi lennék, kinek mi a véleménye/tapasztalata erről.

Szerk.: chan_sebi-re keresve találtam ezt a bejegyzést is: http://hup.hu/node/91986

Érdekes, mert mintha nem támogatná a hanghívást a modem... ezekszerint ATDxxxx-re tárcsáznia kéne, ezt eddig is próbáltam, sikertelenül...
...lehet, kéne nézni másik firmware-t, hátha.

Szerk2.: Frissítettem a firmware-t az MF-627 típuséra, most terminálból látom a bejövő hívást és tudok hívást kezdeményezni, igaz, először nem került a végére ";", így No Carrier volt a hibaüzenet.

Tehát a következő lépés valamikor megnézni ezt a chan_sebi-t. :)
A szerkezet eddig jónak néz ki.

Hozzászólások

Köszi, ezt nem találtam meg.

Nem tudom, milyen különbségek vannak az egyes eszközök között (nem szabványosították a parancsokat ?!), de tudom, hogy vannak egyedi "modemparancsok" pl. az emulált CD engedélyezésére/tiltására.

Azt írják viszont, hogy egyes ZTE modemekkel is működik, tehát lehet rá esély, hogy ezzel is használható.
Egy bejegyzést találtam a 627-esről, erre azt írja, hogy nem támogatott a hang... viszont sikerült olyan firmware-t találnom, amivel úgy tűnik, működhet ez a feature, bár ettől még kérdés, hogy használható-e.

Köszönöm mégegyszer. Ez jobbnak tűnik, mert úgy látszik, él a project.
Ki fogom próbálni valamikor.

Nálam úgy néz ki, hogy a modem felé 4 port látható. Ebből a ttyUSB1 és 3-ra tudok modemparancsokat küldeni terminálból.
Látom a bejövő hívást, ha SMS érkezik, ill. meg is tudom nézni, tudok SMS-t küldeni és tárcsázni is.

Az általad írt chan_datacard ill. annak chan_dongle utódját lefordítottam, betette magát a pluginek közé.
A configjában megadtam az audio=/dev/ttyUSB0, data=/dev/ttyUSB1 paramétereket, máshoz eddig nem nyúltam.

Újraindítva az Asterisk logban "at_response.c: [dongle0] Error enabling registration info" ismétlődik.
Gondolom, ez így nem normális... vagy valamit be kellett volna állítanom még rajt.

Van ötleted, mi lehet a gondja? Mi az a minimális config, amivel indulnia kéne?

A rendszer 32-bites Debian Squeeze.

No, megint vacakoltam kicsit. :)

Egyelőre ott tartok, hogy a modem nem fogadja el az AT+CREG=2 parancsot, erre errort dob, ezért kapok hibaüzenetet.
A lehetséges opciói itt 0 vagy 1, tehát megváltoztattam AT+CREG=1-re...

Így tovább is megy, látja az eszközt, IMEI-t, IMSI-t, modelt és firmware-t.
Provider name és Number mező ismeretlen, itt megint van némi probléma a modemparancsokkal... bár talán ez nem lenne olyan nagy baj.

Viszont most "Dongle has NO voice support" üzenetet ad, ami annak köszönhető, hogy az AT^CVOICE? parancsra a készülék errort dob.
Ettől függetlenül nem vagyok 100%-ig biztos abban, hogy nem támogatja, lévén kicsörög és lehet róla hívni. Tehát elvileg letiltva nincs a hangkommunikáció.
Szerintem az AT parancsok térnek el vagy egyszerűen nem támogatja ezt a lekérdezést... mindjárt kipróbálom nélküle. :)

Szerk.: Most becsaptam a hangot illetően, de a GSM státuszt is próbálná lekérni, ami így not registered lett, pedig de... fent van a hálózaton.

Amúgy jelenleg ez a státusz:

xxxx*CLI> dongle show device state dongle0 
-------------- Status -------------
  Device                  : dongle0
  State                   : GSM not registered
  Audio                   : /dev/ttyUSB0
  Data                    : /dev/ttyUSB1
  Voice                   : Yes
  SMS                     : Yes
  Manufacturer            : ZTE INCORPORATED
  Model                   : MF627
  Firmware                : BD_MTSP673A4V1.0.0B02
  IMEI                    : 357xxxxxxxxxxxx
  IMSI                    : 21601xxxxxxxxxx
  GSM Registration Status : Not registered, not searching
  RSSI                    : 20, -113 dBm
  Mode                    : No Service
  Submode                 : No service
  Provider Name           : NONE
  Location area code      : 
  Cell ID                 : 
  Subscriber Number       : Unknown
  SMS Service Center      : +36209300099
  Use UCS-2 encoding      : Yes
  USSD use 7 bit encoding : No
  USSD use UCS-2 decoding : No
  Tasks in queue          : 0
  Commands in queue       : 0
  Call Waiting            : Disabled
  Current device state    : start
  Desired device state    : start
  When change state       : now
  Calls/Channels          : 0
    Active                : 0
    Held                  : 0
    Dialing               : 0
    Alerting              : 0
    Incoming              : 0
    Waiting               : 0
    Releasing             : 0
    Initializing          : 0

Szerk2.: Tényleg nem volt hálózaton, valahogy elhagyta magát közben...
Lehúztam és vissza, most jelzi is, hogy a hálózaton van.

Hívtam egyszer, kinyomta és ezt írta:

  == Starting Dongle/dongle0-0100000000 at default,+1234567890,1 failed so falling back to exten 's'
  == Starting Dongle/dongle0-0100000000 at default,s,1 still failed so falling back to context 'default'
[Jun  6 18:59:43] WARNING[30336]: pbx.c:4369 __ast_pbx_run: Channel 'Dongle/dongle0-0100000000' sent into invalid extension 's' in context 'default', but no invalid handler

Ok, be kell állítani kicsit. :)
Viszont ezután kiakadhatott, mert második hívás óta kicsörög és a hívás végeztével is a status szerint folyamatosan van incoming call...

Szerk3.: Csináltam egy bejövő hívást mobilra, ki is csörgött a helyi SIP készülékemen, de miután leraktam a mobilt, csörgött tovább (timeout-ig)... a bejövő hívást folyamatosan jelezte, később is. Emiatt újra kellett indítanom a modult az asterisk-ben, ezután alapállapotba került. Indítottam egy újabb hívást rá, ezt fel is próbáltam venni, de mindkét oldal süket volt. Vezetékesről hívtam, talán abban lehetett néhány másodpercig hallani a mobil-féle zavar hangját.

Ezután viszont nem tudtam újraindítani asterisk-et sem úgy, hogy felismerje az eszközt, majd miután kihúztam, nem váltott át a rendszer CD-módból. Másik gépen megcsinálja, szerintem egy újraindítás kellene...
...nem lesz ez jó így, azt már látom...

Szerk3.: A mobil zavar megvan, a rendszer csörög rá a mobilomra ilyenkor (benne van a csoportban, amit beállítottam neki), ezt elfelejtettem. :)
A dongle végül helyreállt újraindítás nélkül, de hívás nem jött össze.

Asterisk hibaüzenet:

   -- Executing [+3620xxxxxxx@mobile-in:1] Set("Dongle/dongle0-0100000001", "CALLERID(all)=<+3670xxxxxxx>") in new stack
    -- Executing [+36xxxxxxxxx@mobile-in:2] Queue("Dongle/dongle0-0100000001", "yyyyyyyy") in new stack
    -- Music class  requested but no musiconhold loaded.
  == Using SIP RTP CoS mark 5
  == Using SIP RTP CoS mark 5
  == Using SIP RTP CoS mark 5
  == Using SIP RTP CoS mark 5
    -- SIP/zzzz-00000002 is ringing
    -- SIP/zzzz-00000002 answered Dongle/dongle0-0100000001
[Jun  6 19:31:19] ERROR[2727]: chan_dongle.c:433 do_monitor_phone: [dongle0] timedout while waiting 'OK' in response to 'ATA'
  == Spawn extension (mobile-in, +3620xxxxxxx, 2) exited non-zero on 'Dongle/dongle0-0100000001'
    -- [dongle0] Dongle has disconnected
    -- [dongle0] Trying to connect on /dev/ttyUSB1...
    -- [dongle0] Dongle has connected, initializing...
[Jun  6 19:31:44] ERROR[2729]: chan_dongle.c:433 do_monitor_phone: [dongle0] timedout while waiting 'OK' in response to 'AT'
    -- [dongle0] Error initializing Dongle
    -- [dongle0] Dongle has disconnected
    -- [dongle0] Trying to connect on /dev/ttyUSB1...
    -- [dongle0] Dongle has connected, initializing...

...és most ezt ismételgeti... megint kiakadt a ZTE bigyula...

Szerk4.: Egyelőre feladtam.
Ez a ZTE egy vacak szerintem. Vagy kéne hozzá normálisabb firmware-t találni, ami támogat hanghívást is vagy megtalálni, mely modemparancs miatt száll el... esetleg tudomásul venni, hogy ez ilyen és keresni egy normális modemet. :(

...hát erre jutottam vele...

Szerk5.: A modem amúgy ATA-ra azt válaszolja, hogy CONNECT (a progi OK-t vár?).
Ezután ATH-ra nem rakja le (OK), ha lerakja a hívó fél, ezt jelzi: "HANGUP: 1"

További modemparancsokat is elfogad utána...

Szerk6.: Hangupra az AT+CHUP parancs jó.

Örülök, hogy sehol nem lehet megtalálni a modem által támogatott parancsokat leírással... ez afféle "titkos információ" vagy micsoda... :S

AT+CVHU 1 értéken van, ezért nem fogadja el az ATH-t. Ha átállítom, elfogadja.

Hívásindítást nem próbáltam róla, lehet, azt is kellett volna... :)

Az a vicc, hogy mindenki egy a ZTE oldalán lévő dokumentumra hivatkozik, amiben állítólag le van írva...
...de a szerver szerint nincs jogosultságom elérni azt... máshol pedig nem találtam meg.

Terminálból le lehet kérni a támogatott parancsokat, de most azokat zongorázzam végig? :S

Mondjuk mindenképpen jó volna átrágni ennek a chan_datacard, ill. mostmár chan_dongle eszköznek a forrását az elejétől a végéig és megnézni, hol lehet még különbség a ZTE-nél.
Ill. jó volna tudni, a használt modemparancsokra a Huawei hogyan reagál.

Mondjuk az is igaz, hogy az AT^CVOICE?-re azt írja a comment, hogy read te current voice mode, and return sampling rate `data bit` frame period. Nos nem kizárt, hogy ezeket még ki kéne nyerni a ZTE-ből ill. egyáltalán kitalálni, hogyan lehetne megtudni a voice móddal kapcsolatos adatokat...

Valamiért el sem indul a hangátvitel, talán épp' ezért...