Vznikla potřeba nakonfigurovat Asterisk pro volání přes 3G modem. Po krátkém hledání jsem našel modul s názvem chan_dongle.
Máme k dispozici Asterisk 11 na Ubuntu. Modem Huawei E173 (Djuice).
Nejprve je třeba povolit hlasový provoz a odvyknout modemu používat SIM karty daného operátora. Udělal jsem to pomocí programu dc-unlocker. Tento program se mi zalíbil, a tak jsem se rozhodl zakoupit kredity pro odemknutí.
No, pojďme na to.
Stáhněte si chan_dongle zde nebo zde.
Rozbalte archiv a přejděte do adresáře:
tar xzvf chan_dongle-1.1.r14.tgzcd chan_dongle-1.1.r14/
Kompilujte a nainstalujte:
aclocal && autoconf && automake -a./configure
make
make install
Pri Asterisku 11 se může objevit následující chyba:
In file included from app.c:21:0: /usr/include/asterisk/version.h:1:2: error: #error «Do not include ‘asterisk/version.h’; use ‘asterisk/ast_version.h’ instead.» app.c: In function ‘app_register’: app.c:162:3: warning: passing argument 2 of ‘ast_register_application2’ from incompatible pointer type [enabled by default] In file included from app.c:20:0: /usr/include/asterisk/module.h:458:5: note: expected ‘int (*)(struct ast_channel *, const char *)’ but argument is of type ‘int (*)(struct ast_channel *, void *)’ make: *** [app.o] Error 1
Řešení:
1. Stáhněte si zdrojový kód s patchem
2. Nainstalujte autoconf a automake
3. Rozbalte zdrojový kód, přejděte do jeho složky a postupně spusťte příkazy: aclocal, autoconf, automake -a
4. Nainstalujte chan_dongle běžným způsobem: ./configure, make, make install
5. Zkopírujte výchozí konfiguraci z etc/dongle.conf do adresáře s konfigurací Asterisku.
Tím je instalace dokončena. Přecházíme ke konfiguraci.
Nejprve zkontrolujeme, zda systém rozpoznal náš modem, spusťte:
ls /dev/ | grep USB
A pokud uvidíte něco jako:
ttyUSB0 ttyUSB1 ttyUSB2
Pak je vše v pořádku a můžeme pokračovat.
Přejděte do adresáře s Asteriskem a otevřete dongle.conf:
cd /etc/asterisk/vim dongle.conf
Mělo by to vypadat přibližně takto:
[dongle0] audio=/dev/ttyUSB1 data=/dev/ttyUSB2 context=income
Příklad nastavení příchozích hovorů v extensions.conf:
[income] exten => +380XXXXXXXXX,1,Dial(SIP/100) exten => +380XXXXXXXXX,n,hangup
Příklad nastavení odchozích hovorů v extensions.conf:
[out] exten => _X.,1,Dial(dongle/i:XXXXXXXXXXXXX/${EXTEN}) exten => _X.,n,hangup
Kde XXXXXXXXXXXXX je IMEI modemu, přes který chcete volat.
Poznámka: Nikdy nepoužívejte extenzi _X., protože je to velmi nebezpečné!
To je vše. Modem a Asterisk jsou připraveni na volání.
