Howto:SIP redundancy / failover: Difference between revisions

From innovaphone wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 4: Line 4:


==Overview==
==Overview==
Often scenarios are needed in which a reliability of the SIP connection has to be realized. There are several approaches and scenarios for SIP redundancy or failover.
We often encounter scenarios in which the reliability of the SIP connection is to be ensured. There are several approaches and scenarios how to achieve this SIP redundancy or failover.


How well SIP redundancy and / or failover works depends on the interaction between the PBX and the carrier providing the SIP account.
How well SIP redundancy and/or failover works, depends on the interaction between the PBX and the carrier providing the SIP account.


==PBX / Gateway==
==PBX / Gateway==
To support various carriers, we implemented the following configurable features :
To support various carriers, innovaphone has already implemented the following configurable features:
* Accepting trunk registrations from multiples Sources (GWs)
* Accepting trunk registrations from multiples Sources (GWs)
* Always place the call on a primary trunk and in case of an error on a secondary trunk or round robin
* Always place the call on a primary trunk and in case of an error, on a secondary trunk or round robin
* Receive calls from multiple trunk registrations
* Receive calls from multiple trunk registrations
* Route calls between GWs back and forth
* Route calls between GWs back and forth
Line 17: Line 17:


==Carrier scenarios==
==Carrier scenarios==
Your possibilities depend on the carriers feature set now
Of course your possibilities here depend on the carrier's feature-set  


=== Two permanent active SIP Interfaces ===
=== Two permanent active SIP Interfaces ===


The best way if the Carrier accept two registration from different sources with the same credentials
The best practice would be if the Carrier accepts two registrations from different sources with the same credentials


* SIP Interfaces on two Gateways with identical configuration
* SIP Interfaces on two Gateways with identical configuration
** Both Interfaces register to the Trunk Object in the PBX
** Both Interfaces register to the Trunk Object in the PBX
* The routing configuration on the Gateway should be the same
* The routing configuration on the Gateway should be identical
* The call distribution is not critical, but needs to be considered in the configuration
* The call distribution is not critical, but needs to be considered in the configuration
** Some carriers send all incoming calls on the ''primary'' trunk only and expect all outgoing calls over the same ''primary'' trunk
** Some carriers send all incoming calls on the ''primary'' trunk only and expect all outgoing calls over the same ''primary'' trunk
*** Outgoing Calls must first send to the ''primary'' Interface, then to the ''secondary'' one
*** Outgoing Calls must be first sent to the ''primary'' Interface, then to the ''secondary'' one
** Some carriers use both trunks for incoming and outgoing calls
** Some carriers use both trunks for incoming and outgoing calls


=== Active SIP Interface, secondary disabled SIP Interface===
=== Active SIP Interface, secondary disabled SIP Interface===


If the Carrier doesn't accept two registration from different sources with the same credentials you can prepare the failover, but you have to switch manually.
If the Carrier doesn't accept two registrations from different sources with the same credentials then you can prepare the failover scenario, but you have to switch here manually.


* SIP Interfaces on two Gateways with identical configuration
* SIP Interfaces on two Gateways with identical configuration
Line 39: Line 39:
** The ''secondary'' Interface should be disabled
** The ''secondary'' Interface should be disabled
** Both Interfaces register to the Trunk Object in the PBX
** Both Interfaces register to the Trunk Object in the PBX
* Routing on the Gateway should be the same
* Routing on the Gateway should be identical
* The call distribution is straight forward because there is only a single active Interface at the same time
* The call distribution is straight-forward because there is only one single active Interface at the same time
* If the ''primary'' trunk fails, it must be disabled manually and the secondary activated
* If the ''primary'' trunk fails, it must be disabled manually and the secondary one activated




- There are some ideas to create with some lines of codes and your monitoring appliance a trigger that will be able to disable/enable the Interfaces via HTTP(S) command.
- There are some ideas to achieve this with the help of some lines of codes and your monitoring appliance which would trigger and be able to disable/enable these Interfaces via HTTP(S) commands.


- There are some ideas to create with the [[Reference13r1:Concept_App_Platform|V13 App Platform]] and the [https://github.com/innovaphone/13r1-SDK SDK] your own App to automate this process on the basis of your own needs
- There are some ideas to achieve this with the help of [[Reference13r1:Concept_App_Platform|V13 App Platform]] and the [https://github.com/innovaphone/13r1-SDK SDK] by developing your own App to automate this process suiting your needs


- Today we have no automatic feature for SIP Interfaces which enables a SIP interface if the other one fails, but there is a [http://forum.innovaphone.com/moodle2/mod/forum/discuss.php?d=22972 feature request] where you can vote for it.
- Today we have no automatic mechanism for SIP Interfaces which enable a SIP interface if the other one fails, but there is a [http://forum.innovaphone.com/moodle2/mod/forum/discuss.php?d=22972 feature request] where you can vote for it.


<!-- == Related Articles == -->
<!-- == Related Articles == -->

Revision as of 17:01, 14 May 2019

Tools clipart.png FIXME: this article is still in progress and not finished yet


Overview

We often encounter scenarios in which the reliability of the SIP connection is to be ensured. There are several approaches and scenarios how to achieve this SIP redundancy or failover.

How well SIP redundancy and/or failover works, depends on the interaction between the PBX and the carrier providing the SIP account.

PBX / Gateway

To support various carriers, innovaphone has already implemented the following configurable features:

  • Accepting trunk registrations from multiples Sources (GWs)
  • Always place the call on a primary trunk and in case of an error, on a secondary trunk or round robin
  • Receive calls from multiple trunk registrations
  • Route calls between GWs back and forth
  • Rerouting of failed calls

Carrier scenarios

Of course your possibilities here depend on the carrier's feature-set

Two permanent active SIP Interfaces

The best practice would be if the Carrier accepts two registrations from different sources with the same credentials

  • SIP Interfaces on two Gateways with identical configuration
    • Both Interfaces register to the Trunk Object in the PBX
  • The routing configuration on the Gateway should be identical
  • The call distribution is not critical, but needs to be considered in the configuration
    • Some carriers send all incoming calls on the primary trunk only and expect all outgoing calls over the same primary trunk
      • Outgoing Calls must be first sent to the primary Interface, then to the secondary one
    • Some carriers use both trunks for incoming and outgoing calls

Active SIP Interface, secondary disabled SIP Interface

If the Carrier doesn't accept two registrations from different sources with the same credentials then you can prepare the failover scenario, but you have to switch here manually.

  • SIP Interfaces on two Gateways with identical configuration
    • The primary Interface should be enabled
    • The secondary Interface should be disabled
    • Both Interfaces register to the Trunk Object in the PBX
  • Routing on the Gateway should be identical
  • The call distribution is straight-forward because there is only one single active Interface at the same time
  • If the primary trunk fails, it must be disabled manually and the secondary one activated


- There are some ideas to achieve this with the help of some lines of codes and your monitoring appliance which would trigger and be able to disable/enable these Interfaces via HTTP(S) commands.

- There are some ideas to achieve this with the help of V13 App Platform and the SDK by developing your own App to automate this process suiting your needs

- Today we have no automatic mechanism for SIP Interfaces which enable a SIP interface if the other one fails, but there is a feature request where you can vote for it.