HOWTO

Automatic T.38 negotiation for SIP Service Providers (kb3409)

Le informazioni contenute nel presente articolo riguardano i seguenti prodotti:

  • SwyxWare v6.02

[ Riepilogo | Informazioni ]


Riepilogo

This article describes how to configure SwyxLinkManager for automatic T.38 negotiation for SIP service providers. This will be supported with SwyxWare v6.02 MP1.

 


Informazioni

Automatic T.38 negotiation for SIP Service Providers

To use T.38 for the media streaming (i.e. the fax data transmission) the involved devices must agree to use this kind of transmission. This is done via the call control protocol. Inside SwyxWare there are different call control protocols in use, e.g. H.323 and SIP. It is necessary to interconnect all T.38 supporting devices inside a SwyxWare installation. These may be: SwyxFax Server, SwyxGate, SwyxServer, SwyxLinkManager and third party devices such as the AudioCodes terminal adapters. Each call control protocol uses its own mechanism to establish T.38 connections. Regarding H.323 the fax transmission is usually done this way:

  1. Connect via G.711 audio codec.
  2. Listen into G.711 audio stream and detect the CED tone of the called fax device.
  3. On detection of this tone switch to T.38 data transmission.
 
Currently SwyxFaxServer, SwyxGate, SwyxLinkManager and older firmware versions of the AudioCodes terminal adapter are using this method which is called stream switching.
 
Regarding SIP, there are more possibilities, e.g. it’s also allowed to establish a connection directly via T.38, without any G.711 call at all. Internally the AudioCodes terminal adapter with new firmware versions and externally the SwyxLinkManager are using SIP as call control protocol. In the last months Swyx encountered many different methods to establish T.38 connections via SIP used by service providers connected via the SwyxLinkManager to a SwyxServer.
 
To be as compatible as possible, SwyxWare v6.02 MP1 will support the following mechanisms with the SwyxLinkManager:
 
Outgoing T.38 call (from SwyxServer to SIP provider):
  • Outgoing INVITE with T.38:
    This will directly inform the receiving side that this is a fax call with T.38. The LinkManager will expect the answer "OK" in T.38.
  • Outgoing INVITE with G.711:
    This will inform the receiving side that it is a call with G.711. As soon as the receiving side accepts the call and detects a fax tone in the media streaming it will send a Re-INVITE suggesting the T.38 protocol. The Re-INVITE will be accepted at the LinkManager and a stream switch to T.38 is initiated so that this protocol is used for the fax call.
  • Outgoing INVITE with G.711 and T.38:
    This informs the receiving side that this is a call with G.711 or T.38. As answer the LinkManager accepts a direct OK concerning the suggested T.38 protocol or a Re-INVITE suggesting a stream switch from G.711 to T.38.
 
Incoming T.38 call (from SIP provider to SwyxServer):
  • Incoming INVITE with T.38:
    The sending side directly informs the LinkManager that this is a fax call with T.38. The LinkManager will send back "OK" and uses T.38 for this connection.
  • Incoming INVITE with G.711:
    The remote side directly informs the LinkManager that it is a call with G.711. The LinkManager will send back a Re-INVITE which requests a stream switch to T.38 because the SwyxServer knows that the relevant user of this call requires T.38.
  • Incoming INVITE with G.711 and T.38:
    The sending side directly informs the LinkManager that this is a call with G.711 or T.38. The LinkManager can answer the INVITE in two different ways: It can directly use T.38 as protocol or it can send a Re-INVITE to request a stream switch to T.38. The way the LinkManager reacts can be configured for each trunk via the provider information stored in an XML file.   
 
Regarding SIP service providers, the support of these various approaches will offer a high flexibility in the fax support over SIP trunks requiring no or minimal manual configuration. 

 

Configuring LinkManager for fax calls

The new LinkManager can be configured independently for each trunk (i.e. provider-specific) and for each direction (outgoing and incoming). This can be done within the XML files containing the provider profiles for the LinkManager. There are two new configuration parameters, one for outgoing and one for incoming fax calls. The parameters are defined in the ProviderProfiles.xsd file and can be configured in the ProviderProfiles.config file.

 
The two parameters are named “IncomingFaxMethod and “OutgoingFaxMethod and can use the following attributes:
  • T38
  • G711
  • G711+T38” (this applies only to outgoing faxes).
 
If a parameter is not configured, the corresponding default value will be used. For outgoing fax calls this is “G711” and for incoming fax calls “T38”.
 
Note:

It is important not to make any subsequent adjustments to the SIP settings of this trunk (customized trunk) via SwyxWare Administration. If necessary, please apply any modifications directly to the ProviderProfiles.config file.

Incoming fax calls

In case of an incoming fax call from a provider only the attributes “T38” and “G711” are relevant. The media parameter of the SIP INVITE message and the configured IncomingFaxMethod parameter in the provider profile’s XML file decide how the LinkManager should react:
a)      The INVITE request contains one media parameter (T.38 codec):
The SIP 200 OK answer always contains the T.38 codec (independent from IncomingFaxMethod parameter) (no stream switch).
b)      The INVITE request contains one media parameter (G.711 codec):
The SIP 200 OK answer always contains the G.711 codec (independent from IncomingFaxMethod parameter) (stream switch).
c)      The INVITE request contains two media parameters (G.711 and T.38 codec):
  • IncomingFaxMethod = “T38”:
    The SIP 200 OK answer contains the T.38 codec (no stream switch).
  • IncomingFaxMethod = “G711”:
    The SIP 200 OK answer contains the G.711 codec (stream switch).
  • The ports of the unused codecs (i.e. media parameters) of the incoming SIP INVITE message are set to 0 within the 200 OK answer.
     
    If a stream switch was initiated (i.e. the provider’s initial INVITE was answered with a 200 OK with a G.711 codec) a Re-INVITE with a T.38 codec is sent to the provider after the SIP ACK message is received.

    Outgoing fax calls

    In case of an outgoing fax call the OutgoingFaxMethod parameter of the provider profile’s XML file decides which codec information to be sent to the provider within the initial SIP INVITE message:
    a)      OutgoingFaxMethod = “T38”:
    SIP INVITE with T.38 codec (no stream switch)
    b)      OutgoingFaxMethod = “G711”:
    SIP INVITE with G.711µ dummy and G.711a dummy codec (stream switch)
    c)      OutgoingFaxMethod = “G711+T38”:
    SIP INVITE with G.711µ dummy, G.711a dummy and T.38 codec (stream switch possible)
     
    The provider’s SIP 200 OK answer determines if a stream switch has to be initiated or not. This depends on the chosen codec in the 200 OK message (the ports of all other codecs are set to 0). In both cases the 200 OK is answered with a SIP ACK message.
    a)      SIP 200 OK answer contains media parameter with T.38 codec:
    Fax connection established, wait for fax data transmission
    b)      SIP 200 OK answer contains media parameter with G.711 codec:
    Wait for the provider’s SIP Re-INVITE message (with a T.38 codec). On receiving the Re-INVITE a SIP 200 OK message with the T.38 codec is sent to the provider. When the provider answers with a SIP ACK message the stream switch is complete and the fax data transmission can begin.
     

    Commento

    L'articolo è stato utile? Lasci un commento all'articolo



    Come possiamo contattarLa se dal Suo commento dovessero nascere altri quesiti?

    Indirizzo e-mail Adresse (facoltativo)


    Nota

    Il campo destinato ai commenti non è ammesso per richieste all'assistenza. Per quesiti inerenti l'assistenza rivolgersi esclusivamente al proprio rivenditore di fiducia o al distributore competente.