Jump to content

Caller ID authentication


madyan

Recommended Posts

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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?

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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?

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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
Link to comment
Share on other sites

  • 4 weeks later...

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?

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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?

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...