madyan Posted April 11, 2017 Report Share Posted April 11, 2017 Hi Support, I've a query. Let suppose we have a client with 5000 stores. The store name is "XYZ". Each store has its own number but all stores have caller ID name "XYZ". I want If call came in to vodia pbx, PBX see this call is from "XYZ" and send it to particular extension. How can I achieve this? I have vodia 5.3.2 version. Quote Link to comment Share on other sites More sharing options...
Support Posted April 11, 2017 Report Share Posted April 11, 2017 Hi, You want that to happen everytime? just one particular extension? if not then you can always use Agent group or Hunt groups to route your incoming calls coming on the main DID to go to the these groups and 1 or many extensions can pick up from there. Quote Link to comment Share on other sites More sharing options...
madyan Posted April 11, 2017 Author Report Share Posted April 11, 2017 I think you didn't get my point. I know about Agent group and Hunt group. Suppose there is a number 123456789 appointed on Vodia pbx in Hunt Group 200 to receive calls. Now every call comes to 123456789 will go to hunt group 200. Now I want if I call from my cell phone to 123456789 and my caller ID is "XYZ" so my call should redirected to extension 100, otherwise rest of all the incoming calls would go to 200 Hunt group. Quote Link to comment Share on other sites More sharing options...
Vodia PBX Posted April 12, 2017 Report Share Posted April 12, 2017 So you mean the caller-ID has a "Display" part where you put the name (e.g. "XYZ") and a part with the "Number", e.g. +12121234567? Then routing can be done easily based on the "Number" part, even though the VoIP phone might not show it (e.g. because it has a small display). If you call from a cell phone that is listed as an extension cell phone, the PBX will detect that and route the call differently anyway. Quote Link to comment Share on other sites More sharing options...
madyan Posted April 12, 2017 Author Report Share Posted April 12, 2017 I putt cell phone as example. The scenario is we have a client and they have arround 500 stores in US. There main number 123456789 is a part of autoattendant. Now there store agents call on their number 123456789 for different purpose. Obviously they have 500 stores so every store has its own number, but display name or Caller ID is the same of all stores because all stores are with the same name ''XYZ''. Now my client want if anyone call from these stores to their number 123456789 it should not go to autoattendant and should ring on specifief extension, rest of all the incoming calls should go to autoattendant. How we can set up this routing for the stores? Quote Link to comment Share on other sites More sharing options...
ahennis@voicespring.net Posted April 12, 2017 Report Share Posted April 12, 2017 This seems pretty straight forward to me. The OP wants to route the incoming call based on the CNAME or phone number of the person calling in. As an example Asterisk/FreePBX can do this with the inbound routing module (see the link below). As far as I know this feature is not possible with the Vodia PBX. It would be a very useful feature. http://wiki.freepbx.org/display/FPG/Inbound+Route+User+Guide Quote Link to comment Share on other sites More sharing options...
madyan Posted April 12, 2017 Author Report Share Posted April 12, 2017 Yes that's right. I want incoming call routing on the CNAME. I see its possible in trunk "Destination for incoming calls= Match extension after prefix". It is good if we want to make it for 1 or 2 numbers. But it would be difficult if you need to do a routing on more then 500 numbers. If we can do it on CNAME its good because if 500 stores running with the same name so obviously they would have different numbers but have one CNAME. Quote Link to comment Share on other sites More sharing options...
Vodia PBX Posted April 12, 2017 Report Share Posted April 12, 2017 Well you can do it in the trunk routing part, though 500 entries will be pretty long and the PBX will spend some time to go through the list (see https://vodia.com/doc/trunk_inbound_routing). The question is if you can leverage the cell phone logic. When the PBX receives a call from a number that was listed as cell phone, it considers that this call comes from one of her users. What exactly should happen when the PBX detects that the call came from an office? Quote Link to comment Share on other sites More sharing options...
madyan Posted April 12, 2017 Author Report Share Posted April 12, 2017 I think this is not that thing. If I want to route 500 store calls to extension 200. So should I add all 500 numbers in cell phone of extension 200? Quote Link to comment Share on other sites More sharing options...
Vodia PBX Posted April 12, 2017 Report Share Posted April 12, 2017 That would be no problem for the PBX because the cell phone numbers end up in a table that is index and efficient. But maybe you can elaborate a little bit more what the stores should hear when they call into the number. Is the private virtual assistant appropriate? Or do you just want to send the call to another auto attendant? We currently have a flag that (binary) controls if the PVA should be offered or not; we could extend that logic to send the call to a predefined destination. Quote Link to comment Share on other sites More sharing options...
madyan Posted April 12, 2017 Author Report Share Posted April 12, 2017 Currently things are happening like this. Our client number 123456789 sit in an auto-attendant, please call hear the auto attendant message and proceed further. Our client have more than 700 stores in US who make sales for them. Stores name is "The American". Our client office is hub for all the stores. They want when people from store call to their number 123456789 they shouldn't go to auto attendant and directly ring on specified extension. Now each store has different number they own but CNAME is "The American" for all the stores. Now there can be two possibilities. One we can enable routing on base of ANI, its complicated when you need to put routing on more than 700 numbers. But if we can enable routing on CNAME so we only need one rule to operate because all the stores have same CNAME. I hope this explain. Quote Link to comment Share on other sites More sharing options...
Vodia PBX Posted April 13, 2017 Report Share Posted April 13, 2017 Oh ok I think that makes is clear. Actually, it should be possible. In the trunk (see https://vodia.com/doc/trunk_inbound_routing in the ERE section) you can specify where the PBX should look at, in this case it would be the from header (flag f) and you want to look at the CNAM (flag n). There is one complication here, the name contains a space. As for now the workaround would be to use only a part of the CNAM, e.g. "AMERICAN": !AMERICAN!200!nf!300 That would send calls that contain the string "AMERICAN" in the CNAM (upper case) to 200, and if there is no match it would send everything else to 300. The space in "THE AMERICAN" can currently not be expressed. Next version (57.3) will URL-decode the pattern, so if you use "THE+AMERICAN" then you can do an exact match: !THE+AMERICAN!200!nf!300 Quote Link to comment Share on other sites More sharing options...
madyan Posted May 5, 2017 Author Report Share Posted May 5, 2017 Hi, Thanks for the reply. So you mean "!THE+AMERICAN!200!nf!300" this expression will be available in 57.3 version where through + we can cover the space in the CNAME? Quote Link to comment Share on other sites More sharing options...
madyan Posted May 5, 2017 Author Report Share Posted May 5, 2017 Also how can we add multiple expression in one trunk? Quote Link to comment Share on other sites More sharing options...
madyan Posted May 5, 2017 Author Report Share Posted May 5, 2017 One more thing, with this expression "!AMERICAN!200!nf!300" if CNAME contains AMERICAN calls would sent to 200 and rest of all would be sent to 300. Suppose there are 50 extensions created and each extension has its own DID for inbound calls, what would happen in this scenario because system is going to send all other calls to 300? Quote Link to comment Share on other sites More sharing options...
Vodia PBX Posted May 5, 2017 Report Share Posted May 5, 2017 Without the space, it will also work in much older versions. You can add multiple expressions by listing them, separated by a space character. That is the reason why it was a problem to have a space in the pattern itself! Not sure what you mean with the last post; but if you want to make more than one rule that is absolutely possible. Just use spaces to separate them. The computer is going from rule to rule and evaluates them. But in that case you should not include the default destination; that will stop the processing. Quote Link to comment Share on other sites More sharing options...
madyan Posted May 5, 2017 Author Report Share Posted May 5, 2017 I mean if I have 50 extensions on the PBX and each extension has individual DID to receive incoming calls. All inbound traffic is coming from Trunk A and on Trunk A we have added expression "!AMERICAN!200!nf!300". Now all incoming calls that not contains AMERICAN would go to account 300. Here Extension 200 has DID 2122453xxx to receive calls and 201 2122454xxx and just like all other extensions. What would happen if from outside anyone call to 212245xxxx? According to expression all incoming calls would go to 300? Quote Link to comment Share on other sites More sharing options...
madyan Posted May 5, 2017 Author Report Share Posted May 5, 2017 Also multiple expressions are not working separated by space. I've added a expression like this: !AMERICAN!211!nf!3000 !NEW!211!nf!3000 Now I am calling and my CNAME contains NEW but call is not sending to 211. If I putt it like this then it works. !NEW!211!nf!3000 !AMERICAN!211!nf!3000 But now if my CNAME contains AMERICAN, its not sending to 211. Quote Link to comment Share on other sites More sharing options...
Vodia PBX Posted May 6, 2017 Report Share Posted May 6, 2017 If there is a default destination, the PBX will send the call there and not continue processing. So take the first 3000 out, then the system will consider the NEW pattern if there was no match on the AMERICAN. Also if you want to try if the caller ID matches one of your DID, you can do that as well with another pattern. For example !AMERICAN!211!nf !NEW!211!nf !([0-9]{10})$!\1!f!3000 could be worth a try. Which would be equivalent to !(AMERICAN|NEW)!211!nf !([0-9]{10})$!\1!f!3000 Quote Link to comment Share on other sites More sharing options...
madyan Posted May 8, 2017 Author Report Share Posted May 8, 2017 I tried this pattern !(AMERICAN|NEW)!211!nf !([0-9]{10})$!\1!f!3000 now if CNAME contains AMERICAN or NEW it sent calls to 211 and rest of all to 3000 which is auto attendant. Now I am calling to 21224535xx from my cell phone which is assigned to extension 225, my cname is GOLD and my all calls to 21224535xx are going to 3000, which actually shouldn't and ring on 225. Quote Link to comment Share on other sites More sharing options...
Vodia PBX Posted May 8, 2017 Report Share Posted May 8, 2017 Ooops try this !(AMERICAN|NEW)!211!nf !([0-9]{10})$!\1!t!3000 The 2nd pattern will look at the to header instead of the from header. All powerful stuff is cryptic. Quote Link to comment Share on other sites More sharing options...
madyan Posted May 8, 2017 Author Report Share Posted May 8, 2017 Now its working fine, just last thing. What would be the expression if I want to send calls to extension 211 if CNAME contains AMERICAN and to extension 225 if CNAME contains NEW. Quote Link to comment Share on other sites More sharing options...
Vodia PBX Posted May 9, 2017 Report Share Posted May 9, 2017 !AMERICAN!211!nf !NEW!225!nf !([0-9]{10})$!\1!t!3000 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.