The final new feature in SDK 6.10 I’ll be discussing is the ability to alter the loudness of a call on a per call basis.
On occasion we run across a case where echo exists on the end to end connection to one specific phone number. When this happens, signals sent out by the Brooktrout board are received back to itself. The Brooktrout board would then attempt to process the echoed signal instead of the actual signal the far end fax device had sent. This would often cause a fax session to fail because the Brooktrout board would never receive the correct responses.
Usually the cure for echo would be reducing the outbound signal volume a little bit. That way any echoed signal would be similarly reduced and hopefully no longer be detected. Then the real incoming signal from the far end would be handled normally. In most cases though, some other device would need to do this signal attenuation. For example, the IP gateway or PBX being used. (Analog TR1034 and Trufax boards do already have the capability to attenuate the volume from the board, but other Brooktrout devices – digital TR1034 and SR140 – do not.) However, making this adjustment would apply to all calls, not just the one giving echo.
In SDK 6.10, we have provided a way to attenuate the Brooktrout board’s outbound signal on a per call basis. So if you run across a destination phone number whose calls fail because of echo, you can select to reduce the Brooktrout board’s signal a little for that call so that any echo will be too quiet to hear.
So how is this done?
We have added the signal attenuation functionality to the existing API function BfvFaxT30Params(). BfvFaxT30Params() allows an application to specify a number of fax parameters at the beginning of a fax call. For example, you can specify a maximum fax speed or line compression that will apply to just that particular call. In SDK 6.10, we have added a new parameter: “args.xmt_level”. args.xmit_level has a unit of 0.5 dB and you can adjust it up and down to change the outbound volume of the Brooktrout board’s signal.
In addition, in case you would like to reduce the signal volume on all calls, we have also added a new configuration parameter in our btcall.cfg file called xmt_level_override, also with units of 0.5 dB. args.xmt_level from BfvFaxT30Params() works in conjunction with the xmt_level_override parameter in that their effect will be added together. So if you wish, you could decrease your volume a little bit globally with xmt_level_override and then a little more for a specific call with BfvFaxT30Params. For example, you could attenuate the outbound volume for all calls by 0.5 dB by setting xmt_level_override to -1 and then attenuate the signal for one specific call another 1.0 dB by setting args.xmt_level to -2 when calling BfvFaxT30Params(). For that one troublesome call, the Brooktrout board’s signal will be reduced by 1.5 dB.
A note of caution. When using this feature, make sure to change the volume only a little at a time until you achieve good results. Attenuating the volume too much from the start could cause other issues with the call.
One last thing to mention here is that this feature I’ve described applies to when the Brooktrout board is sending an actual audible signal. So if you’re using any TR1034 board or the SR140 with G.711, then you could reduce the signal as you see fit. However, if you’re using SR140 with T.38, then there is no audible signal since T.38 is completely out of band. For those cases, any signal reduction would still need to be done from the gateway or SIP trunk.