Asterisk CLI SIP
CLIから利用可能なSIP関連コマンド色々
Asterisk 1.6にて確認しているため、以前のバージョンとは動作が異なる個所があります。
sip showコマンド
Asteriskと接続しているSIP機器のステータスを表示します。
sip show peers
peerになっている(Asteriskに接続している)
機器の状態を一覧表示します。
Asterisk*CLI> sip show peers Name/username Host Dyn Nat ACL Port Status 509/509 (Unspecified) D A 0 UNKNOWN 505/505 (Unspecified) D 0 Unmonitored 504/504 192.168.0.56 D 5060 UNREACHABLE 503/503 192.168.0.50 D 5060 Unmonitored 502/502 192.168.0.53 D 5060 OK (206 ms) 501/501 192.168.0.52 D 2048 OK (46 ms) Cisco_ISR2801 10.0.8.1 5060 OK (9 ms) Quintum_TenorBX816 10.0.8.2 5060 UNREACHABLE voip-ca3336.ocn.ne.jp/343 210.227.109.219 N 5060 OK (29 ms)
Name/username
Peer名およびユーザーログインIDが表示されます。
Host
SIP接続しているホストのIPアドレスが表示されます。
host=dynamicと設定されていてSIP接続されていないホストは(Unspecified)と表示されます。
Dyn
host=dynamicになっている時にDの表示がつきます。
Nat
NATが有効になっている時にNの表示がつきます。
nat=yesもしくはnat=routeが入っているときに有効になります。
ACL
ACLによるIPアドレス接続規制が有効になっている時にAの表示がつきます。
deny=0.0.0.0/0やpermit=などの設定が入っているときに有効になります。
Port
SIP接続しているホストのソース(送信元)ポートが表示されます。
Status
AsteriskからSIP接続しているホストに対し、死活確認を行った結果が表示されます
qualify=yesが入っているときに有効になります。
- Unmonitored
- 死活確認を行っていない。(qualify=yesが無い)
- OK (25 ms)
- 死活確認に反応あり(ミリ秒表示)
- UNREACHABLE
- 死活確認に反応なし
sip notifyコマンド
SIPのNOTIFYパケットを相手先に送出します。
Asterisk*CLI> sip set debug peer 201 SIP Debugging Enabled for IP: 192.168.0.54:9999 Asterisk*CLI> sip notify snom-check-cfg 201 Sending NOTIFY of type 'snom-check-cfg' to '201' Transmitting (no NAT) to 192.168.0.54:9999: NOTIFY sip:201@192.168.0.54:9999;line=pb6z8sxp SIP/2.0 Via: SIP/2.0/UDP 10.0.5.6:5060;branch=z9hG4bK4fb5eb0a;rport Max-Forwards: 70 From: "Unknown" <sip:Unknown@10.0.5.6>;tag=as755f462a To: <sip:201@192.168.0.54:9999;line=pb6z8sxp> Contact: <sip:Unknown@10.0.5.6> Call-ID: 2d655c48358b36895efcd6443165eab9@10.0.5.6 CSeq: 102 NOTIFY User-Agent: Asterisk PBX 1.6.0.6 Event: check-sync;reboot=false Content-Length: 0 --- Scheduling destruction of SIP dialog '6c23851a1b3218da13e4d4686a7fb6c8@192.168.0.5' in 32000 ms (Method: NOTIFY) Asterisk*CLI> <--- SIP read from UDP://192.168.0.54:9999 ---> SIP/2.0 200 Ok Via: SIP/2.0/UDP 10.0.5.6:5060;branch=z9hG4bK4fb5eb0a;rport=5060 From: "Unknown" <sip:Unknown@10.0.5.6>;tag=as755f462a To: <sip:201@192.168.0.54:9999;line=pb6z8sxp> Call-ID: 2d655c48358b36895efcd6443165eab9@10.0.5.6 CSeq: 102 NOTIFY Content-Length: 0 <-------------> --- (7 headers 0 lines) --- Really destroying SIP dialog '6c23851a1b3218da13e4d4686a7fb6c8@192.168.0.5' Method: NOTIFY Asterisk*CLI>
sip show peers
peerになっている(Asteriskに接続している)機器との接続状況と、設定内容を表示します。
sip show peersコマンドでは一覧を表示するのみで、詳細ステータスは出てきませんが、
sip show peersでは、更に細かい情報を確認することができます。
Asterisk*CLI> sip show peer 201 Asterisk*CLI> * Name : 201 Secret : <Set> MD5Secret : <Not set> Context : default Subscr.Cont. : <Not set> Language : jp AMA flags : Unknown Transfer mode: open CallingPres : Presentation Allowed, Not Screened Callgroup : 1 Pickupgroup : 1 Mailbox : 201 VM Extension : asterisk LastMsgsSent : 32767/65535 Call limit : 0 Dynamic : Yes Callerid : "" <> MaxCallBR : 384 kbps Expire : 161 Insecure : no Nat : RFC3581 ACL : No T38 pt UDPTL : No CanReinvite : No PromiscRedir : No User=Phone : No Video Support: No Text Support : No Trust RPID : No Send RPID : No Subscriptions: Yes Overlap dial : Yes DTMFmode : rfc2833 Timer T1 : 500 Timer B : 32000 ToHost : Addr->IP : 192.168.0.54 Port 9999 Defaddr->IP : 0.0.0.0 Port 5060 Transport : UDP Def. Username: 201 SIP Options : (none) Codecs : 0x4 (ulaw) Codec Order : (ulaw:20) Auto-Framing : No 100 on REG : No Status : Unmonitored Useragent : snom300/7.3.14 Reg. Contact : sip:201@192.168.0.54:9999;line=pb6z8sxp Qualify Freq : 60000 ms Sess-Timers : Accept Sess-Refresh : uas Sess-Expires : 1800 secs Min-Sess : 90 secs Asterisk*CLI>
Overlap dial
DTMFmode
DTMF(ダイヤル音による番号送出)の送出設定が表示されます。
sip reloadコマンド
sip.confファイルを読み直します。
sip.confを編集した後に実行します。
Asterisk*CLI> sip reload Reloading SIP Asterisk*CLI>
sip set debugコマンド
Asteriskが受け取ったSIPパケットをCLI上に表示します。
膨大な量になることがあるので、予め通信記録を保存しておく事をお勧めします。
sip set debug on
debugモードを開始します。
Asteriskが受け取った全てのSIPパケットをCLI上に表示します。
Asterisk*CLI> sip set debug on SIP Debugging enabled
sip set debug ip
IPアドレスを指定し、特定IPアドレスのSIPパケットをCLI上に表示します。
Asterisk*CLI> sip set debug ip 10.0.5.1 SIP Debugging Enabled for IP: 10.0.5.1 <--- SIP read from UDP://10.0.5.1:5060 ---> SIP/2.0 200 OK (略)
sip set debug peer
(sip.confに記述されている)PEER名を指定し、指定した機器のSIPパケットをCLI上に表示します。
Asterisk*CLI> sip set debug peer Cisco1751-V SIP Debugging Enabled for IP: 10.0.5.3:5060 Asterisk*CLI>
Reliably Transmitting (no NAT) to 10.0.5.3:5060: OPTIONS sip:10.0.5.3 SIP/2.0 Via: SIP/2.0/UDP 10.0.5.6:5060;branch=z9hG4bK683219d7;rport Max-Forwards: 70 (略)
sip set debug off
debugモードを終了します。
Asterisk*CLI> sip set debug off SIP Debugging Disabled Asterisk*CLI>
sip unregisterコマンド
sip unregister
AsteriskにRegisterしているSIP機器のRegisterを解除します。
解除する相手は、(sip.confに記述されている)PEER名を指定します。
AsteriskにRegisterしている電話(内線201)をRegister解除し、着信しないようにする場合は、
下記のようなコマンド入力となります。
Asterisk*CLI> sip unregister 201 Unregistered peer '201' Asterisk*CLI>