May 19 2021 07:20 AM - edited May 19 2021 07:27 AM
Dear all,
I have a question related to "classic" extension numbers which commonly can occur when customers use direct routing to/from users on a PBAX.
For my Teams' users, I have set via Set-CsUser the extension number in the following examples
Teams User A: -OnPremLineURI "tel:4101"
-or-
Teams User B: -OnPremLineURI "tel:+18121234567;ext:4101"
Users on the PABX are all in the range of a 4 digit number plan.
Issue 1: Calling Teams
A user on the PABX dials 4101, which is correctly routed to the SBC and to Teams. I get a 499 not found when the number format is entered as "Teams User B". It does ring when I use "Teams User A". From the documentation, I thought the writing form of Teams User B would archive the same goal? Am I missing something?
Issue 2: Calling PABX Users
Regardless of what I do, the FROM and TO numbers in the INVITE to the PABX from Teams DR are transformed and e164 formatting is partially added. For example, Teams' User A (4101) calls PABX user (4102). The FROM is changed to +444101 (I assume as the service location is set to the UK while I applied the license to the user? Cannot find another place where UK is related to the user) and the TO is changed to +4102. Can I configure Direct Routing to leave all numbers untouched, in the from and in the to?
Thank you all in advance!
May 20 2021 11:55 AM
SolutionMay 20 2021 11:05 PM
@Paul Lange , thank you for taking your time to respond.
For my second issue, I think I will be out of luck as the country service dialplan is always applied at the end of all dial plans? Which will not make it possible to send a call out without been transformed to "something" with a +. I will take up the work in the SBC to fix this.
NormalizationRules :
{Description=DE International Dialing Rule;
Pattern=^00(\d+)$;
Translation=+$1;
Name=DE Intl Dialing;
IsInternalExtension=False,
Description=DE Extensions rule;
Pattern=^((\+)?(\d+))(;)?(ext|extn|EXT|EXTN|x|X)(=)?(\d+)$;
Translation=$1;ext=$7;
Name=DE Extension Rule;
IsInternalExtension=False,
Description=DE Long Distance DialingRule;
Pattern=^0(\d+)$;
Translation=+49$1;
Name=DE Long Distance;
IsInternalExtension=False}
May 24 2021 06:44 AM
It doesn't need to. Just amend your global dial plan and then add a new normalisation rule.
Go to Advanced and type in the If (\d{4})
Then $1 in the "Then do this"
Then if you test, you'll see putting in 4444
outputs 4444
As you talk about SBC's, you're obviously using Direct Routing so just ensure you have a Voice Route that matches the 3 digit number. Then 4444 will go straight to the SBC without any addition of +44 or +49 etc
Hope that helps.
May 24 2021 11:56 PM
May 25 2021 03:09 AM
yes - you should use Advanced.
For your 2nd question, I would use the SBC to do that manipulation so for example. This call should hit your SBC with the calling number being the full E164 number and your called number being the 4 digit extension. You will probably have a call routing table where if Called Number is a 4 digit extension then it goes to your PBX.
On the SBC, just do a translation that extracts last 4 digits from calling number and send that through so for example if the calling number range was +4411612xxxx then regex would be ^[+]4411612(\d{4})$ and output would be \1
This captures last 4 digits in the brackets and uses that as the output so PBX would receive 4 digits as both calling and called number.
May 25 2021 03:43 AM
May 20 2021 11:55 AM
Solution