Need Inbound Routing Help

Hello!

We recently updated our server to 2.11.0.11 and with that change, our conference lines started acting up. When trying to connect to our conf lines from an external source, the call gets directed to our Main Menu instead. Our MM is set to catch any DID/any CID, when looking through the logs i noticed this line:

[2013-09-25 13:04:37] VERBOSE[27620][C-000002d1] pbx.c: – Executing [2685@from-pstn:1] NoOp(“SIP/[PROVIDER]-00000427”, “Catch-All DID Match - Found 2685 - You probably want a DID for this.”) in new stack

When setting up the DID, I use the full 10-digit number, but it looks like only the last 4 characters are matched. For some reason, this causes the system to trigger our Main Menu (any/any) instead of going to the conf line that was requested.

I tired setting the DID number to just the last 4 characters that are matched, but I get an error because obviously those 4 characters are already in use.

Is there any way to get the DID matching to match the full 10 characters instead of the last 4?

Workarounds I have in place:
1)Temp, very inefficient one:
DID set to last 4 characters of conference number : 2685
Conf Line set to 4 characters of unmatched, unused number: 2780
When an external source calls our 2685 number, the match succeeds but the destination is a different internal number. Will cause confusion and frustration no doubt. This work around effectively uses two numbers for one line…

2)Much better, minor inconvenience:
DID set to 4char : 2685
Conf Line set to full 10char : xxxxxx2685
When an external source places a call to this line, the match succeeds and the conference line is reached. When an internal conf call is placed using the xxxx# shortcut, an error occurs because they aren’t dialing the full number that is associated with the conf line. All calls, internal or external need to be 10char. No problem to me, but I know my users and I know they won’t like it.

Please. Is there a way to change the DID match behavior to match 10char inbound so that I can set the conf line to 4char for quicker internal dialing and still have the full 10char DID number?

Thank you

My provider is sending 10 characters. The following is a block from the log files when I try calling into a conference line from my cellphone:

[2013-09-26 10:48:46] VERBOSE[4178][C-000003cb] pbx.c: -- Executing [xxxxxx2681@from-did-map:1] Set("SIP/[PROVIDER]-000005e2", "LOCAL_EXT=2681") in new stack [2013-09-26 10:48:46] VERBOSE[4178][C-000003cb] pbx.c: -- Executing [xxxxxx2681@from-did-map:2] Goto("SIP/[PROVIDER]-000005e2", "callerid,1") in new stack [2013-09-26 10:48:46] VERBOSE[4178][C-000003cb] pbx.c: -- Goto (from-did-map,callerid,1) [2013-09-26 10:48:46] VERBOSE[4178][C-000003cb] pbx.c: -- Executing [callerid@from-did-map:1] NoOp("SIP/[PROVIDER]-000005e2", "Processing caller ID for "" ") in new stack [2013-09-26 10:48:46] VERBOSE[4178][C-000003cb] pbx.c: -- Executing [callerid@from-did-map:2] NoOp("SIP/[PROVIDER]-000005e2", "Running CID Superfecta") in new stack [2013-09-26 10:48:46] VERBOSE[4178][C-000003cb] pbx.c: -- Executing [callerid@from-did-map:3] NoOp("SIP/[PROVIDER]-000005e2", "Done processing caller ID for "" ") in new stack [2013-09-26 10:48:46] VERBOSE[4178][C-000003cb] pbx.c: -- Executing [callerid@from-did-map:4] Goto("SIP/[PROVIDER]-000005e2", "from-pstn,2681,1") in new stack [2013-09-26 10:48:46] VERBOSE[4178][C-000003cb] pbx.c: -- Goto (from-pstn,2681,1) [2013-09-26 10:48:46] VERBOSE[4178][C-000003cb] pbx.c: -- Executing [2681@from-pstn:1] NoOp("SIP/[PROVIDER]-000005e2", "Catch-All DID Match - Found 2681 - You probably want a DID for this.") in new stack [2013-09-26 10:48:46] VERBOSE[4178][C-000003cb] pbx.c: -- Executing [2681@from-pstn:2] Set("SIP/[PROVIDER]-000005e2", "__FROM_DID=2681") in new stack [2013-09-26 10:48:46] VERBOSE[4178][C-000003cb] pbx.c: -- Executing [2681@from-pstn:3] Goto("SIP/[PROVIDER]-000005e2", "ext-did,s,1") in new stack [2013-09-26 10:48:46] VERBOSE[4178][C-000003cb] pbx.c: -- Goto (ext-did,s,1) [2013-09-26 10:48:46] VERBOSE[4178][C-000003cb] pbx.c: -- Executing [s@ext-did:1] ExecIf("SIP/[PROVIDER]-000005e2", "0?Set(__FROM_DID=s)") in new stack [2013-09-26 10:48:46] VERBOSE[4178][C-000003cb] pbx.c: -- Executing [s@ext-did:2] Gosub("SIP/[PROVIDER]-000005e2", "app-blacklist-check,s,1()") in new stack [2013-09-26 10:48:46] VERBOSE[4178][C-000003cb] pbx.c: -- Executing [s@app-blacklist-check:1] GotoIf("SIP/[PROVIDER]-000005e2", "0?blacklisted") in new stack [2013-09-26 10:48:46] VERBOSE[4178][C-000003cb] pbx.c: -- Executing [s@app-blacklist-check:2] Set("SIP/[PROVIDER]-000005e2", "CALLED_BLACKLIST=1") in new stack [2013-09-26 10:48:46] VERBOSE[4178][C-000003cb] pbx.c: -- Executing [s@app-blacklist-check:3] Return("SIP/[PROVIDER]-000005e2", "") in new stack [2013-09-26 10:48:46] VERBOSE[4178][C-000003cb] pbx.c: -- Executing [s@ext-did:3] Set("SIP/[PROVIDER]-000005e2", "CDR(did)=2681") in new stack [2013-09-26 10:48:46] VERBOSE[4178][C-000003cb] pbx.c: -- Executing [s@ext-did:4] ExecIf("SIP/[PROVIDER]-000005e2", "1 ?Set(CALLERID(name)=xxxxxx4430)") in new stack [2013-09-26 10:48:46] VERBOSE[4178][C-000003cb] pbx.c: -- Executing [s@ext-did:5] Set("SIP/[PROVIDER]-000005e2", "__CALLINGPRES_SV=allowed_not_screened") in new stack [2013-09-26 10:48:46] VERBOSE[4178][C-000003cb] pbx.c: -- Executing [s@ext-did:6] Set("SIP/[PROVIDER]-000005e2", "CALLERPRES()=allowed_not_screened") in new stack [2013-09-26 10:48:46] VERBOSE[4178][C-000003cb] pbx.c: -- Executing [s@ext-did:7] Goto("SIP/[PROVIDER]-000005e2", "app-announcement-1,s,1") in new stack [2013-09-26 10:48:46] VERBOSE[4178][C-000003cb] pbx.c: -- Goto (app-announcement-1,s,1) [2013-09-26 10:48:46] VERBOSE[4178][C-000003cb] pbx.c: -- Executing [s@app-announcement-1:1] GotoIf("SIP/[PROVIDER]-000005e2", "0?begin") in new stack [2013-09-26 10:48:46] VERBOSE[4178][C-000003cb] pbx.c: -- Executing [s@app-announcement-1:2] Answer("SIP/[PROVIDER]-000005e2", "") in new stack [2013-09-26 10:48:46] VERBOSE[4178][C-000003cb] pbx.c: -- Executing [s@app-announcement-1:3] Wait("SIP/[PROVIDER]-000005e2", "1") in new stack [2013-09-26 10:48:47] VERBOSE[4178][C-000003cb] pbx.c: -- Executing [s@app-announcement-1:4] NoOp("SIP/[PROVIDER]-000005e2", "Playing announcement Main Menu Intro") in new stack [2013-09-26 10:48:47] VERBOSE[4178][C-000003cb] pbx.c: -- Executing [s@app-announcement-1:5] BackGround("SIP/[PROVIDER]-000005e2", "custom/pe-mainmenu-intro,nm") in new stack [2013-09-26 10:48:47] VERBOSE[4178][C-000003cb] file.c: -- Playing 'custom/pe-mainmenu-intro.slin' (language 'en')

Towards the end, you can see that it plays our Main Menu announcement instead of connecting to the conference line.

My provider is sending 10 digits, I believe the issue is with FreePBX. Is there an option to match 10 digit DID instead of the last 4 digits?

It just matches whatever you put in the pattern match. It looks like your provider is only sending you the last 4. My provider gives me a choice of 4, 7 or 10.

BF

Bill,

Out of curiosity, who is your provider?

My Primary Connections are PRI through a local company named Gulf Pines Communications (www.gulfpines.com). I also have some SIP from another local company, Newbreak Communications (http://www.newbreakcommunications.com). Newbreak, though sends 11 digits.

Bill

Just from the cell? Or any call?

BF

Any external source, not just my cellphone.

And it affects just conferencing?

BF

Yes. Direct extensions aren’t showing any abnormality.

Yes. Direct extensions aren’t showing any abnormality.

Additional information: I set the Inbound Route DID to a 10digit number and set the destination to my desk extension instead of a conference. Same problem occurs. The call is routed to the Main Menu IVR instead of to the specified destination.

Ok…I’m confused…Are you in the CONUS where I can give you a phone call? If so, PM me with your name and number…

Bill

BF

No. I don’t know what you’re talking about now. I’m simply looking for help getting FreePBX to match Inbound calls correctly.

CONOS = Continental United States.

If there is any way to edit a configuration so that FreePBX matches the full 10 digits of a DID during an inbound call instead of dropping the first 7 digits, that’s what I need to find.

It will match whatever you have in your inbound routes. What do your inbound routes look like? Are you sure you are getting 10 digits from your provider?

You have a custom context from-did-map that is stripping the digits prior to sending to the FreePBX inbound context from-pstn.

Look in extensions_custom.conf if they followed conventions that is where the code would be.

No, it doesn’t match the full 10 digits, only the last four. Putting 10 digits into the DID field causes the issue, putting in the last four digits is the only way to match correctly.

My provider is sending 10 digits.

Thank you, I will be checking this out!

UPDATE:

I found a sort of work around that allows for what I need.

Here are the steps in case anyone wants to test it out or if anyone is having the same issues.

In Inbound Routes, add your inbound route details, but in the ‘DID Number’ field, put in the last four digits of the number you want to use. Make sure there is no other device or line already using those 4 digits or you will get an error.
Leave your destination option blank for now.

After you’ve set the DID Number, go ahead and create the destination for the inbound route. (In my case it was a conference, so I set up the conference extension with the same four numbers I put in the ‘DID Number’ field.)
After you’ve set up the destination, go back to your Inbound Route that you set up and change the ‘Set Destination’ to the new destination you just created.

Things should work now, it did for me.