久々にRaspberry Pi IP-PBXのお話。

Raspi_Colour_R

以前、Raspbbery Pi にAsteriskとFreePBXで構築したIP-PBX。

 

FUSION IP-PHONE SMARTは発信専用で着信がうまく行かないままだった。

その後着信のしかたがわかってたけど記事にしてなかったので書いておく。

着信の設定はTrunkのInccoming SettingのPEER Detailsの書き方が違っただけでした。

以前の記事では着信と発信の設定を同じにしてたけれど・・・

context=defaultcontext=from-trunkに書き換えるだけで着信はOK。

USER Detailsの方はcontext=from-trunkだけ書いておけばOK。

着信のなりわけは以前に書いたInboundRoute設定の通りに設定。

 

ひかり電話の着信はFUSIONで転送してAsteriskに直接レジストして使うことがなかったから気づかなかったけれど…

実は家の外からレジストして使用すると着信時に30秒で電話が切れてしまうことが発覚。

いろいろ試したら対策がわかったのでそちらも書いておく。

 

DDNS運用のためAsterisk Sip SettingのNAT Settingをドメインで指定していたけれど、コレをIP指定に直したら問題なく着信できることが発覚。

更に以前書いたFUSION回線を収容してAsteriskで運用した際に無音通話となってしまう問題も同時に解決した。

 

固定IP環境ではないのでDDNSを利用しているのでIPが変動してしまった時が困る…

NAT設定でIPを指定してもDDNSのドメインからレジストして利用する事に問題はなかった。

Asteriskが現在のIPを認識さえしていればDDNSで運用を続けても問題ない!

IPが変わった時にAsteriskの設定を更新してやるシェルスクリプトを書いてみる事にした。

とは言ってもDDNS更新スクリプトにすこし書き足しただけ。

 

IPが変動した時に実行される箇所にこの2行を書き足した。

sed -i -e “/^externip/c externip=${current}” /etc/asterisk/sip_general_addition$
asterisk -rx “core restart gracefully”

sedでAsteriskの設定ファイルを書き換え。

Asteriskの再起動

 

これだけ。

これでAsteriskをNAT超えで問題なく使えるようになった。

 

更にSIPのレジストが失敗していて到達不能の時は予備のFUSION回線を使って携帯に電話を転送出来るように設定しておいた。

しばらくFUSION回線もIP-PBX経由で運用してみようと思う。

 

AcrobitsSoftphoneがG729コーデックに正規対応すればFUSION回線もG729コーデックで運用できるようになるから音声遅延もだいぶ改善すると思うんだけどなぁ~

早く対応してくれ~!