Difference between revisions of "SIP balancer"
(33 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
<div align="center"><BIG>[[Image:warning.png|30px]]'''IMPORTANT! Asterisk handles non-RFC compliant SIP call flow, local IPs in the SIP/SDP packets, wrong ports in SDP media, etc. The SIP proxy does not handle all such cases and expects traffic to comply with the RFC SIP standards. So there could be problems if your endpoints send malformed SIP traffic.'''</BIG></div> | |||
<br><br> | |||
Also called "SIP Proxy" | |||
''SIP balancer is available starting from MOR X4'' and is available only with multiple Asterisk server [[Implementations | solutions]]. Technology of SIP balancer is based on the [http://opensips.org/ OpenSIPS]<br> | |||
== Benefits == | == Benefits == | ||
* Provide one unique hostname or IP for | * Provide one unique hostname or IP for your providers/clients | ||
* Handle | * Handle multiple DID numbers from different providers by sending them to one IP address | ||
* Distribute calls evenly to servers depending on | * Distribute calls evenly to servers depending on the load each server can handle | ||
* Scalable architecture - you can add new Asterisk servers at any time | * Scalable architecture - you can add new Asterisk servers at any time or remove them | ||
== Features == | == Features == | ||
Line 13: | Line 18: | ||
* Monitoring of Asterisk server capacity - allows to set how many calls a certain Asterisk server can handle | * Monitoring of Asterisk server capacity - allows to set how many calls a certain Asterisk server can handle | ||
* If one Asterisk server becomes unresponsive or reached call limit, no more calls are sent to that server | * If one Asterisk server becomes unresponsive or reached call limit, no more calls are sent to that server | ||
* | * A simple GUI to manage the SIP balancer. | ||
== Architecture == | |||
Possible implementation scenarios can be found [[Implementations | here]] | |||
== Logic == | |||
* All registrations and register requests are sent to the SIP balancer directly | |||
* In order to call any device it must be called through a DID (DID can be fake inside the system), otherwise calls | |||
between devices will not work. When a call is made through a DID to device, that call is sent to proxy | |||
as it handles the SIP registrations. Same applies to trunks, so trunks should authorize calls from the | |||
proxy IP. | |||
* Outgoing call set-up is done by Proxy. | |||
* Incoming calls from providers should be sent to Proxy. | |||
* All media requests are handled by Asterisk servers | |||
== Recommended hardware == | |||
It should be similar to [[Recommended hardware for MOR server]] with minimum 2 GB RAM. | |||
Such solution would be suitable to load the balance between 2-3 asterisk servers. | |||
For more servers you should use more powerful hardware. | |||
== Limitations == | |||
* Only RFC2833 DTMF is supported when Proxy is in use; | |||
* Proxy balances SIP traffic only (IAX and H323 does not go through Proxy at all); | |||
* Only one Domain name can be used. | |||
* If you have a system with a [https://wiki.kolmisoft.com/index.php/SIP_balancer SIP proxy], Spy functionality will not work. | |||
<br><br> | |||
== What else you should know == | |||
* Customizing system configuration files and data on the database, may affect system security and integrity. Please use only MOR GUI to manage the system. | |||
<br><br> | |||
== How does the call flow change after connecting SIP proxy? == | |||
With SIP proxy added, all SIP traffic goes through SIP Proxy, while Asterisks handle RTP media. | |||
Customers only need to know SIP proxy IP. | |||
If Proxy is added to an already running system, there are two approaches: | |||
a) Update customers with new SIP proxy IP so that they would send traffic to this new IP | |||
b) After SIP proxy installation, assign Asterisk IP to the SIP proxy server. This way, nothing will change from the customers' Perspective. | |||
After the SIP proxy is added, all SIP communication is handled by Opensips, not Asterisk, so some SIP-related dialogs might be a bit different in subtle ways. | |||
The advantage of adding a SIP proxy instead of simply adding a separate Asterisk is flexibility and convenience in the long run. | |||
Once the SIP proxy is added, customers send calls to one IP, and calls are dynamically routed to Asterisks, so it is possible to add (or remove) additional Asterisks without downtime and without any changes for the customer. | |||
Adding a separate Asterisk without Proxy will require statically assigning one or other Asterisk to each device, updating customers with new Asterisk IP. | |||
= | <br><br> | ||
= Configuration = | |||
== Accept calls from any port == | |||
When SIP balancer is in use and Device/Provider type is '''SIP''' and it is IP Authenticated then near to Port input you can find "Accept calls from any port" setting. | |||
1. By default pressed '''No''' and you can type any port you want | |||
[[Image: | 2. When '''Yes''' is pressed, you are not able to type any port and calls will be accepted from any port. | ||
<br><br> | |||
[[Image:allow_calls_from_any_port.png]] | |||
<br><br> | |||
= See also = | = See also = | ||
* [[Implementations]] | * [[Implementations]] | ||
* For pricing quotes contact our [http://kolmisoft.com/contacts/ sales department] | * For pricing quotes contact our [http://kolmisoft.com/contacts/ sales department] |
Latest revision as of 06:21, 23 August 2023
Also called "SIP Proxy"
SIP balancer is available starting from MOR X4 and is available only with multiple Asterisk server solutions. Technology of SIP balancer is based on the OpenSIPS
Benefits
- Provide one unique hostname or IP for your providers/clients
- Handle multiple DID numbers from different providers by sending them to one IP address
- Distribute calls evenly to servers depending on the load each server can handle
- Scalable architecture - you can add new Asterisk servers at any time or remove them
Features
- Handle incoming calls from DIDs, trunks, providers
- Monitoring of Asterisk server capacity - allows to set how many calls a certain Asterisk server can handle
- If one Asterisk server becomes unresponsive or reached call limit, no more calls are sent to that server
- A simple GUI to manage the SIP balancer.
Architecture
Possible implementation scenarios can be found here
Logic
- All registrations and register requests are sent to the SIP balancer directly
- In order to call any device it must be called through a DID (DID can be fake inside the system), otherwise calls
between devices will not work. When a call is made through a DID to device, that call is sent to proxy as it handles the SIP registrations. Same applies to trunks, so trunks should authorize calls from the proxy IP.
- Outgoing call set-up is done by Proxy.
- Incoming calls from providers should be sent to Proxy.
- All media requests are handled by Asterisk servers
Recommended hardware
It should be similar to Recommended hardware for MOR server with minimum 2 GB RAM.
Such solution would be suitable to load the balance between 2-3 asterisk servers.
For more servers you should use more powerful hardware.
Limitations
- Only RFC2833 DTMF is supported when Proxy is in use;
- Proxy balances SIP traffic only (IAX and H323 does not go through Proxy at all);
- Only one Domain name can be used.
- If you have a system with a SIP proxy, Spy functionality will not work.
What else you should know
- Customizing system configuration files and data on the database, may affect system security and integrity. Please use only MOR GUI to manage the system.
How does the call flow change after connecting SIP proxy?
With SIP proxy added, all SIP traffic goes through SIP Proxy, while Asterisks handle RTP media.
Customers only need to know SIP proxy IP.
If Proxy is added to an already running system, there are two approaches:
a) Update customers with new SIP proxy IP so that they would send traffic to this new IP
b) After SIP proxy installation, assign Asterisk IP to the SIP proxy server. This way, nothing will change from the customers' Perspective.
After the SIP proxy is added, all SIP communication is handled by Opensips, not Asterisk, so some SIP-related dialogs might be a bit different in subtle ways.
The advantage of adding a SIP proxy instead of simply adding a separate Asterisk is flexibility and convenience in the long run.
Once the SIP proxy is added, customers send calls to one IP, and calls are dynamically routed to Asterisks, so it is possible to add (or remove) additional Asterisks without downtime and without any changes for the customer.
Adding a separate Asterisk without Proxy will require statically assigning one or other Asterisk to each device, updating customers with new Asterisk IP.
Configuration
Accept calls from any port
When SIP balancer is in use and Device/Provider type is SIP and it is IP Authenticated then near to Port input you can find "Accept calls from any port" setting.
1. By default pressed No and you can type any port you want
2. When Yes is pressed, you are not able to type any port and calls will be accepted from any port.
See also
- Implementations
- For pricing quotes contact our sales department