サンプル集 |
■VC ■C# ■Java ■BorlandC ■LinuxC ■MS-DOS ■bash ■Excel VBA ■VBScript ■PHP ■HTML ■perl ■iPhone ■Android ■Lua ■other |
Linuxコマンド |
用語集 |
debian メモ |
apache2 メモ |
MySQL メモ |
Oracle メモ |
HOME |
asteriskのCLIの表示を見てみます。
◆環境OS | Linux obsax3 3.0.6 #1 SMP Thu Mar 7 19:14:19 JST 2013 armv7l GNU/Linux |
---|---|
asterisk | 1.8.21.0 |
内線1900から9をダイアルします。 9をダイアルすると内線1111を呼び出すように設定してあるので、内線1111が呼び出されます。 そのまま呼び出し中の状態です。
== Using SIP RTP CoS mark 5
-- Executing [9@guestroom:1] Dial("SIP/1900-0000000f", "SIP/1111,
10") in new stack
== Using SIP RTP Cos mark 5
-- Called SIP/1111
-- SIP/1111-00000010 is ringing
-- Executing [9@guestroom:1] Dial("SIP/1900-0000000f", "SIP/1111,
10") in new stack
== Using SIP RTP Cos mark 5
-- Called SIP/1111
-- SIP/1111-00000010 is ringing
Executingの行に注目します。
[9@guestroom:1] Dial("SIP/1900-0000000f", "SIP/1111,10")
ダイアルで「9」を入力し、context は guestroom が選択され、その context の1行目が実行されたようです。 Dialの呼び出しは 1900 から 1111 を呼び出した事が分かります。
「1900 が 9 をダイアルし、context guestroom で処理され 1111 を呼び出した」と読み取れます。
呼び出し中のまま電話を切った場合です。
== Spawn extension (guestroom, 9, 1) exited non-zero on 'SIP/1900-000
0000f'
0000f'
cdrの内容です。
calldate: 2014-07-30 16:24:35
clid: "1900" <1900>
src: 1900
dst: 9
dcontext: guestroom
channel: SIP/1900-0000000f
dstchannel: SIP/1111-00000010
lastapp: Dial
lastdate: SIP/1111,10
duration: 3
billsec: 0
disposition: NO ANSWER
amaflags: 3
accountcode:
uniqueid: 1406705075.15
userfield:
clid: "1900" <1900>
src: 1900
dst: 9
dcontext: guestroom
channel: SIP/1900-0000000f
dstchannel: SIP/1111-00000010
lastapp: Dial
lastdate: SIP/1111,10
duration: 3
billsec: 0
disposition: NO ANSWER
amaflags: 3
accountcode:
uniqueid: 1406705075.15
userfield:
相手が電話を取り通話状態になった場合です。
-- SIP/1111-00000010 answered SIP/1900-0000000f
-- Locally bridging SIP/1900-0000000f and SIP/1111-00000010
-- Locally bridging SIP/1900-0000000f and SIP/1111-00000010
電話を切った場合は同じログが出ます。 どちらから電話を切っても同じです。
cdrの内容です。
calldate: 2014-07-30 17:58:08
clid: "1900" <1900>
src: 1900
dst: 9
dcontext: guestroom
channel: SIP/1900-0000000f
dstchannel: SIP/1111-00000010
lastapp: Dial
lastdate: SIP/1111,10
duration: 6
billsec: 4
disposition: NO ANSWER
amaflags: 3
accountcode:
uniqueid: 1406710688.22
userfield:
clid: "1900" <1900>
src: 1900
dst: 9
dcontext: guestroom
channel: SIP/1900-0000000f
dstchannel: SIP/1111-00000010
lastapp: Dial
lastdate: SIP/1111,10
duration: 6
billsec: 4
disposition: NO ANSWER
amaflags: 3
accountcode:
uniqueid: 1406710688.22
userfield:
通話時間が billsec に設定されます。
sip set debug on にすると詳細のログが取得できます。 debug onの状態で内線1900から9をダイアルした場合のログです。 びっくりするぐらい大量にでます。
ポイントになりそうな行とdebug offで表示される行を抜き出してみました。
INVITE sip:9@192.168.0.100:5060 SIP/2.0
SIP/2.0 401 Unauthorized
ACK sip:9@192.168.0.100:5060 SIP/2.0
INVITE sip:9@192.168.0.100:5060 SIP/2.0
== Using SIP RTP CoS mark 5
SIP/2.0 100 Trying
-- Executing [9@guestroom:1] Dial("SIP/1900-00000011", "SIP/1111,
10") in new stack
== Using SIP RTP CoS mark 5
INVITE sip:1111@192.168.0.226 SIP/2.0
-- Called SIP/1111
SIP/2.0 100 Trying
SIP/2.0 180 Ringing
-- SIP/1111-00000012 is ringing
SIP/2.0 180 Ringing
SIP/2.0 401 Unauthorized
ACK sip:9@192.168.0.100:5060 SIP/2.0
INVITE sip:9@192.168.0.100:5060 SIP/2.0
== Using SIP RTP CoS mark 5
SIP/2.0 100 Trying
-- Executing [9@guestroom:1] Dial("SIP/1900-00000011", "SIP/1111,
10") in new stack
== Using SIP RTP CoS mark 5
INVITE sip:1111@192.168.0.226 SIP/2.0
-- Called SIP/1111
SIP/2.0 100 Trying
SIP/2.0 180 Ringing
-- SIP/1111-00000012 is ringing
SIP/2.0 180 Ringing
SIPのシーケンスのうち、相手の電話機が鳴るまでのシーケンスを確認できました。
適当な番号にダイアルすると以下のログが出ました。
== Using SIP RTP CoS mark 5
-- Executing [1234@guestroom:1] Dial("SIP/1111-00026c4e", "SIP/123
4,600") in new stack
[Dec 22 13:05:41] WARNING[9481]: app_dial.c:2345 dial_exec_full: Unab
le to create channel of type 'SIP' (cause 20 - Subscriber absent)
== Everyone is busy/congested at this time (1:0/0/1)
-- Executing [1234@guestroom:2] Hangup("SIP/1111-00026c4e", "") in
new stack
== Spawn extension (guestroom, 1234, 2) exited non-zero on 'SIP/1111-
00026c4e'
-- Executing [1234@guestroom:1] Dial("SIP/1111-00026c4e", "SIP/123
4,600") in new stack
[Dec 22 13:05:41] WARNING[9481]: app_dial.c:2345 dial_exec_full: Unab
le to create channel of type 'SIP' (cause 20 - Subscriber absent)
== Everyone is busy/congested at this time (1:0/0/1)
-- Executing [1234@guestroom:2] Hangup("SIP/1111-00026c4e", "") in
new stack
== Spawn extension (guestroom, 1234, 2) exited non-zero on 'SIP/1111-
00026c4e'
SIPチャンネルの作成に失敗したと表示されています。
Copyright (C) 2014 ymlib.com