[asterisk-dev] T38 Passthrough in chan_sip.c

George Pajari George.Pajari at netVOICE.ca
Sat Mar 18 02:59:35 MST 2006


> That flag is the first flag, bit 0 of an allocation of three bits. We 
> use that
> many times if you look at lines above.

No, the use of (0 << n) (where n varies) is not an allocation of a bit 
flag but rather a clever notation for a bit that is not set -- and such 
defines are never used in the code in the context of a call to 
ast_test_flag or ast_set_flag. Look at the defines that have the form (0 
<< n) and see how they are used -- and compare that with the use of 
SIP_PAGE2_T38SUPPORT_UDPTL.

What I think was intended is:

#define SIP_PAGE2_T38SUPPORT            (7 << 15)       /*!< T38 Fax 
Passthrough Support */
#define SIP_PAGE2_T38SUPPORT_UDPTL      (1 << 15)       /*!< 15: T38 Fax 
Passthrough Support */
#define SIP_PAGE2_T38SUPPORT_RTP        (1 << 16)       /*!< 16: T38 Fax 
Passthrough Support */
#define SIP_PAGE2_T38SUPPORT_TCP        (1 << 17)       /*!< 17: T38 Fax 
Passthrough Support */

At least with this set of defines it is possible to get "T38 pt UDPTL" 
to be enabled in a SIP peer.

The problem I'm now struggling with is why p->udptl is null around line 
3846 in chan_sip.c when it goes to see if there is a T38 offer. This is 
what appears to be causing my connection not to switch to T38 mode.

-- 
George Pajari, netVOICE communications    604 484 VOIP (484 8647 x102)
Open Source VoIP/Telephony Specialists  1 877 NET VOIP (638 8647 x102)
                  www.netvoice.ca  www.ip-centrex.ca
      www.digium.ca www.grandstream.ca www.sipura.ca www.snom.ca




More information about the asterisk-dev mailing list