Forums Read-only archive

Speed Dialing

4 posts · Brekeke SIP Server Forum

JRayfield Original post
1. Brekeke Product Name and Version:
Brekeke SIP Server - 3.14.5.17/563.2

2. Java version:
11.0.15

3. OS type and the version:
Windows Server 2012

4. UA (phone), gateway or other hardware/software involved:
3CX

5. Your problem:
I'm trying to use BSS as a kind of Speed Dial System.

My idea is to have 3CX route certain 'calls' out to a BSS, where the BSS 'converts' 4 digit numbers to complete telephone numbers and then BSS sends these complete telephone numbers to a VoIP service provider.

So, for example, BSS receives a string of numbers such as '614491' and then generates '15558694491' which it sends on to the VoIP service provider.

Here's my matching pattern for one Speed Dial entry in the BSS dial plan:

$request = ^INVITE
$registered("3cx_registration") = true
$addr = ^ip-address_of_3cx_server$
To = sip:614491(.+)@

The Deploy Pattern that I've tried is:

$auth = false
$rtp = true
$b2bua = false
&failover.timer.provisional = 120
To = sip:15558694491@ip-address_of_voip-provider

This does not work. I've tried several variations of the above Patterns, and nothing works.

So, what am I missing? How do I recognize (throught he Matching Pattern) that a specific 'string' of numbers has been dials (such as 614491) and then 'regenerate' a complete telephone number (1xxxxxxxxxx) that is then sent to the VoIP service provider?
JRayfield
I also tried this, using the Alias Lookup:

$request = ^INVITE
$registered("Username_of_3cx-Server") = true
$addr = ^IP-Address_3cx-Server$
To = sip:61(.+)@
$alias.lookup(%1) = (.+)

$auth = false
$rtp = true
$b2bua = true
To = sip:%3@IP-Address_of_Service-Provider

In the Alias List, I showed "4491" for the Alias Name and "15558694491" for the Entity Name (this isn't the real phone number that I entered).

This didn't work either.

Again, what am I doing wrong?
Laurie
Hi John,
The first rule should be like this.
[Matching Patterns]
$request = ^INVITE
$registered("3cx_registration") = true
$addr = ^ip-address_of_3cx_server$
To = sip:614491@

sip:614491(.+)@ should be sip:614491@ in Matching Patterns because (.+) means "any digits one or more times after 614491"


The second rule should be like this.
[Matching Patterns]
$request = ^INVITE
$registered("Username_of_3cx-Server") = true
$addr = ^IP-Address_3cx-Server$
To = sip:61(.+)@
$alias.lookup("%1") = (.+)

%1 should be "%1" because the value should be treated as a string keyword.
If %1, the DialPlan uses the value as a SIP header name.
JRayfield
Both of those worked. I see I was close with both, but not quite there.

Thanks!

John