AWS上に構築したAsteriskでLinphone間の通話ができるまではいろいろと試行錯誤したので、その際に起きたトラブルや対処法などをメモ。
通話できるけど、30秒(とか20秒とか)決まった時間で勝手に切れる:
・NATの設定が正しくないか、sip.confのlocalnet/externipが正しくないときに起きた。
・電話を掛けられるけど音や映像が届かない場合は、NATもしくはポートの開放(AWSかファイアウォール)の設定が怪しい。
AWSのインスタンスを立ち上げるたびにIPが変わって通話できない
・ElasticIPを設定するしかなさそう。
・もしくは、IPが変わるたびにsip.confとクライアントのIPを修正する。
ログインできない、認証されない
・SIP用のポートが空いていない可能性が高い
・Androidなどから試す場合,デフォルト設定でランダムポートを利用する場合があるので、設定したポートに固定してみる
・UDP/TCP/TLSの設定が間違っているかも
数秒で接続が切れる
・Linphone前提だけど、qualifyがnoだと毎回起きるので、yesにしておく
CLI上でよく使うコマンド
・SIPアカウントの接続状態確認:sip show peers
・SIPアカウントの詳細な接続状態確認:sip show peer SIPアカウント
・SIPアカウントのデバッグメッセージON:sip set debug peer SIPアカウント
・sip.confの再読み込み:sip reload
・extensions.confの再読み込み:dialplan reload
・デバッグメッセージOFF:sip set debug off
・CLIから抜ける:quit
・コマンドのヘルプ:core show help XXX
・Asteriskを終了:core stop gracefully