Two office DUNDi setup help

ok I’m looking for help with a two office/two box setup problem using DUNDi.

We have a dedicated 3mbs point to point between two offices locate 90+ miles away in different area codes. Because of this it dictates that we need to have a second system installed in the remore office for emergency services, local calls, etc. Getting the second system build and installed was not a problem.

I have had them connected for a bit using IAX but every time we change employees (we have temps located in both offices) it’s getting to be a pain to re-update dial plans all the time. So I started looking into DUNDi as that should allow for me to create and remove extensions in one office without having to re-program dial plans in the other.

I started by following the information located at http://www.freepbx.org/trac/wiki/DundiClusterHack (actually I started at http://blog.thegoldfish.net/dundi-tutorial-for-asteriskhome/ but pulled all that out). The DUNDi portion seems to work just fine (I can from one system query and get results about a extension on the other system) when I made one set of changes (replaced type-user with type-friend in both iax2_custom.conf files). But when one office attempts to connect to the other we get the congestion / fast busy tones instead of a completed call.

Currently the remote office phones are tied in to the main office and I have a pair of phones for testing purposes configured on the remote system. I can provide a bunch of additional info and debugging to anybody who thinks they can help.

My current thinking is that I have a goof someplace in the dialplan but I can’t see it.

Some details:
Main office called voip (has extensions 1xx), remote office called voip2 (has extensions 2xx). So for example when I make a call from 274 to 112

I see the following on voip2

-- Executing Macro("SIP/274-b7a07838", "user-callerid|SKIPTTL") in new stack
-- Executing NoOp("SIP/274-b7a07838", "user-callerid: device 274") in new stack
-- Executing Set("SIP/274-b7a07838", "AMPUSER=274") in new stack
-- Executing GotoIf("SIP/274-b7a07838", "0?report") in new stack
-- Executing GotoIf("SIP/274-b7a07838", "0?start") in new stack
-- Executing Set("SIP/274-b7a07838", "REALCALLERIDNUM=274") in new stack
-- Executing NoOp("SIP/274-b7a07838", "REALCALLERIDNUM is 274") in new stack
-- Executing Set("SIP/274-b7a07838", "AMPUSER=274") in new stack
-- Executing Set("SIP/274-b7a07838", "AMPUSERCIDNAME=Fred Test") in new stack
-- Executing GotoIf("SIP/274-b7a07838", "0?report") in new stack
-- Executing Set("SIP/274-b7a07838", "AMPUSERCID=274") in new stack
-- Executing Set("SIP/274-b7a07838", "CALLERID(all)="Fred Test" <274>") in new stack
-- Executing Set("SIP/274-b7a07838", "REALCALLERIDNUM=274") in new stack
-- Executing NoOp("SIP/274-b7a07838", "TTL:  ARG1: SKIPTTL") in new stack
-- Executing GotoIf("SIP/274-b7a07838", "1?continue") in new stack
-- Goto (macro-user-callerid,s,23)
-- Executing NoOp("SIP/274-b7a07838", "Using CallerID "Fred Test" <274>") in new stack
-- Executing Macro("SIP/274-b7a07838", "dundi-extensions|112") in new stack
-- Executing NoOp("SIP/274-b7a07838", "macro-dundi-extensions") in new stack
-- Executing Goto("SIP/274-b7a07838", "112|1") in new stack
-- Goto (macro-dundi-extensions,112,1)
-- Called extensions:[email protected]/112
-- Hungup 'IAX2/172.20.0.18:4569-5'

== Everyone is busy/congested at this time (1:0/0/1)
– Executing Congestion(“SIP/274-b7a07838”, “5”) in new stack

Hree is where I I think somethign is wrong, should not the called extensions line say @voip instead of voip2 as voip2 is where the call is coming from NOT going to. And yes voip and voip2 are hard coded in /etc/hosts, if I replace with IP’s I get same results.

The two office title threw me off…

I had a working set up a while back. I’ll try to dig up my notes and get back.

Hey fskrotzki,

I’ve been working on the same thing. I have it working sort of. I would be glad to lend a hand and hope that we can both getting working 100%. Right now I can share extensions and dialplans. Why don’t you post your dundi.conf and your dundi stuff from extentions_custom.conf and I’ll see what I can do.

Rob

Don’t really see why you need DUNDi at all. You already have segmented the extensions between offices.

Just put 2xx in your outbound routes and stuff that down the IAX2 trunk in location 1, and 1xx in your outbound routes down the IAX2 trunk in location 2.

Make sure this outbound route is listed above your default route in the the outbound routes screen.

This works for several two and three box installations we’ve done.

I use IAX2 trunks between two boxes to accomplish what you are trying to do. I create non overlapping extension and do something like BoxA sends 2XX to BoxBIAXtrunk and BOXB sends 3XX to BoxAIAXtrunk. Here is the trunk (from iax_additional.conf): [boxb-peer] username=boxa-user type=peer trunk=yes secret=XXXX qualify=yes host=XXX.XXX.XXX.XXX (can be dns name also) disallow=all context=from-internal allow=gsm [boxb-user] type=user trunk=yes secret=XXXX qualify=yes host=XXX.XXX.XXX.XXX (can be dns name also) disallow=all context=from-internal allow=gsm

You basically just do the opposite or inverse on the other box. i.e. boxa-peer and boxa-user:

[boxa-peer] username=boxb-user type=peer trunk=yes secret=XXXX qualify=yes host=XXX.XXX.XXX.XXX (can be dns name also) disallow=all context=from-internal allow=gsm [boxa-user] type=user trunk=yes secret=XXXX qualify=yes host=XXX.XXX.XXX.XXX (can be dns name also) disallow=all context=from-internal allow=gsm point them at each other with the correct IP or domain name and viola.

but we are going to be adding two or three more offices in the next year and I really need to get this DUNDi setup running so as we expand I don’t need to do a ton more on the management side when we add and delete people.

There are a lot of other things like unified directory services, etc. that we are moving to where DUNDi makes since as it can query for the extension on the fly. So I’m looking to have DUNDi working.

Take a look at the dev wiki also - one of the guys posted a great Dundi setup with some extras that I helped him with. It included dial by extensions from an IVR to any office as well as dial by name with some tricks I suggested to him to keep the voicemail.conf files in sync to ‘fool’ the directory system. If you dig it up, we can/should probably move it to the How To section.

Philippe Lindheimer - FreePBX Project Lead
http//freepbx.org - IRC #freepbx

so how do I search the dev wiki properly… I tried dundi but didn’t get anything that seemed to match what you describe…