Asterisk DUNDi debug

From TD-er's Wiki
Jump to: navigation, search

When making a call from extension 1301 to 1001, the lookup has to pass 2 PBX's.

Back to "Assignment Gijs & Ruben"

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