1. Brekeke Product Name and version:
SIP Server , Version 2.4.3.9 Advanced
2. Java version:
1.6.0_18
3. OS type and the version:
Windows Server 2003
4. UA (phone), gateway or other hardware/software involved:
Proprietary SIP Gateway Software
5. Select your network pattern from http://www.brekeke-sip.com/bbs/network/ ... terns.html :
6. Your problem:
2 Proxy Servers with mirroring and heartbeat active, everything works as expected.
The Proxies have some Phones and 2 SIP Gateways to a proprietar Phone infrastructure connected. These Gateways work as high availability solution to the 3rd party phone network.
My problem is, if the active of these 2 gateway failes (the first in the dial plan), it lasts the expiry time until my 3rd party network is reachable again.
I set the expire time to 10 seconds, that is an acceptable switchover time for our system but i am looking for a more sophisticated solution, where i can use a expiry time from about 360 seconds.
Something like a re-register initiated by the proxy after a certain timeout period.
Dial Plan Switchover between 2 gateways
Moderator: Brekeke Support Team
Dial Plan
Initially the dial plan had the following format. All called parties beginning with R will be routed to registered parties, parties starting not with an R will be routed either to PSip1 or PSip2.
As described in my first post, the multiple target failure worked, but with the limitation of no service available until the expire time of PSip1 has been expired. (When i switch off PSip1)
##
## DialPlan table file "C:\Programme\Brekeke\proxy\webapps\proxy\WEB-INF\work\sv\temp\dpn3006978951043468761tmp" (Tue Aug 02 14:00:00 GMT 2011)
##
"toPhones", $request="^INVITE sip\\:(R[0-9].*)@(.*)";, To="sip:%1@", ""
"toPsip1", $request="^INVITE";$registered("PSip1")="true";, $target="10.254.246.14:5070", ""
"toPsip2", $request="^INVITE";$registered("PSip2")="true";, $target="10.254.246.15:5070", ""
"{no authorization}", $request="^REGISTER";$localhost="true";user-agent="^Brekeke";, $action=register;$auth=false;&net.registrar.upper.allow=false, ""
As described in my first post, the multiple target failure worked, but with the limitation of no service available until the expire time of PSip1 has been expired. (When i switch off PSip1)
##
## DialPlan table file "C:\Programme\Brekeke\proxy\webapps\proxy\WEB-INF\work\sv\temp\dpn3006978951043468761tmp" (Tue Aug 02 14:00:00 GMT 2011)
##
"toPhones", $request="^INVITE sip\\:(R[0-9].*)@(.*)";, To="sip:%1@", ""
"toPsip1", $request="^INVITE";$registered("PSip1")="true";, $target="10.254.246.14:5070", ""
"toPsip2", $request="^INVITE";$registered("PSip2")="true";, $target="10.254.246.15:5070", ""
"{no authorization}", $request="^REGISTER";$localhost="true";user-agent="^Brekeke";, $action=register;$auth=false;&net.registrar.upper.allow=false, ""
Dial Plan with installed failover plug in
I installed the failover plugin and changed the rules, but it is not working as expected. When I try to setup a call always the second failover target will be used.
##
## DialPlan table file "C:\Programme\Brekeke\proxy\webapps\proxy\WEB-INF\work\sv\temp\dpn2788620955365086954tmp" (Wed Aug 03 14:00:24 GMT 2011)
##
"toPhones", $request="^INVITE sip\\:(R[0-9].*)@(.*)";, To="sip:%1@", ""
"toPsip1", $request="^INVITE";, $target="failover 10.254.246.14:5070\, 10.254.246.14:5070", ""
"{no authorization}", $request="^REGISTER";$localhost="true";user-agent="^Brekeke";, $action=register;$auth=false;&net.registrar.upper.allow=false, ""
##
## DialPlan table file "C:\Programme\Brekeke\proxy\webapps\proxy\WEB-INF\work\sv\temp\dpn2788620955365086954tmp" (Wed Aug 03 14:00:24 GMT 2011)
##
"toPhones", $request="^INVITE sip\\:(R[0-9].*)@(.*)";, To="sip:%1@", ""
"toPsip1", $request="^INVITE";, $target="failover 10.254.246.14:5070\, 10.254.246.14:5070", ""
"{no authorization}", $request="^REGISTER";$localhost="true";user-agent="^Brekeke";, $action=register;$auth=false;&net.registrar.upper.allow=false, ""
It seems your dialplan syntax is wrong...
Failover plugin should be defined with the "$session" variables.
http://wiki.brekeke.com/wiki/How-to-mak ... -Dial-Plan
The DialPlan rule "toPsip" should be like this.
------------------------
[Matching Patterns]
$request = ^INVITE
To = sip:(.+)@
[Deploy Patterns]
To = sip:%1@10.254.246.14:5070
$session = failover sip:%1@10.254.246.15:5070
&failover.timer.inviting = 10
------------------------
It means.. if the 10.254.246.14 doesn't respond for 10sec, the SIP server forwards a call to 10.254.246.15.
If you want to switch between 10.254.246.14 and 10.254.246.15 each time, contact Brekeke's team to get some advices.
Failover plugin should be defined with the "$session" variables.
http://wiki.brekeke.com/wiki/How-to-mak ... -Dial-Plan
The DialPlan rule "toPsip" should be like this.
------------------------
[Matching Patterns]
$request = ^INVITE
To = sip:(.+)@
[Deploy Patterns]
To = sip:%1@10.254.246.14:5070
$session = failover sip:%1@10.254.246.15:5070
&failover.timer.inviting = 10
------------------------
It means.. if the 10.254.246.14 doesn't respond for 10sec, the SIP server forwards a call to 10.254.246.15.
If you want to switch between 10.254.246.14 and 10.254.246.15 each time, contact Brekeke's team to get some advices.