[asterisk-users] DUNDi with two servers
JR Richardson
jmr.richardson at gmail.com
Sun Feb 24 13:14:12 CST 2008
JR Richardson
> Hi,
>
> I'm having difficulties with using DUNDi between two servers. If it were
> three I think I could control looping by limiting TTL, but with two I'm
> not
> sure how to prevent a loop causing bad things to happen. I've tried ttl=1
> but things still blow up.
>
> The DUNDi configurations are pretty simple and work just fine in both
> directions as long as only one of them is using the switch =>
> DUNDi/context.
> dundi lookup <number>@dundified works great as well as test calls.
>
> What is the proper method of handling DUNDi between only two servers?
> Should
> I be using a dummy context on one server to handle this?
>
> I'm listing the relevant files below for only one server for brevities
> sake.
>
> -----------------------------------
> dundi.conf
>
> [general]
> department=Test Lab
> organization=My Test lab
> locality=Anywhere
> stateprov=CA
> country=US
> email=email at email.com
> phone=+5555555555
> entityid=00:11:22:33:44:55
> cachetime=5
> ttl=1
> autokill=yes
>
> [mappings]
> dundified =>
> internal,0,SIP,${NUMBER}@server1.domain.com<NUMBER%7D at server1.domain.com>
> ,nopartial
>
> [55:44:33:22:11:00]
> model=symmetric
> host=server2.domain.com
> inkey=dundikey
> outkey=dundikey
> include=dundified
> permit=dundified
> qualify=yes
> order=primary
>
> -----------------------------------
> extensions.conf
>
> [general]
> static = yes
> writeprotect = no
> clearglobalvars = no
>
> [globals]
>
> [default]
> include => internal
> include => parkedcalls
>
> [internal]
> include => external
> include => parkedcalls
> switch => DUNDi/dundified
>
> exten => 300,1,Dial(SIP/300)
> exten => 300,n,Hangup()
> exten => 5551234567,1,Goto(300,1)
>
> exten => 301,1,Dial(SIP/301)
> exten => 301,n,Hangup()
> exten => 8885551212,1,Goto(301,1)
>
> exten => _NXXNXXXXXX,1,Dial({$EXTEN}@voipprovider)
> exten => _NXXNXXXXXX,n,Hangup()
>
> [external]
> exten => 5551234567,1,Goto(internal,300,1)
>
> -----------------------------------
> sip.conf
>
> [dundified]
> type=friend
> dbsecret=dundi/secret
> context=internal
>
> [voipprovider]
> type=friend
> host=voipprovider.web
> dtmfmode=rfc2833
> insecure=port,invite
> disallow=all
> allow=g729
> context=external
>
> [300]
> type=peer
> callerid=300
> username=300
> secret=secret
> host=dynamic
> context=internal
> mailbox=300 at default
> notifyringing=yes
> notifyhold=yes
> limitonpeers=yes
> call-limit=2
>
> [301]
> type=peer
> callerid=301
> username=301
> secret=secret
> host=dynamic
> context=internal
> mailbox=301 at default
> notifyringing=yes
> notifyhold=yes
> limitonpeers=yes
> call-limit=2
>
> Thanks in advance!
You can't map the [internal] context in dundi.conf because you have the
switch => DUNDi/dandified statement in there. That is causing your loop.
Map dundi to a dial plan [context] that doesn't have access to the
[internal] context. Put your dundi extensions in the new context as a NoOp
and things should work fine.
JR
---
Engineering for the Masses.
More information about the asterisk-users
mailing list