atilla.gahbro Posted March 30, 2009 Report Share Posted March 30, 2009 outside of manually inserting a tech (leading digits, ex: 4387652 in front of 1npanxxyyyy) prefix in to each and every dial plan entry for each domain, is there a way to specify a tech prefix per trunk/domain ? currently when we or any other itsp routes calls to a multi domain pbxnsip server the call has to be sent to the fqdn url of the domain and not the ip address as only localhost domain resources are available when the call comes in to an ip address so on outbound traffic the pbxnsip server will send to the ip addresss of the itsp and with the ip address of the pbxnsip server and not the url of the domain so the only way we can think of identifying domains is to use a tech prefix function per domain so they can share the same public ip address for outbound traffic so in this config the billing system will bill for two trunk ids. one for origination (url based) and one for termination (static ip with tech prefix) i cant think of any other way to do this but need to know if there is a clean way to specify a tech prefix per trunk per domain i saw the prefix field under trunks but after reading up on it i see that its something entirely different any thoughts would be appreciated thanks Quote Link to comment Share on other sites More sharing options...
Vodia PBX Posted March 30, 2009 Report Share Posted March 30, 2009 outside of manually inserting a tech (leading digits, ex: 4387652 in front of 1npanxxyyyy) prefix in to each and every dial plan entry for each domain, is there a way to specify a tech prefix per trunk/domain ? currently when we or any other itsp routes calls to a multi domain pbxnsip server the call has to be sent to the fqdn url of the domain and not the ip address as only localhost domain resources are available when the call comes in to an ip address so on outbound traffic the pbxnsip server will send to the ip addresss of the itsp and with the ip address of the pbxnsip server and not the url of the domain so the only way we can think of identifying domains is to use a tech prefix function per domain so they can share the same public ip address for outbound traffic so in this config the billing system will bill for two trunk ids. one for origination (url based) and one for termination (static ip with tech prefix) i cant think of any other way to do this but need to know if there is a clean way to specify a tech prefix per trunk per domain i saw the prefix field under trunks but after reading up on it i see that its something entirely different If you can register the trunk then inbound trunk identification is very easy for the PBX. It just uses the "line" parameter with a trunk identifier in it. If not things indeed get tricky. Of course the IP address of the PBX is a very poor indicator where the call should go. We found that using a DID number is the most natural way of finding out where the call should go. This is something that almost everybody understands "naturally", as it reflects the way people are calling resources in the telephone world. Even if it is a dummy DID (which cannot called from old grandma's phone) it still serves its purpose (note that there are more telephone numbers in North America than IP addresses in the world!). By adding the "ANI" for outbound presentation, and by having the telephone number as alias name of the account for inbound search, this is a easy way to do inbound and outbound mapping. You can even setup a global trunk that takes care about sending the call into the right domain. In 3.3 we also added the possibility to have a global dial plan - which makes it more convenient to set up complex dial plans only once. Quote Link to comment Share on other sites More sharing options...
atilla.gahbro Posted March 30, 2009 Author Report Share Posted March 30, 2009 i was referring to sending a tech prefix on outbound calls to the upstream carrier (our sbc/class4 switch) currently all calls from pbxnsip are handled by a common trunk group in our billing system and we have to bill by the ani which presents a problem whenthe ani is suppressed. i know we have p-asserted to work with but that requires the billing systems to look in different places we are trying to identify the domain making the call so we can have each domain (tenant) with its own trunk ip in our class4 switch so that the billing system just looks at the trunk id for billing and doe snot have to match the call record to a customer by ani i know we can insert leading digits in the dial plan but that is too difficult ot manage long term the global dial plan would be great but if the leading tech prefix has to be in the dial plan that too would not even be usable as each domains dial plan would be different what i mean by a tech prefix is the leading digits requires by some carriers/itsps such as vitelity, flowroute, etc on our sip trunking service off of our class4 switch we dont require a tech prefix on unique ip addresses but would simply use it in this case to identify the domain making the call does that make sense? Quote Link to comment Share on other sites More sharing options...
pbx support Posted March 30, 2009 Report Share Posted March 30, 2009 Not sure whether you are looking for the "Prefix" setting on the trunk page. For help, search for "prefix" on this page http://wiki.pbxnsip.com/index.php/Outbound_Calls_on_Trunk i was referring to sending a tech prefix on outbound calls to the upstream carrier (our sbc/class4 switch) currently all calls from pbxnsip are handled by a common trunk group in our billing system and we have to bill by the ani which presents a problem whenthe ani is suppressed. i know we have p-asserted to work with but that requires the billing systems to look in different places we are trying to identify the domain making the call so we can have each domain (tenant) with its own trunk ip in our class4 switch so that the billing system just looks at the trunk id for billing and doe snot have to match the call record to a customer by ani i know we can insert leading digits in the dial plan but that is too difficult ot manage long term the global dial plan would be great but if the leading tech prefix has to be in the dial plan that too would not even be usable as each domains dial plan would be different what i mean by a tech prefix is the leading digits requires by some carriers/itsps such as vitelity, flowroute, etc on our sip trunking service off of our class4 switch we dont require a tech prefix on unique ip addresses but would simply use it in this case to identify the domain making the call does that make sense? Quote Link to comment Share on other sites More sharing options...
atilla.gahbro Posted March 30, 2009 Author Report Share Posted March 30, 2009 from my original post: i saw the prefix field under trunks but after reading up on it i see that its something entirely different here is the note on prefix from the url that i reviewed prior to the post: If that ANI is not set, the PBX checks if there is a Prefix set in the trunk. If this is the case, it puts the prefix in front of the primary account number and uses that as ANI. This is very useful in cases when a trunk deals with a range of numbers (typical outside of the NANPA area, e.g. Europe). The "extension" number is just put behind the prefix. here is what i need: domain xyz tech prefix is 478325 user dials 12134447777 pbxnsip sends 47832512134447777 like an auto insert to the outbound digits since all traffic from pbxnsip gets sent from the same ip address we need to identify the domain making the call and can not think of any other way to do it can this be done outside of the dial plan? Quote Link to comment Share on other sites More sharing options...
Vodia PBX Posted March 31, 2009 Report Share Posted March 31, 2009 from my original post: i saw the prefix field under trunks but after reading up on it i see that its something entirely different here is the note on prefix from the url that i reviewed prior to the post: If that ANI is not set, the PBX checks if there is a Prefix set in the trunk. If this is the case, it puts the prefix in front of the primary account number and uses that as ANI. This is very useful in cases when a trunk deals with a range of numbers (typical outside of the NANPA area, e.g. Europe). The "extension" number is just put behind the prefix. here is what i need: domain xyz tech prefix is 478325 user dials 12134447777 pbxnsip sends 47832512134447777 like an auto insert to the outbound digits since all traffic from pbxnsip gets sent from the same ip address we need to identify the domain making the call and can not think of any other way to do it can this be done outside of the dial plan? Oh, did you check out ICID (RFC 3455)? This is a simple method of tagging the request for outbound calls so that the upstream provider can tell where the call came from. The prefix could also be a way for you. However, you must use ANI. However, I would rather use common prefix in the ANI to have the same effect. Like the "area code" in the DID number. Quote Link to comment Share on other sites More sharing options...
atilla.gahbro Posted March 31, 2009 Author Report Share Posted March 31, 2009 RFC 3455 wont work for associating to a trunk id in the class4 switch as it is not (on our network) a usable field for detecting the trunk id i am not sure how the ani can be used when we need the digits in the dialed digits (dnis) can you please explain? i am not sure i understand the common prefix in the ani like the area code either. thanks Quote Link to comment Share on other sites More sharing options...
Vodia PBX Posted March 31, 2009 Report Share Posted March 31, 2009 i am not sure how the ani can be used when we need the digits in the dialed digits (dnis) Ehhh that is true. Did you try something like this in the dial plan replacement: sip:1234\1@\r;user=phone;other-arg=lalala The "\1" is the match from the pattern, the \r is the domain name. This will go into the Request-URI of the request. Is that okay? The To-Header should usually not be used for routing purposes according to the SIP RFC. Quote Link to comment Share on other sites More sharing options...
atilla.gahbro Posted March 31, 2009 Author Report Share Posted March 31, 2009 that would work to expose the sending domain but the upstream class4 switch does not look at that for determining the trunk id assigned to the domain when traffic is coming from multiple domains wit the same ip address it can only use a tech prefix for many itsp this is standard practice even when you are sending from a dedicated ip address. examples are, flowroute, grnvoip, etcetera using the dial plan would work but it would have to be a manual config for each entry and each trunk. thats the problem. many soft switches have a "tech prefix" field used just for this function and i was hoping there is something in pbxnsip trunk config that i was not aware of i guess i will have to make several hundred entries in the dial plan Quote Link to comment Share on other sites More sharing options...
Vodia PBX Posted March 31, 2009 Report Share Posted March 31, 2009 i guess i will have to make several hundred entries in the dial plan What does your dial plan look like?! Too many entries are not good anyway... Check out the regular expressions, they can make your life easier. Also, did you try the prefix? If there is no trunk ANI and also no extension ANI, the PBX will put the prefix in front of the user name. For example, if you are calling from username 123 and the prefix is 123456, then the PBX will make 123456123 out of it. Quote Link to comment Share on other sites More sharing options...
atilla.gahbro Posted March 31, 2009 Author Report Share Posted March 31, 2009 we only have about five per trunk per domain so about ten per domain the prefix is for ani and i am needing to add a tech prefix to the dnis (outbound digits) Quote Link to comment Share on other sites More sharing options...
aarodynamics Posted October 23, 2010 Report Share Posted October 23, 2010 Does anyone have a dial plan and trunk configuration that they could post for flowroute/PBXnSIP/snomONE? I've used flowroute for a long time now with asterisk and can set this all up very easily there but I'm totally lost at the moment with how to get this working in PBXnSIP. Thank you! Quote Link to comment Share on other sites More sharing options...
Vodia PBX Posted October 23, 2010 Report Share Posted October 23, 2010 Does anyone have a dial plan and trunk configuration that they could post for flowroute/PBXnSIP/snomONE? I've used flowroute for a long time now with asterisk and can set this all up very easily there but I'm totally lost at the moment with how to get this working in PBXnSIP. You mean something like this: http://kiwi.pbxnsip.com/index.php/Callcentric. Maybe just open a new topic for this instead of appending it to this one... Quote Link to comment Share on other sites More sharing options...
aarodynamics Posted October 23, 2010 Report Share Posted October 23, 2010 You mean something like this: http://kiwi.pbxnsip.com/index.php/Callcentric. Maybe just open a new topic for this instead of appending it to this one... I would start a new topic except for that I'm having the exact same problem as the OP; I can't figure out how to append a tech prefix. I have ran some Pcaps and can see that I'm getting it to append the tech prefix via the SIP URI but Flowroute keeps returning a "TechPrefix and IP not in ACL -support@flowroute.com" message. The reason I need to append the tech prefix is because I'm trying to use IP-based authentication for outgoing calls. I have my snom ONE server's IP:Port set on my flowroute Interconnection page. And I have a 1:1 nat configured on my firewall with port 5060 open on the inbound and everything opened up for sending out. This is what my dialplan looks like (I've replaced my numeric Tech Prefix with "MYTECHPREFIX"): 100;flowroute;;911;"sip:MYTECHPREFIX#\1@sip.flowroute.com;user=phone" 200;flowroute;;xxxxxxx;"sip:MYTECHPREFIX#1425\1@sip.flowroute.com;user=phone" 250;flowroute;;xxxxxxxxxx;"sip:MYTECHPREFIX#1\1@sip.flowroute.com;user=phone" 300;flowroute;;1xxxxxxxxxx;"sip:MYTECHPREFIX#\1@sip.flowroute.com;user=phone" 350;flowroute;;011*;"sip:MYTECHPREFIX#\1@sip.flowroute.com;user=phone" And I've set up the trunk as a SIP Reg, GW, and Proxy, all with no luck. Quote Link to comment Share on other sites More sharing options...
aarodynamics Posted October 23, 2010 Report Share Posted October 23, 2010 FWIW, this is what flowroute writes about Tech Prefixes: Tech Prefix What's This? The tech prefix is used if you choose to use IP-based authentication for outbound calls. To use it: define your outbound allowed IPs below, then prepend the tech prefix before each call. Format for NANPA(USA/Canada) calls must be 11-digit. Format for International calls must be Country code followed by number, no 011 or 00 required. Example: To call NANPA (USA) - +1 310 555 1234, send the call to "MYTECHPREFIX#13105551234@sip.flowroute.com". Example: To call International (France) - +33 1 5871 1234, send the call to "MYTECHPREFIX#33158711234@sip.flowroute.com". SIP Proxy sip.flowroute.com Prefix MYTECHPREFIX# IP-based authentication is recommended for users with static IP addresses. However, if you are behind firewall or NAT router, you must use SIP Registration. If you need assistance configuring your PBX or VoIP system, please visit our System Configurator. Quote Link to comment Share on other sites More sharing options...
Vodia PBX Posted October 23, 2010 Report Share Posted October 23, 2010 MYTECHPREFIX# You just need to be a little bit careful, because usernames in SIP are case-sensitive (wasn't out idea!). Also, AFAIK the hash symbol needs to be escaped, the PBX should automatically take care about this. Maybe it is something "stupid" like this... Quote Link to comment Share on other sites More sharing options...
aarodynamics Posted October 23, 2010 Report Share Posted October 23, 2010 like i said up above... "MYTECHPREFIX" is just a place holder so that I don't need to post my real tech prefix. Quote Link to comment Share on other sites More sharing options...
atilla.gahbro Posted October 23, 2010 Author Report Share Posted October 23, 2010 open offer to pbxnsip: we will pay you $1000 to create a DNIS tech prefix field that will auto insert the tech prefix in front of the dnis on all outbound calls to date we have over 300,000 un-billed outbound minutes for hosted pbx customers that are on the pbxnsip platform we gave up trying to make this work as something so simple took so long just to get across (i am not even sure if it is actually clear to pbxnsip what we need) this is what i do know: we cant manually enter it in each dial plan for for each trunk for each domain it sounds like aarodynamics has the same issue as we did (still do) i am not really sure how it can be expressed any simpler than just needing an outbound tech prefix just like you have an inbound tech prefix field pbxnsip uses the ani tech prefix field for inbound calls in the same way upstream providers need the tech prefix field to be populated for inbound (outbound from the perspective of pbxnsip) calls in our case instead of signaling the tech prefix to another service provider we are needing to send the tech prefix to our own class4 sansay switches so that our billing system can identify the domain/account making the call i think something even something like inserting the name of the domain (under domain settings > default values) where we could enter a numeric tech prefix instead of a name would work is there an argument switch that can be entered in to the dial plan that can insert the "name of the domain" ? does this make sense? am i explaining it clearly? i think many users would benefit from addressing this topic Quote Link to comment Share on other sites More sharing options...
Vodia PBX Posted October 24, 2010 Report Share Posted October 24, 2010 we will pay you $1000 to create a DNIS tech prefix field that will auto insert the tech prefix in front of the dnis on all outbound calls We are not in the bounty business. But lets see if get the problem solved without a bounty. does this make sense? am i explaining it clearly? So let my try to understand what the problem is. Looking at the INVITE packet that the PBX sends to the gateway or service provider: From: "1234" <sip:1234@itsp.domain.com;user=phone> To: "4567" <sip:4567@itsp.domain.com;user=phone> P-Asserted-Identity: "2345" <sip:2345@itsp.domain.com;user=phone> P-Charging-Vector: 9876 So what you want is this: From: "1234" <sip:1234@itsp.domain.com;user=phone> To: "9876#4567" <sip:9876%234567@itsp.domain.com;user=phone> P-Asserted-Identity: "2345" <sip:2345@itsp.domain.com;user=phone> We already support RFC3455 (P-Charging-Vector) and this one depends on the trunk, so essentially my understanding is that there should be another way of indicating the charging vector? Quote Link to comment Share on other sites More sharing options...
aarodynamics Posted October 24, 2010 Report Share Posted October 24, 2010 We are not in the bounty business. But lets see if get the problem solved without a bounty. So let my try to understand what the problem is. Looking at the INVITE packet that the PBX sends to the gateway or service provider: From: "1234" <sip:1234@itsp.domain.com;user=phone> To: "4567" <sip:4567@itsp.domain.com;user=phone> P-Asserted-Identity: "2345" <sip:2345@itsp.domain.com;user=phone> P-Charging-Vector: 9876 So what you want is this: From: "1234" <sip:1234@itsp.domain.com;user=phone> To: "9876#4567" <sip:9876%234567@itsp.domain.com;user=phone> P-Asserted-Identity: "2345" <sip:2345@itsp.domain.com;user=phone> We already support RFC3455 (P-Charging-Vector) and this one depends on the trunk, so essentially my understanding is that there should be another way of indicating the charging vector? I'm not SIP savvy enough to tell you if that is exactly what we need but it looks pretty close. I'd suggest you just call up the folks at Flowroute and ask them what exactly is required for their tech prefix. Tell them that you would like to make your software work with them for IP-based authentication. I'm pretty sure that this is also the same format that Vitelity uses. Both Vitelity and Flowroute are becoming quite large in the ITSP market. Thank you! -Aaron Quote Link to comment Share on other sites More sharing options...
atilla.gahbro Posted October 24, 2010 Author Report Share Posted October 24, 2010 thanks for the reply pbxnsip here is the ideal situation: create a value field or use an existing field to be inserted to the dnis of all outgoing calls for each trunk that requires it. so this would be a function to be activated on a per trunk basis on our service we dont create trunk ids such as co01 co02 etc and create the exact same trunk for each domain. but this is not necessary if we could just use a global trunk and just select it for each domain which is much faster and less error prone. however it would need to pull the tech prefix from a domain field for each domain and not from the domain that he global trunk was created under as for aarodynamics need specifically with flowroute, there is nothing special about it. they too just need to see a leading tech prefix in front of the dnis so if you need to call 12135551234 you send tech12135551234 (replace tech with what ever numeric value they assign you) our own internal needs are the same way it just needs to be something that can be managed from the top down is there a way yo insert the "name of the domain" using a switch argument in the dial plan or configuring a global trunk to pull it from the domain making the call? the p-asserted id will not work unless you can insert the needed tech prefix in front of the dialed number (we are behind a class4 that our billing system reads cdrs from and on our network all billing goes by trunk id using static ip addresses or common ip address with leading tech prefix please dont consider it a bounty. just call it professional services and lets get something workable. in place v4 may have something to address this but i cant tell as we dont have a test environment for v4 yet 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.