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.
The last new feature in SDK 6.7.4 I’d like to go over is an expansion of a feature we added in SDK 6.7.1. The original feature allowed the SR140 to send out a G.711 re-INVITE if it was set for G.711 Fallback and its T.38 re-INVITE got rejected. You would set the g711_fallback_rtp_reinvite parameter in callctrl.cfg to true to enable this behavior.
When we implemented this feature originally, we had done so with the assumption that all previously negotiated parameters would remain in place. That is, when the SR140 set up the initial G.711 call prior to the T.38 switchover attempt, whatever G.711 parameters that were used then would still be used in this G.711 re-INVITE and going forward with the rest of the call.
We found out later though that some SIP carriers would try to use a different media port instead. When responding to our G.711 re-INVITE, their 200 OK would contain this new media port information. Then shortly after, the SIP carriers would send their own G.711 re-INVITE and again include the changed media port.
The SR140’s behavior before this latest change in SDK 6.7.4 was that it didn’t reject these changes in any SIP message, but it did not listen on the new media port that the SIP carriers tried to use. The SR140 continued to listen only to the original port, and so the call would then fail.
A SIP call with the media port being changed would look something like this:
SDK 6.7.4 added a change to allow the media port to be changed in this circumstance. Note that the media port can be changed only in the case the SR140 is configured to send the G.711 re-INVITE using g711_fallback_rtp_reinvite. Any other attempt by the SIP carrier to change the media port would still be rejected.