Asterisk DUNDi debug
When making a call from extension 1301 to 1001, the lookup has to pass 2 PBX's.
Back to "Assignment Gijs & Ruben"
Contents
Situation
Misc:
- TTL=32
- Expiration/cachetime = 5 seconds, to make sure results are not cached.
- Context = priv
- Used DUNDi-advertise options: nounsolicited,nocomunsolicit,nopartial
Extensions:
- 1301 is connected to PBX1
- 1601 is connected to PBX2
- 1001 is connected to PBX3
Peering:
- PBX1 (192.168.1.101) peers with PBX2 (192.168.1.103) and vice-verse.
- PBX2 (192.168.1.103) peers with PBX3 (192.168.1.106) and vice-verse.
- PBX1 does not peer with PBX3 and vice-verse.
In the CLI this shows as follows:
PBX1:
asterisk1*CLI> dundi show peers EID Host Model AvgTime Status 00:0c:29:a7:e0:73 192.168.1.103 (S) Symmetric Unavail OK (2 ms) 1 dundi peers [1 online, 0 offline, 0 unmonitored]
PBX2:
asterisk1*CLI> dundi show peers EID Host Model AvgTime Status 00:0c:29:97:0b:98 192.168.1.101 (S) Symmetric Unavail OK (3 ms) 00:0c:29:d2:d8:ec 192.168.1.106 (S) Symmetric Unavail OK (1 ms) 2 dundi peers [2 online, 0 offline, 0 unmonitored]
PBX3:
asterisk1*CLI> dundi show peers EID Host Model AvgTime Status 00:0c:29:a7:e0:73 192.168.1.103 (S) Symmetric Unavail OK (1 ms) 1 dundi peers [1 online, 0 offline, 0 unmonitored]
For ext. 1301 to call 1001, all 3 PBX's schould participate in the lookup.
DUNDi Debug-info
In Asterisk's CLI, you can get debug-info with the command dundi debug. To switch the debug off, enter dundi no debug
Each peer will stay in contact with its peers by sending some sort of ping-packets to eachother at regular intervals. Therefore always switch the debug-mode off before analysing the output.
N.B. large key's have been abbreviated for readability and are marked with "....."
PBX 1
Command received from Asterisk to ask for extension 1001:
ETx-Frame Retry[No] -- OSeqno: 000 ISeqno: 000 Type: DPDISCOVER (Command) Flags: 00 STrans: 14133 DTrans: 00000 [192.168.1.103:4520] VERSION : 1 DIRECT EID : 00:0c:29:97:0b:98 CALLED NUMBER : 1001 CALLED CONTEXT : priv TTL : 32
The actual frame is sent to the peer:
Tx-Frame Retry[No] -- OSeqno: 000 ISeqno: 000 Type: ENCRYPT (Command) Flags: 00 STrans: 14133 DTrans: 00000 [192.168.1.103:4520] ENTITY IDENT : 00:0c:29:97:0b:98 SHAREDKEY : [ 79 71 ..... f9 00 bc ] SIGNATURE : [ a1 b3 ..... 7a 5c 14 ] ENCDATA : [IV 302f4771ce6cae684c01631987a2e264] 4 encrypted blocks
Some keep-in-contact ping-ack is received:
Rx-Frame Retry[No] -- OSeqno: 000 ISeqno: 001 Type: ACK (Response) Flags: 00 STrans: 18399 DTrans: 14133 [192.168.1.103:4520]
The Answer from the lookup is received:
Rx-Frame Retry[No] -- OSeqno: 000 ISeqno: 001 Type: ENCRYPT (Command) Flags: 00 STrans: 18399 DTrans: 14133 [192.168.1.103:4520] ENCDATA : [IV 7212e969e4452c685dcecc777b15ea12] 6 encrypted blocks
The decoded content of the received data:
Erx-Frame Retry[No] -- OSeqno: 000 ISeqno: 001 Type: DPRESPONSE (Response) Flags: 00 STrans: 18399 DTrans: 14133 [192.168.1.103:4520] (Final) ANSWER : [EXISTS|NOUNSLCTD|NOCOMUNSLTD] 0 <IAX/priv:LA.....Ucw@192.168.1.106/1001> from [00:0c:29:d2:d8:ec] HINT : [UNAFFECTED] EXPIRATION : 5
PBX 2
A DUNDi-lookup request is received:
Rx-Frame Retry[No] -- OSeqno: 000 ISeqno: 000 Type: ENCRYPT (Command) Flags: 00 STrans: 14133 DTrans: 00000 [192.168.1.101:4520] ENTITY IDENT : 00:0c:29:97:0b:98 SHAREDKEY : [ 79 71 ..... f9 00 bc ] SIGNATURE : [ a1 b3 ..... 7a 5c 14 ] ENCDATA : [IV 302f4771ce6cae684c01631987a2e264] 4 encrypted blocks
The decoded content of the received package:
Erx-Frame Retry[No] -- OSeqno: 000 ISeqno: 000 Type: DPDISCOVER (Command) Flags: 00 STrans: 14133 DTrans: 00000 [192.168.1.101:4520] VERSION : 1 DIRECT EID : 00:0c:29:97:0b:98 CALLED NUMBER : 1001 CALLED CONTEXT : priv TTL : 32
The requested number is not known, the other peer(s) are queried: (note the lowered TTL)
Tx-Frame Retry[No] -- OSeqno: 000 ISeqno: 001 Type: ACK (Response) Flags: 00 STrans: 18399 DTrans: 14133 [192.168.1.101:4520] ETx-Frame Retry[No] -- OSeqno: 000 ISeqno: 000 Type: DPDISCOVER (Command) Flags: 00 STrans: 21146 DTrans: 00000 [192.168.1.106:4520] VERSION : 1 DIRECT EID : 00:0c:29:a7:e0:73 DIRECT EID : 00:0c:29:97:0b:98 CALLED NUMBER : 1001 CALLED CONTEXT : priv TTL : 31
Tx-Frame Retry[No] -- OSeqno: 000 ISeqno: 000 Type: ENCRYPT (Command) Flags: 00 STrans: 21146 DTrans: 00000 [192.168.1.106:4520] ENTITY IDENT : 00:0c:29:a7:e0:73 SHAREDKEY : [ c6 a3 ..... cf 77 b7 ] SIGNATURE : [ 9d 83 ..... 24 60 0d ] ENCDATA : [IV c99afc653712130a9cb4143122855940] 4 encrypted blocks
Some acknowledgement on a keep-in-contact ping is received:
Rx-Frame Retry[No] -- OSeqno: 000 ISeqno: 001 Type: ACK (Response) Flags: 00 STrans: 28371 DTrans: 21146 [192.168.1.106:4520]
The answer on the lookup is received from PBX 3:
Rx-Frame Retry[No] -- OSeqno: 000 ISeqno: 001 Type: ENCRYPT (Command) Flags: 00 STrans: 28371 DTrans: 21146 [192.168.1.106:4520] ENCDATA : [IV 30a7274590946f4c5261a311e9a33822] 6 encrypted blocks
The decrypted content of the received packet.
Erx-Frame Retry[No] -- OSeqno: 000 ISeqno: 001 Type: DPRESPONSE (Response) Flags: 00 STrans: 28371 DTrans: 21146 [192.168.1.106:4520] (Final) ANSWER : [EXISTS|NOUNSLCTD|NOCOMUNSLTD] 0 <IAX/priv:LA.....Ucw@192.168.1.106/1001> from [00:0c:29:d2:d8:ec] HINT : [UNAFFECTED] EXPIRATION : 5
The answer of the DUNDi-lookup is sent back to PBX 1:
Tx-Frame Retry[No] -- OSeqno: 001 ISeqno: 001 Type: ACK (Response) Flags: 00 STrans: 21146 DTrans: 28371 [192.168.1.106:4520] (Final) ETx-Frame Retry[No] -- OSeqno: 000 ISeqno: 001 Type: DPRESPONSE (Response) Flags: 00 STrans: 18399 DTrans: 14133 [192.168.1.101:4520] (Final) ANSWER : [EXISTS|NOUNSLCTD|NOCOMUNSLTD] 0 <IAX/priv:LA.....Ucw@192.168.1.106/1001> from [00:0c:29:d2:d8:ec] HINT : [UNAFFECTED] EXPIRATION : 5
Tx-Frame Retry[No] -- OSeqno: 000 ISeqno: 001 Type: ENCRYPT (Command) Flags: 00 STrans: 18399 DTrans: 14133 [192.168.1.101:4520] ENCDATA : [IV 7212e969e4452c685dcecc777b15ea12] 6 encrypted blocks
PBX 3
Receive frame with DUNDi-lookup command:
Rx-Frame Retry[No] -- OSeqno: 000 ISeqno: 000 Type: ENCRYPT (Command) Flags: 00 STrans: 21146 DTrans: 00000 [192.168.1.103:4520] ENTITY IDENT : 00:0c:29:a7:e0:73 SHAREDKEY : [ c6 a3 ..... cf 77 b7 ] SIGNATURE : [ 9d 83 ..... 24 60 0d ] ENCDATA : [IV c99afc653712130a9cb4143122855940] 4 encrypted blocks
The decoded data from the received frame:
Erx-Frame Retry[No] -- OSeqno: 000 ISeqno: 000 Type: DPDISCOVER (Command) Flags: 00 STrans: 21146 DTrans: 00000 [192.168.1.103:4520] VERSION : 1 DIRECT EID : 00:0c:29:a7:e0:73 DIRECT EID : 00:0c:29:97:0b:98 CALLED NUMBER : 1001 CALLED CONTEXT : priv TTL : 31
Answer is sent back: "Yes I know this extension... it is ...."
Tx-Frame Retry[No] -- OSeqno: 000 ISeqno: 001 Type: ACK (Response) Flags: 00 STrans: 28371 DTrans: 21146 [192.168.1.103:4520] ETx-Frame Retry[No] -- OSeqno: 000 ISeqno: 001 Type: DPRESPONSE (Response) Flags: 00 STrans: 28371 DTrans: 21146 [192.168.1.103:4520] (Final) ANSWER : [EXISTS|NOUNSLCTD|NOCOMUNSLTD] 0 <IAX/priv:LA.....Ucw@192.168.1.106/1001> from [00:0c:29:d2:d8:ec] HINT : [UNAFFECTED] EXPIRATION : 5
A keep-contact-ping is sent:
Tx-Frame Retry[No] -- OSeqno: 000 ISeqno: 001 Type: ENCRYPT (Command) Flags: 00 STrans: 28371 DTrans: 21146 [192.168.1.103:4520] ENCDATA : [IV 30a7274590946f4c5261a311e9a33822] 6 encrypted blocks
... and received:
Rx-Frame Retry[No] -- OSeqno: 001 ISeqno: 001 Type: ACK (Response) Flags: 00 STrans: 21146 DTrans: 28371 [192.168.1.103:4520] (Final)
There is an incomming call:
recordingcheck|20070221-073234|1172061154.14: Inbound recording not enabled dialparties.agi: Starting New Dialparties.agi dialparties.agi: priority is 1 dialparties.agi: Caller ID name is 'device' number is '1301' dialparties.agi: Methodology of ring is 'none'
CLI lookup
Make sure you include the context (here: priv). When no context is given, the DUNDi lookup defaults to E.164.
1001@priv:
asterisk1*CLI> dundi lookup 1001@priv 1. 0 IAX2/priv:ZUIkF+Wl0TuXtd13pK5UXQ@192.168.1.106/1001 (EXISTS|NOUNSLCTD|NOCOMUNSLTD) from 00:0c:29:d2:d8:ec, expires in 5 s DUNDi lookup completed in 89 ms
1301@priv:
asterisk1*CLI> dundi lookup 1301@priv 1. 0 IAX2/priv:NbJdfOHodguANV0MOKuaQg@192.168.1.101/1301 (EXISTS|NOUNSLCTD|NOCOMUNSLTD) from 00:0c:29:97:0b:98, expires in 5 s DUNDi lookup completed in 52 ms
1601@priv:
asterisk1*CLI> dundi lookup 1601@priv 1. 0 IAX2/priv:cZzQREFhaxEiS5w22f2Oag@192.168.1.103/1601 (EXISTS|NOUNSLCTD|NOCOMUNSLTD) from 00:0c:29:a7:e0:73, expires in 5 s DUNDi lookup completed in 44 ms