Routes
From Taridium
To access your routes click on Configuration → Routing.
Routes basically tell ipbx what to do with incoming and outgoing calls. In a standard configuration any SIP, IAX or PSTN call is processed by 'Inbound Routing', in the same way any calls to extensions that cannot be found locally are sent to the 'Outbound Routing' for further processing. Note that some special applications such as Multi Site Support do not need outbound/inbound routing configuration.
Contents |
Inbound Routing
Inbound routes simply allow you to specify patterns (see Pattern Matching) or fully qualified extension and assign them to an extension, group, IVR etc. See also Destinations.
Note that in certain cases the position of your route needs to be adjusted. This will for example be the case when you have overlapping number patterns.
Auto Extensions
Auto Extensions allows you to automatically match up DID's with local extensions. The match is based off the DID/DDI specified in the User configuration (or if a pure channel the External Caller ID). Matches can be strict (full match) or based on a number of digits (right to left). An example would be a Telco that only passes the 3 last digits of the dialed DID/DDI.
Example
- Telco passes 10 digit extensions on a PRI, e.g. 6505552044
- User 2044 with DID/DDI (External Caller ID) set to 16505552044
Create an auto extension route with 10 digit match. This will cause the DID to have the 1 stripped off and match with any calls to 650-555-2044.
This route needs only to be present once.
Outbound Routing
Outbound routes allow you to specify where to find certain extensions/destinations, either fully qualified or by means of a pattern. A pattern can match the dialed extension and/or a specific caller ID. This allows you to use specific outbound routes for a phone. See also Pattern Matching.
Note that in certain cases the position of your route needs to be adjusted. This will for example be the case when you have overlapping number patterns.
Transformations
Transformations allow you to modify extensions (dialed numbers) in certain situations. Currently ipbx supports three situations or types:
- before inbound routing
- before outbound routing
- before inside routing
Numbers can be mapped one-to-one e.g. if a call is being sent as extension 200 to your ipbx you can have it processed as 500 instead. Assuming you have an inbound route with DID/DDI 500 etc.
The difference between before inside routing and before outbound routing is that the transformation inside is applied before any of the local extensions are looked up, whereas before outbound routing it will be applied after all internal options have been exhausted.
Variables
In extension transformations you can use the ${EXTEN} variable in the output field if you need to transform the incoming pattern.
For the caller ID fields you can use ${CALLERID(num)}, ${CALLERID(name)}, ${NAME} or ${NUM} respectively.
Examples
1. Type before outbound routing, Pattern _NXXXXXX and Output +1212${EXTEN} - This rule will transform any 7 digit numbers to an E.164 pattern within the 212 area code. You will now have to match the newly formatted number in your outbound routes.
2. Type before outbound routing, Pattern _9NXXXXXX and Output +1212${EXTEN:1} - This rule will transform any 8 digit numbers starting with 9 to an E.164 pattern within the 212 area code. You will now have to match the newly formatted number in your outbound routes.
3. Type before outbound routing, Pattern 6775000 and Output sip:info@taridium.com - This rule will transform 6775000 to sip:info@taridium.com. There is no need for an outbound route in this case, since call routing will be performed via DNS records.
4. Type before inside routing, Pattern 123 and Output *86 - This rule will transform 123 to *86. This could be used for example for voicemail access via extension 123.
Inbound Blacklist
The inbound blacklist blocks specific incoming caller ID's. Caller ID's can be fully qualified or based on number patterns. See also Pattern Matching. Entries can be temporarily disabled or enabled .
Pattern Matching
Extension names are not limited to single specific extension 'numbers'. A single extension can also match patterns. Patterns always start with a '_' underscore. In a pattern, the following characters have special meanings:
Special Characters for Pattern Matching
X matches any digit from 0-9 Z matches any digit from 1-9 N matches any digit from 2-9 [1237-9] matches any digit or letter in the brackets (in this example, 1,2,3,7,8,9) . wildcard, matches one or more characters
Some incoming calls might not provide extension information and thus no way to match the incoming call. This will require the use of the reserved s extension. An example is the use of analog line cards.
Examples
_NXXXXXX matches a NANP 7 digit telephone number such as 555-1212 _1NXXNXXXXXX matches an area code and phone number preceeded by a one such as 1-860-555-1212 _9011. matches any string of at least five characters that starts with 9011, but it does not match the four-character string 9011 itself.
Caller ID Matching
As of version 2.0.4 ipbx also supports caller ID pattern matching. Simply separate the pattern string with a forward slash:
_1NXXNXXXXXX/_500X
The above pattern will only match if the dialed number matches 1NXXNXXXXXX and the caller ID matches 500X.