samfiller Posted September 14, 2011 Report Share Posted September 14, 2011 My question is inbound handling: From what I understand there are two ways to route an inbound call. One is via an Alias on the extension matching the DID that is being called. The second way is in the trunk setup, setup "Send call to extension:" either putting an extension in there or by using Regular Expressions for a simple example !(8005551212)!800 !(2121234567)!800 I am having some issues that would take a very long time to explain (calls going to the wrong extension..) A solution for me would be to be able to create a document for example DID.xml and in the document list 100 DID in this format: !(8005551212)!800 !(2121234567)!800 etc......... and some how program on all my trunks by Send call to extension: DID.xml . In short have one global list that no matter what trunk this DID hits the system via it will use the global mapping to go to the correct extension. Alias's would probably work but it gets way to messy when you are dealing with lots of DID's. Any help would be greatly appreciated. While I am posting a side question is there a way for the PBX to dip into CNAME? or in order to have CNAME your provider needs to send the DID with the CNAME. Quote Link to comment Share on other sites More sharing options...
pbx support Posted September 14, 2011 Report Share Posted September 14, 2011 The best option here is to use the DID as the alias and setup a simple regular expression. http://wiki.snomone.com/index.php?title=Inbounds_Calls#How_the_System_Routes_a_Call_to_the_Proper_Extension Example: You can set !(\+[0-9]*)!\1!t!70. This will match any incoming number (that starts with a +) to the corresponding DID. If there is no match, then the call will be sent to account 70 (could be an Attendant). Note: if the "To" header of the INVITE from the provider does not contain a '+', then you can omit '\+' from the above pattern as well. We do not support CNAME at this moment. Quote Link to comment Share on other sites More sharing options...
samfiller Posted September 14, 2011 Author Report Share Posted September 14, 2011 Thank you for the response, I was hoping the answer was YES ;-) The issue I am having is that I have a trunk that is registered and all the DID's on that registered account are going to extension 800 - via send call to extension. The issue is I have a SIP gateway setup for the same IP as that Registered trunk to except not registered traffic and have set to go to a different extension (850). The issue seems to be that the registered extension is "excepting" the traffic and therefor the calls are going to the wrong extension (800 and not 850). I tried alias and it did not work. I assume if I program the info on the wrong trunk it will work BUT that is for sure not the correct way to do it. And I would have to use some sort of expression of all calls go to 800 except this DID go to 850. A global DID directory would solve this issue But I guess its a bug for a registered extension to except other traffic. Any insight? Quote Link to comment Share on other sites More sharing options...
samfiller Posted September 15, 2011 Author Report Share Posted September 15, 2011 I added the call routing in multiple trunks and all seems to work. I guess the question still remains why a registered trunk will allow not registered traffic from the same IP as the registration server. Quote Link to comment Share on other sites More sharing options...
pbx support Posted September 15, 2011 Report Share Posted September 15, 2011 I guess the question still remains why a registered trunk will allow not registered traffic from the same IP as the registration server. Here is a high level logic on how PBX identifies the inbound traffic http://kiwi.pbxnsip.com/index.php/Inbound_Calls_on_Trunk#How_the_PBX_identifies_the_trunk So basically, PBX is detecting that the call is coming on the "registered" trunk and not the other one. There has to be some differentiating information in the INVITE that is sent by the provider for the PBX to select one trunk over the other. There is none, then PBX always picks the best match and continues. Quote Link to comment Share on other sites More sharing options...
samfiller Posted September 20, 2011 Author Report Share Posted September 20, 2011 Thank you, I understand that. I just assumed that a registered trunk would be an entity of its own and only "registered traffic" would pass through.... Well you learn something new every day. Thanks!! Quote Link to comment Share on other sites More sharing options...
gotvoip Posted September 23, 2011 Report Share Posted September 23, 2011 It does it is called the line parameter. In the registration request the pbx sends this as a tag and on every invite coming into the pbx it should have this parameter so the pbx knows exactly where to send the call. These examples are different calls so the values are different in the line field. INVITE sip:101@10.1.1.129:2048;line=kxp3po6w SIP/2.0 Contact: <sip:2404982364@10.20.91.50:5060;transport=udp;line=a87ff679>; 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.