SR140 - DMG Series Configuration "Best Practices"
Introduction
This article provides an overview of "best practices" when installing and configuring Dialogic Brooktrout® SR140 Fax Software (SR140) the Dialogic 1000 or 2000 Media Gateways (DMG1000 and DMG2000). This article is intended for fax independent software vendors (ISVs) who have integrated the SR140 into an application.
Background
When setting up an SR140-based application to work with a DMG1000 or DMG2000 gateway, there are certain guidelines that should be followed. One should also consider these guidelines when migrating from Dialogic Brooktrout Fax Boards which are based on time-division multiplexing (TDM) protocols. When upgrading from traditional analog fax to a Fax over IP (FoIP) solution, it is necessary to provide a sufficient level of network performance to support reliable operation. Fax transport over an IP network can be provided by T.38 fax relay or G.711 pass-through, each one having different network requirements. An overview of considerations for using T.38 versus G.711 for FoIP .
Please note that if the user is still unsure on how to utilize these parameters, the user should discuss this with its fax ISV or a Dialogic technical support representative.
SECTION 1 - SR140 OVERVIEW AND TUNING
Fax Application Considerations - Ensure the fax application software version is performing resets between all calls. Resetting channels is accomplished with the BfvLineReset API function. If an application does not reset the channel between each call, then the channel can be left in an unpredictable state from which it would not recover and which would cause issues during fax calls.
SR140 configuration
Tuning the configuration - some values may need to be tuned depending on the performance of the fax server.
Initially, it is recommended to start with default parameters values and assess the performance of the fax server. You should start out with default values for both btcall.cfg and callctrl.cfg (with the exception of the sip_default_gateway and sip_Contact fields in callctrl.cfg).
Leave t4_xmit_timer at its default value. This can be done by commenting out the line completely in the btcall.cfg file. To comment out any parameter in the btcall.cfg file, simply put the # in front of that parameter.
Keep media_renegotiate_delay_outbound to -1 in callctrl.cfg This parameter is set so that the media gateway will send the T.38 re-INVITE when the SR140 places an outbound call. The user should assess the fax server performance using T.38, which is the standard for FoIP. If the fax call success rate is lower than expected, then the user can try using G.711 pass-through as a second choice.
Further tuning of configuration – if an issue is observed, further adjustments may need to be made based on the log analysis. It is strongly recommended to change one parameter at a time and determine if doing so has resolved the particular issue. It is best to consult with the Dialogic technical support team on making parameter changes. Some typical scenarios and adjustments that may need to be made include (but are not necessarily limited to):
If there is no response to outgoing fax control messages, then the "t4_xmit_timer" parameter could be extended. The T4 timer will expire if a fax end point does not receive a response message to an outgoing command. When that happens, the fax device will re-send its command and again wait for a response. If still no response arrives, the device will send the command one more time and then hang up if again there is no response. This will result in Brooktrout hangup codes such as "MPS sent three times with no response" or "PPS-EOP sent three times with no response". It is recommended to start with with 8000 (ms) and make small increments to "t4_xmit_timer" parameter and to gauge performance and see if the issue has been addressed.
If error correction mode (ECM) is not used, then MR compression may be decided upon for the fax session negotiation. However, while some end points advertise MR support, the end points might not adequately support this and fax transmission failures may be observed. If you suspect the end point might not adequately support MR compression, then try setting "line_compression" to 0 to use MH compression instead.
If fax server performance issues are still observed despite previous adjustments, then try setting the fax_transport_protocol to "t38_never" to try G.711 pass-through. G.711 fax pass-through is also supported by the Brooktrout SR140 software if you running an R3 License. If you are not using an R3 license, then an upgrade to R3 is needed to include G711 pass-through support. While more susceptible to possible IP network issues, G.711 fax pass-through provides an option for enabling FoIP when T.38 is not supported, or when the IP network meets the requirements for successful fax transport using G.711.
Further Troubleshooting - if the above tuning has not addressed the issues being seen, it is recommended to contact the Dialogic technical support team and provide them with the following information.
If the site has an existing Brooktrout Fax Board - please obtain a recording from the setup. The audio file will be used by the Dialogic technical support team to understand the audio levels that are present on the line and if further adjustments might be necessary.
The fax application being used may have the capabilities to record the audio file. Please check with your fax ISV.
This article also has attached a sample application that can be used to gather the recording. The sample recording application is called voicermd.c, , and can be used on channels 2 and 3 to record the inbound and outbound streams.
The parameter "debug_control 1 3" would need to be added into btcall.cfg to turn on the recording feature; Dialogic technical support can assist with using this feature.
SR140 Log Collection -when troubleshooting, the following logs always needs to be gathered. It is important to collect all the various logs together. If logs are collected from different time frames, they will not assist in isolating the issue being examined.
Debug log – channel information needs to be included in the log, e.g., "[41,2]", "[41,3]", … etc. If a debug log has only Admin channel information, i.e. "[41,1]", then it would not be of value in isolating an issue.
ECC log - make sure to use a full path name for the "trace_file" parameter in callctrl.cfg and also make sure that the Bostsrv service points to the same btcall as the one that the application uses when it calls BfvLineReset. This will make sure that all of the call control information will appear in the ECC log, most importantly the SIP messages.
Wireshark - traces should be gathered from the SR140 and DMG1000 or DMG2000 points. This will help in analyzing the call flow and information flowing through the network.
SECTION 2 - DMG1000/DMG2000 Usage Overview
DMG Software Versions – it is recommended that DMG SU version level be SU9 or later. SU9 and later have defaults that provide better performance for FoIP configurations.
Gain Parameters Settings Do not change DMG “IP to TDM” gain or “TDM to IP" gain in either T.38 or G711 mode. Changing these parameters from default values can have an adverse effect on the fax transmission. Gain settings are found on the DMG WebUi under Config>DSP settings. It is recommended to set both parameters to 0 (default).
T.38 Fax Carrier Detection - This parameter applies to the DMG1000 only.set Fax T.38 Carrier Detection Threshold to -43dB. If the DMG1000 is already at SU9, then the default is -43db and no change is needed. SUs earlier than SU9, have different values and should be set to -43dB. The setting can be found on the DMG WebUi under Config>DSP Settings.
T.38 Fax Adjustments - when using T.38, do not change “analog receive gain” if no issue is being seen. Increasing this gain could cause issues with a fax transmission if it has normal audio level. A typical scenario where the user may need to adjust Analog Receive Gain would be when T.30 control messages are expected to be received but they are not seen. This requires analyzing the logs and data at the T.30 protocol layer prior to any adjustments and determining the correct values. The Dialogic technical support team would assist with this analysis.
G.711 Fax Pass-Through Adjustments - if the user is observing issues with the T.38 fax success rate, G.711 pass-through may also be tried in order to see if there is a higher percentage of fax success rate.
Make sure DMG “Analog Receive Gain” set to default 0.
Turn off Voice Activity Detection (VAD), which is under DMG Config>VoIP>Media, Voice Activity Detection.
DMG1000 gateways do not support T.38 with G711 fallback mode. Make sure SR140 and DMG1000 gateways are set the same IP transport protocol.
Line Echo Issues - for fax applications, echo cancellation should be turned off for the DMG1000 and DMG2000 gateways. Settings are under DMG Webui Config>DSP Settings, Line Echo Cancellation, and Line Echo Cancellation NLP. The default for both is On. Turn them Off.
Fax Phone Number Validation – in general, check to ensure phone numbers being called terminate on a fax device. If the phone number called is not a fax device, e.g., answering machine, failure will be seen. In addition, if a fax call does fail, confirm that the phone number is valid, i.e., check if call is seeing busy tones, SIT tones, … etc..
Further Troubleshooting - if the above tuning has not addressed the issues being seen, it is recommended to contact the Dialogic technical support team and provide them with the following information.
Exporting the DMG configuration – when reporting issues to the Dialogic technical support team, export the configuration and provide it so that they can review all the settings. The configuration can be exported by going to the DMG Webui under Configuration, Import/Export, Export all settings.
Turning on logging - In the DMG WebUI go to Diagnostics > Trace/Logging, Trace, Configure, check all on Adept, DspCpi, RouteTable, Tel and VoIP.
WireShark trace - take this trace from the fax server if possible. If this can’t be done, you can enable DMG Network Capture. Make sure that you uncheck RTP before you start DMG Network Capture. The logging buffer is set to 1MB by default. You may need to increase the size of the buffer if the logs are rolling over before the issue is captured.