SDK 6.7.4 is the latest Brooktrout development kit providing feature rich capabilities to our partners. We’ve added some new features that will be quite useful, and I will discuss a few of them on what they do and why they can help you.
As a little history, when the SR140 was first introduced, in order to make an outbound call, the user needed to provide the IP address of the gateway to be used. So the dialstring would need to look something like firstname.lastname@example.org. We found a lot of setups had only a single gateway so it really didn’t make sense to force the user to put in the gateway IP address every time when all the calls were being routed through the same place. So we added the ability in callctrl.cfg to use a default gateway. (This is the sip_default_gateway parameter in callctrl.cfg.) Upon configuring the default gateway, the user would need only to supply the phone number part of the dialstring, the “1234” in the above example, and the call would automatically go through the default gateway. If the user wanted to route the call through a gateway other than the default, then they would still need to supply the IP address in the dialstring as before.
Since the default gateway was implemented, we’ve seen a need to statically configure more than one gateway rather than make the application include the IP addresses for each call for any non-default gateways. So for SDK 6.7.4 we have expanded the number of SIP default gateways that may be used with some new callctrl.cfg settings.
The new parameters are called sip_gateway2, sip_gateway3, and sip_gateway4. The current sip_default_gateway parameter is not being renamed but will in essence become “sip_gateway1”.
Here is an example screenshot of our Configuration Tool showing the new gateway settings:
This is how it works. When setting up more than one default gateway, under the covers the SIP stack will send out SIP OPTIONS messages to each configured gateway. If the gateway responds with a 200 OK, then the SR140 will know that the gateway is Up and available to be used. If there is no response to the OPTIONS message or the gateway sends back a SIP 503 (Service Unavailable) or 505 (Version Not Supported) message, then the SR140 will consider the gateway to be Down and not use it until such time as the gateway starts to respond positively to later OPTIONS messages. The OPTIONS messages are sent only if more than one gateway is configured.
How often the OPTIONS messages are sent is controlled by two other new parameters: sip_options_up_interval and sip_options_down_interval. The former controls the frequency of the OPTIONS messages sent to gateways that are currently in the Up state and the latter controls when the OPTIONS messages are sent to gateways in the Down state. In the below diagram, Gateway2 and Gateway3 are both Up and Gateway1 is Down.
When the application places a call out, the call will be sent to the “highest” gateway that is currently Up. In the example above, gateway 2 will get the call since it’s the highest available gateway.