I am experimenting on two test AsteriskNow1.7 boxes with Dundi. I would like to get an understadning of the protocol and see if will be useful in a larger production enviorment.
BoxA has extension # 105 to pass along to BoxB. BoxB has extension 202 to pass along to BoxA.
Dundi peering show both peers are up and in an ok status. I can only do a dundi query and get results however on BoxA
on BOXA
localhost*CLI> dundi lookup 202@priv
-
from 00:05:04:9a:46:bd, expires in 3600 s0 IAX2/priv:tU+hTPuP3mk+iM8eOUqABg==@10.104.100.58/202 (EXISTS)
DUNDi lookup completed in 3 ms
on BoxB
localhostCLI> dundi lookup 105@priv
DUNDi lookup returned no results.
DUNDi lookup completed in 1 ms
localhostCLI>
CONFIGS
BOXA
iax_custom.com
type=user
dbsecret=dundi/secret
context=dundi-local
dundi.conf
;bindaddr=0.0.0.0
;port=4520
;
; Our entity identifier (Should generally be the MAC address of the
; machine it’s running on. Defaults to the first eth address, but you
; can override it here, as long as you set it to the MAC of something
; you own!)
;
entityid=00:08:74:25:C3:BD
;
; Define the max depth in which to search the DUNDi system (also max # of
; seconds to wait for a reply)
;
ttl=32
;
autokill=yes
;
; pbx_dundi creates a rotating key called “secret”, under the family
; ‘secretpath’. The default family is dundi (resulting in
; the key being held at dundi/secret).
;
;secretpath=dundi
;
[mappings]
priv => dundi–localm,0,IAX2,priv:${SECRET}@10.104.100.71/${NUMBER},nopartial
;
; DUNDi peer
;
[00:50:04:9A:46:BD]
model = symmetric
host = 192.168.0.2
inkey = dundi
outkey = dundi
include = priv
permit = priv
qualify = yes
dynamic=yes
extensions_custom.conf
[dundi-local]
;This is where we advertise our local extensions to the dundi cloud
exten => 105,1,NoOp(dundi-local: Number advertisement and incoming)
exten => 105,n,Answer()
exten => 105,n(call),Dial(SIP/1000)
exten => 105,n,Voicemail(u1000)
exten => 105,n,Hangup()
exten => 105,n(call)+101,Voicemail(b1000)
exten => 105,n,Hangup()
;
;
;
[lookupdundi]
switch => DUNDi/priv
;
exten => 202,1,Goto(lookupdundi|${EXTEN}|1)
~
BOX B
iax_custom.conf
[dundi]
type=user
dbsecret=dundi/secret
context=dundi-local
dundi.conf
;bindaddr=0.0.0.0
;port=4520
;
; Our entity identifier (Should generally be the MAC address of the
; machine it’s running on. Defaults to the first eth address, but you
; can override it here, as long as you set it to the MAC of something
; you own!)
;
entityid=00:05:04:9A:46:BD
;
; Define the max depth in which to search the DUNDi system (also max # of
; seconds to wait for a reply)
;
ttl=32
;
autokill=yes
;
; pbx_dundi creates a rotating key called “secret”, under the family
; ‘secretpath’. The default family is dundi (resulting in
; the key being held at dundi/secret).
;
;secretpath=dundi
[mappings]
priv => dundi-local,0,IAX2,priv:${SECRET}@10.104.100.58/${NUMBER},nopartial
;
; DUNDi peer
;
[00:08:74:25:C3:BD]
model = symmetric
host = 192.168.0.1
inkey = dundi
outkey = dundi
include = priv
permit = priv
qualify = yes
dynamic=yes
extensions_custom.conf
[dundi-local]
;This is where we advertise in the Dundi cloud
exten => 202,1,NoOp(dundi-local: Number advertisement and incoming)
exten => 202,n,Answer()
exten => 202,n(call),Dial(SIP/1000)
exten => 202,n,Voicemail(u1000)
exten => 202,n,Hangup()
exten => 202,n(call)+101,Voicemail(b1000)
exten => 202,n,Hangup()
;
;
;
;
[lookupdundi]
switch => DUNDi/priv
;
exten => 105,1,Goto(lookupdundi|${EXTEN}|1)
I’ve been having most difficulty understanding the extension_custom.conf part of the setup and have a feeling mine are not right. I would be most grateful if there are any dundi experts out there that can point out any mistakes I have. Also as far as the keys are concerned. I created them on BOXA and copied both the dundi.key and dundi.pub over to BOXB.
Thank you,
rbt111