« とりあえずネットワーク構築だだだ! | トップページ | メインマシンを組みなおした。 »

2008年7月31日 (木)

家の電話回線をすべて収容

現在、家から利用可能な電話回線は、

・KDDI ひかりone電話(1番号)
・Bフレッツ ひかり電話(3番号)
・@NiftyフォンC(1番号)
・auone-net(1番号)
・G-LEX(G-LEX番号は3番号、050番号は1番号)

です(このほかに会社のAsteriskとIAX2接続し内線通話も構築)。

これらの回線を数台の電話で、どの番号からの着信かの判別や、発信回線の選択をできるようできるようになりました。

すでに、ひかりone電話とG-LEX、auone-netは使えるようになっていたため、今回、新しく用意した中古CompaqデスクトップPC機のサーバ(CentOS4.6+Asterisk1.2.18)に、@NiftyフォンCとひかり電話を接続しました。

現在、電話用GW(IPA201,eGateway5000など)は、FMVのAsteriskに収容しています。こちらはauone-netのSIPを接続している関係で、@Niftyフォン用は別サーバを立てるつもりでいました。
ひかり電話もFMV側で収容しようと思っていたのですが、LANカードを認識してくれなかったため、ひかり電話もCompaq側で収容することにしました。FMV-CompaqはIAX2でトランク接続します。

そのほか、G-LEXの3番号のうち1番号をCompaq側からレジストするようにしました。G-LEXには、IAX2着信時に接続ができなかった場合に、留守電や別のG-LEX番号へ転送する機能があります。FMVとCompaqは異なるインターネット回線を使用しているため、ひかりoneが使用不可になった場合、Bフレッツ経由で着信ができたりするのかな?っていう実験をやってみようかと思います(今回はまだ設定していません)

Asterisk中心にみた構成図はこんな感じ

       +--(ひかりone経由IAX)--会社*/G-LEX
       +--(auone-net経由SIP)--KDDI_IP電話
*SV1(FMV)---+--(AX100P)--ひかりone電話HGW
       +--(ATA/GW)--アナログ電話/PHSほか
       +--(IAX2接続)--*SV2(Compaq)--(@Nifty経由)---@Niftyフォン

                  +--------(@Nifty経由)---G-LEX
                  +---------(増設LAN)-----RT200NE(ひかり電話)

KDDIのIP電話は接続事例がありましたし、@NiftyフォンCはNTTコミュニケーションズのIP電話なので、OCNドットフォンの事例を参考にしました。

ひかり電話については、インストール時にrt200neパッチを当ててあり、参考情報もたくさんありましたので、問題なくレジストできました。

FMV-Compaq間もIAX2でトランク接続し、extentions.confも設定。発着信も無事できるようになりました。

が、ここで1つ問題が。

IPA201経由では問題なく通話できたのですが、eGateway経由でCompaq側のひかり電話や@Niftyフォン経由で発信すると、なぜか片通話(相手の声は聞こえるが、こちらの声が伝わらない)になってしまいます。発信時のみ問題が発生し、着信した場合は正常でした。

最初はNATまわりかと思ったのですが、直結しているひかり電話でも同じ状態だったので、原因がさっぱり?でした。CLIで状況を確認してみたのが下記のとおりです。

    -- Executing Goto("SIP/xxxx-085a7398", "rt200ne3outgoing|090xxxxxxxx|1") in new stack
    -- Goto (rt200ne3outgoing,xxxxxxxx,1)
    -- Executing Answer("SIP/xxxx-085a7398", "") in new stack
    -- Executing Dial("SIP/xxxx-085a7398", "IAX2/shishimaru/xxxx090xxxxxxxx|60|tT") in new stack
    -- Called shishimaru/xxxx090xxxxxxxx
    -- Call accepted by 192.168.xxx.xxx (format ulaw)
    -- Format for call is ulaw
    -- IAX2/shishimaru-16384 is making progress passing it to SIP/xxxx-085a7398
    -- IAX2/shishimaru-16384 is ringing
    -- IAX2/shishimaru-16384 is making progress passing it to SIP/xxxx-085a7398
    -- IAX2/shishimaru-16384 stopped sounds
    -- IAX2/shishimaru-16384 answered SIP/xxxx-085a7398
    -- Hungup 'IAX2/shishimaru-16384'
  == Spawn extension (rt200ne3outgoing, 090xxxxxxxx, 2) exited non-zero on 'SIP/xxxx-085a7

これは、携帯電話にかけてみたときの様子です。shishimaruはCompaqサーバのことで、さらにCompaq側で発信する回線を選ぶために、電番の前に識別番号4桁を付加してDialしています。

気になるのが「stopped sounds」という部分。正常通話できるIPA201では出ませんでした。

最初、

exten=>_X.,1,Dial(IAX2/shishimaru/xxxx${EXTEN},60,tT)
exten=>_X,,n,Hangup

としていたのですが、これを

exten=>_X.,1,Dial(IAX2/shishimaru/xxxx${EXTEN},60,rtT)
exten=>_X,,n,Hangup

としてみました。これで通話はできるようになりましたが、呼び出し音が強制的にAsterisk側のRingingToneになってしまうため、「現在使われれておりません」とか「電波の届かない場所にあるか電源が入っていないため・・・」という局側アナウンスが流れる場合でも呼び出し音になってしまいます。その後、数時間にわたって試行錯誤した末、自動応答のサンプルを見て思いつき、次の設定を試したところ正常に通話できるようになりました。

exten=>_X.,1,Answer()
exten=>_X.,n,Dial(IAX2/shishimaru/xxxx${EXTEN},60,tT)
exten=>_X,,n,Hangup

eGatewayでもIPA201でも問題ありませんでした。端末間の制御の違いなのでしょうか。とりあえずしばらくこれで様子を見てみようと思います。

onwriskなので動いてラッキーなことではあると思いますが、それが大変でもあり面白いところでもありますね。

|

« とりあえずネットワーク構築だだだ! | トップページ | メインマシンを組みなおした。 »

VoIP」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/143036/42020302

この記事へのトラックバック一覧です: 家の電話回線をすべて収容:

« とりあえずネットワーク構築だだだ! | トップページ | メインマシンを組みなおした。 »