Hi Damjan,


Thank you for your response.



To answer your questions:

[DJ]: 
Do you Answer() and then SipT38SwitchOver(), or just call RxFAX()? Try
to just call RxFAX(), or at least Wait() a bit between Answer() and 
SipT38SwitchOver().



[DU]: This is the call flow used. It works well in other scenarios. I also need 
to point out that incoming calls from the same gateway to other SIP devices, 
supporting T.38 are going through without any problem:

id    |    context    |    exten    |    priority    |    app            |    
appdata

-------------------------------------------------------------------------------------------------------------------

520    |    fax        |    T38      |    1            |    Set            |    
T38udptlsupport=yes

536    |    fax        |    T38      |    2            |    Set            |    
SIP_CODEC=g729

522    |    fax        |    T38      |    3            |    Answer      |    

534    |    fax        |    T38      |    4            |    Wait          |    1

521    |    fax        |    T38      |    5            |    SipT38SwitchOver    
|    

523    |    fax        |    T38      |    6            |    RxFAX       |    
${fax_filepath}/${UNIQUEID}.tif

524    |    fax        |    T38      |    7            |    Hangup      |    

535    |    fax        |    T38      |    22          |    Wait          |    1


-------------------------------------------------------------------------------------------------------------------------------
[DJ]: You say the RTP port is changed, but don't you mean the T.38 port is
changed?




[DU]: Yes. Initially, G.729 RTP packets are sent to remote port 4290. After the 
reINVITE, CW is asked to send the T.38 packets to port 4292 and it doe it only 
for the first 3 packets.


-------------------------------------------------------------------------------------------------------------------------------

[DJ]: Do you have nat=yes and/or a NAT?



[DU]: No. Both the gateway and the CW have fixed public IP addresses without 
any NAT or anything of this sort.


-------------------------------------------------------------------------------------------------------------------------------

[DJ]: Does anything happen between when callweaver sends the 3 correct  packets
and when it starts to send the incorrect ones, like a SIP/RTP/T.38
packet from the other side?



[DU]: No signaling is sent beyond this point (until the call is released, of 
course), but a few G.729 RTP packets still arrive from port 4290 (the initial 
port used) because the remote gateway requires a few more T.38 packets in order 
to start responding in T.38.


-------------------------------------------------------------------------------------------------------------------------------

[DJ]: A tcpdump would also help.



[DU]: I wouldn't like to bother all the list with a large dump file. These are 
examples (I change the remote and local IP address to XX.XX.XX.XX and 
YY.YY.YY.YY respectively) of the packets sent from the CW after the reINVITE OK 
and ACK:
Packet 127 (128 and 129 are the same):
Internet Protocol, Src: YY.YY.YY.YY (YY.YY.YY.YY), Dst: XX.XX.XX.XX 
(XX.XX.XX.XX)
    Version: 4
    Header length: 20 bytes
    Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
        0000 00.. = Differentiated Services Codepoint: Default (0x00)
        .... ..0. = ECN-Capable Transport (ECT): 0
        .... ...0 = ECN-CE: 0
    Total Length: 34
    Identification: 0x0000 (0)
    Flags: 0x04 (Don't Fragment)
        0... = Reserved bit: Not set
        .1.. = Don't fragment: Set
        ..0. = More fragments: Not set
    Fragment offset: 0
    Time to live: 64
    Protocol: UDP (0x11)
    Header checksum: 0x5c21 [correct]
        [Good: True]
        [Bad : False]
    Source: YY.YY.YY.YY (YY.YY.YY.YY)
    Destination: XX.XX.XX.XX (XX.XX.XX.XX)
User Datagram Protocol, Src Port: 12792 (12792), Dst Port: 4292 (4292)
    Source port: 12792 (12792)
    Destination port: 4292 (4292)
    Length: 14
    Checksum: 0xdd6b [correct]
ITU-T Recommendation T.38
    [Stream setup by H245 (frame 122)]
        [Stream frame: 122]
        [Stream Method: H245]
    UDPTLPacket
        Sequence number: 0
        IFPPacket
            Type of msg: t30-indicator (0)
                T30 indicator: no-signal (0)
        Error recovery: secondary-ifp-packets (0)
            Secondary IFPPackets

Packet 142 (after a few G.729 RTP packets were received from port 4290. Packets 
143 and 144 are identical):
Internet Protocol, Src: YY.YY.YY.YY (YY.YY.YY.YY), Dst: XX.XX.XX.XX 
(XX.XX.XX.XX)
    Version: 4
    Header length: 20 bytes
    Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
        0000 00.. = Differentiated Services Codepoint: Default (0x00)
        .... ..0. = ECN-Capable Transport (ECT): 0
        .... ...0 = ECN-CE: 0
    Total Length: 34
    Identification: 0x0000 (0)
    Flags: 0x04 (Don't Fragment)
        0... = Reserved bit: Not set
        .1.. = Don't fragment: Set
        ..0. = More fragments: Not set
    Fragment offset: 0
    Time to live: 64
    Protocol: UDP (0x11)
    Header checksum: 0x5c21 [correct]
        [Good: True]
        [Bad : False]
    Source: YY.YY.YY.YY (YY.YY.YY.YY)
    Destination: XX.XX.XX.XX (XX.XX.XX.XX)
User Datagram Protocol, Src Port: 12792 (12792), Dst Port: 4290 (4290)
    Source port: 12792 (12792)
    Destination port: 4290 (4290)
    Length: 14
    Checksum: 0xdd68 [correct]
ITU-T Recommendation T.38
    [Stream setup by H245 (frame 122)]
        [Stream frame: 122]
        [Stream Method: H245]
    UDPTLPacket
        Sequence number: 1
        IFPPacket
            Type of msg: t30-indicator (0)
                T30 indicator: ced (2)
        Error recovery: secondary-ifp-packets (0)
            Secondary IFPPackets


I hope that this all helps and I thank you for your assistance.

David





      
____________________________________________________________________________________
Never miss a thing.  Make Yahoo your home page. 
http://www.yahoo.com/r/hs
_______________________________________________
Callweaver-users mailing list
[email protected]
http://lists.callweaver.org/mailman/listinfo/callweaver-users

Reply via email to