SIPクライアントを設定する
SIPは、サーバを設定するだけでは、きちんと動いてくれませぬ。クライアント側の設定も、きちんとあってないと、つながったり、つながらなかったりします…ここが、ネット上ほぼ何も解説が無かったので、エラー&トライでものすごく難儀したところです。
では、固定電話をSIP電話化する、ATA*1と、AndroidでのSIPクライアントについての設定の注意点を記述していきます。
固定電話機用ATA
私は、Grandstream HT701という製品をAmazonで購入しました。電話機は大概の家にはあるでしょうから、正直新規買い増しなんてもったいない。Amazonさんで調べると、一万円位するんだよね。HT701はアナログ電話機の前段につなぐボックスで、3500円位とリーズナブル。SRTPやTLSにも対応しているので、家庭で使用するには非常に都合がいい価格です。しかも副次効果で、NTTのナンバーディスプレイ式信号もサポートしているので、ナンバーディスプレイ対応電話機であれば着信電番が表示されるという嬉しさ。さて、設定をしてまいりましょう。
初期設定
購入すると、マニュアルがついてきません…なもんで、ここらへんからダウンロードしてきます。
まずは、この人をネットに接続するのが一苦労…私んちは、MACアドレスで固定IPを払いだしているので、まずはMACを調べます。そして、MACアドレスを調べて、その後ブロードバンドルーターにMACに対応するIPアドレス払い出しを設定し、DHCPモードで接続してやりました。
- 電源を入れて、電話機をつなぐ。HT701のLEDが点灯し、ブートしたのを確認したら、受話器をあげてみます。なんかアメリカっぽいトーン音聞こえましたか?そしたら、「***」を押す。「Enter the ウンタラ Option」と言われる
- 「10」と回すとMACアドレスを読み上げてくれる。メモる。
- 「01」と回すと、IPアドレスの払い出しモード選択になる。「9」を押すとDHCP/スタティックIPの選択になる。DHCPにセット。
- ブロードバンドルーターにMACに対応する固定IP払い出しを設定する。
- もいちどHT701を電源リセット。ネットワークに繋ぐ。
- 起動したのを確認して、IPアドレスを調べる。「***」「02」読み上げられたIPアドレスが設定通りだったら、完了。おかしかったらもう一度設定見なおしてね。
カスタマイズ
ブラウザでATAのアドレスにアクセスすると、Web画面が開きます。ここで編集する。初期設定パスワードはマニュアルに書いてありますので、それでログイン。パスワードは変更しておいてね~。こんな画面が開きます。
で、好きな様に設定すればいいのですが、私が気をつけた点を。
FXS PORTを開きます。
- Account Active Yes
- Register Expiration 5 デフォルト60分で、Asterisk再起動した時に、登録のリトライしてくれないと60分不通になっちゃうので…
- Primary SIP Server/Failover SIP Server/Outbound Proxy Asteriskが動いているPCのFQDN
- SIP Transport UDP。家庭内LANなので、TLSはめんどくさくて設定してないっす。
- SIP User ID/Authenticate ID Asteriskで設定したSIP IDを。先ほどのAsteriskの設定だと、内線番号になります。
- Authenticate Password secret=で指定したパスワード
- SRTP Mode Enabled and forced 通信内容の暗号化はONにしています。
これで、しばらく待ちます。STATUS画面で、RegistrationがRegistedになったらつながったってことになります。
スマホ側SIPクライアント
私はAndroidスマホを使用しております。Android4.1からは、SIPアカウントの追加に対応しているらしいのですが、私が使用しているGalaxy S4(docomo端末SC-04E)では、SIPアカウント追加メニューが、どこを探してもありません…なもんで、CSipSimpleを使用しています。これは、かなり細かい設定ができるので便利です。Androidの標準SIP機能だと…TLSとかSRTPとか動くのかなぁ?まぁ、電話帳と通話履歴をAndroidの標準機能と統合できるので、めたくそ便利です。
iPhoneだと、Acrobits Softphoneてのがいいらしいと、ネット上では書いてはありますが、使ったこと無いのでなんとも…。一応こちらの設定項目を書いていきまーす。
準備
モバイル端末は、外部ネットワークからの登録も行う予定なので、TLSで認証するようにします。このため、端末側にもTLS証明書が必要です。ここで、ast_tls_certに登場頂きます。
# ast_tls_cert -C client.com -O "Mobile Terminal"
すると、以下のファイルが出来ますね。
asterisk.crt asterisk.csr asterisk.key asterisk.pem ca.cfg ca.crt ca.key
こいつらをスマホのどこかにコピーしてやります。
初期設定
まずCSipSimpleを起動すると、簡易設定が起動します。
- Androidと統合 チェック
- 常に使用可 チェック…好みですが、発着信をどこでも出来るようにするため
- モバイルデータでの通信を許可 チェック…好みですが、発着信をどこでも出来るようにするため
まずはこんな所
アカウントを追加
CSipSimpleを開くと、数字キーパッド画面が出ますね。
左下の方に、カギマークがありますか。それがアカウント追加ボタンです。こんな画面になります。
- アカウントを追加 タッチ
- ウィザードを選択でAdvancedを選ぶ。こんな画面ね。
- アカウント名 CSipSimple上での表示名称を選ぶ。
- サーバ Asteriskが立ち上げられているサーバのFQDN
- ユーザ名 SIP_ID。先ほどのAsteriskの設定だと、内線番号になります。
- パスワード sip.confに記述したsecret=の中身になります
…さて、これだけでは、まだ足らないのです。これで一旦保存します。この後、保存したアカウントを開いて…
- 端末のメニュー画面を開くと「ウィザードを選択」メニューが有ります。Expertを選択 設定項目がガバっと増えましたね。こんな感じ
- トランスポート TLSを選択
- SRTP 必須を選択
- Allow SDP NAT rewrite にチェック
で保存。DoCoMo網から通信するとき、Allow SDP NAT rewriteが入ってないと音声が聞こえませんでした…
さてさて、さらにさらに…数字キーパッド画面で、Android端末のメニューボタンを押すと、「設定」メニューがありますね~。押す。
- さらにメニュー画面でAndroid端末のメニューボタンを押すと、「上級者モード」ありますね。押す。
- セキュアトランスポートを開く
- TLS チェック
- TLS CAファイル 先ほど端末に保存した証明書のca.crtをフルパスで指定する
- TLS証明書ファイル 先ほど端末に保存した証明書のasterisk.crtをフルパスで指定する
- TLS秘密鍵ファイル 先ほど端末に保存した証明書のasterisk.keyをフルパスで指定する
- メディアを開く
- エコーキャンセル チェック
- コーデック PCMU PCMAがいいと思います。NTT固定電話とほぼ同じ品質です。データ量が多いため、遅延が大きくなる傾向はありますが。私は、早い帯域(WiFi/その他)はPCMU/PCMA/iLBC、遅い帯域(3G/GPRS/EDGE)ではspeex/iLBC/PCMU/PCMAにしています。
これでOKなはずかな。アカウントが登録済に変化すれば、OKですね。
Attach file:
Page Info | |
---|---|
Page Name : | Gentoo Linuxな生活/スマホとATA側の設定をする |
Page aliases : | None |
Page owner : | maruo |
Can Read | |
Groups : | All visitors |
Users : | All visitors |
Can Edit | |
Groups : | No one |
Users : | No one |