[Opalvoip-devel] T.38 incoming fax REINVITE problem - repost
Brought to you by:
csoutheren,
rjongbloed
|
From: Eugene M. <em...@HE...> - 2009-10-19 10:42:34
|
Greetings!
We've got problem receiving T.38 faxes with OPAL. We use OPAL 3.6.6 with slightly modified T.38 code (to support MMTF instead of SpanDSP).
Basically speaking what's happen is that OPAL erroneously sends REINVITE with audio codecs in SDP while there should be only T.38 and gateway doesn't understand it.
There are log extracts with my comments (full log: https://rcpt.yousendit.com/756697849/7a38ef9316c7e78bb2336401ec0e9509):
0:16.571 tca_voip_test (0) Version 1.0.1 by on Windows XP (v5.1.2600-i586 (Model=15 Stepping=2)) with PTLib (v2.6.5) at 2009/10/12 12:34:24.461
0:16.906 tca_voip_test manager.cxx(939) OpalMan Added route "sip.*:.*=t38:<du>;receive"
0:16.906 tca_voip_test manager.cxx(939) OpalMan Added route "h323.*:.*=t38:<du>;receive"
0:16.906 tca_voip_test manager.cxx(939) OpalMan Added route "t38:.*=sip:<da>"
0:16.906 tca_voip_test manager.cxx(939) OpalMan Added route "t38:.*=h323:<da>"
>> we don't need G711 passthrough, just T.38
0:34.916 Opal Listener:7100 sippdu.cxx(2236) SIP PDU received:
INVITE sip:777@192.168.0.219:5060 SIP/2.0
v=0
o=Claro 878252993783 878252993 IN IP4 192.168.0.234
s=Claro
c=IN IP4 192.168.0.234
t=0 0
m=audio 30014 RTP/AVP 4 18 8 0 2 101 120
a=rtpmap:4 G723/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=fmtp:120 ver2
a=sendrecv
>> OPAL gets audio INVITE from gateway
0:35.130 Pool:736 sippdu.cxx(2302) SIP Sending PDU (687 bytes) to:
SIP/2.0 200 OK
v=0
o=- 1255343682 1 IN IP4 192.168.0.219
s=Opal SIP Session
c=IN IP4 192.168.0.219
t=0 0
m=audio 5004 RTP/AVP 4 101
a=sendrecv
a=rtpmap:4 G723/8000/1
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16,32,36
>> OPAL responds with OK properly
0:35.623 Media Patch:8008 dtmf.cxx(142) DTMF Detected tone 'X' in PCM-16 stream
0:35.623 Media Patch:8008 connection.cxx(1010) OPAL DTMF detected. X
0:35.627 Media Patch:8008 t38proto.cxx(863) T38 Requesting mode change to fax
0:35.657 PSimpleThread:4460 call.cxx(409) Call OpenSourceMediaStreams replacing fax session 1 on Call[lc711e4ed1]-EP<sip>[d9951d30-9cff-1810-9a08-0019d19a1b89]
>> fax tone detected, switching to T.38
0:35.673 PSimpleThread:4460 call.cxx(506) Call Selected media formats T.38 -> T.38
0:35.710 PSimpleThread:4460 call.cxx(409) Call OpenSourceMediaStreams opening fax session 1 on Call[lc711e4ed1]-EP<fax>[t38_1]
0:35.732 PSimpleThread:4460 call.cxx(375) Call GetMediaFormats for Call[lc711e4ed1]-EP<fax>[t38_1]
G.711-uLaw-64k
G.711-ALaw-64k
T.38
0:35.733 PSimpleThread:4460 mediafmt.cxx(960) MediaFormat Merging T.38 into T.38
0:50.856 PSimpleThread:4460 sipcon.cxx(1144) SIP Starting re-INVITE to open channel
0:50.861 PSimpleThread:4460 sippdu.cxx(2556) SIP INVITE transaction id=z9hG4bK73e13530-9cff-1810-9a09-0019d19a1b89 created.
0:50.861 PSimpleThread:4460 sipcon.cxx(2447) SIP Creating INVITE request
0:50.879 PSimpleThread:4460 call.cxx(375) Call GetMediaFormats for Call[lc711e4ed1]-EP<sip>[d9951d30-9cff-1810-9a08-0019d19a1b89]
G.711-uLaw-64k
G.711-ALaw-64k
T.38
>> here we should get only T.38 but get audio too
0:50.879 PSimpleThread:4460 sipcon.cxx(732) SIP Offering media type audio in SDP with formats
G.711-uLaw-64k,G.711-ALaw-64k,T.38
0:50.898 PSimpleThread:4460 call.cxx(375) Call GetMediaFormats for Call[lc711e4ed1]-EP<sip>[d9951d30-9cff-1810-9a08-0019d19a1b89]
G.711-uLaw-64k
G.711-ALaw-64k
T.38
>> here we should get only T.38 but get audio too
0:50.901 PSimpleThread:4460 sippdu.cxx(2302) SIP Sending PDU (795 bytes) to:
INVITE sip:201@192.168.0.234:5060 SIP/2.0
v=0
o=- 1255343682 1 IN IP4 192.168.0.219
s=Opal SIP Session
c=IN IP4 192.168.0.219
t=0 0
m=image 5004 udptl PCMU PCMA telephone-event NSE
a=sendrecv
a=T38FaxVersion:0
a=T38FaxRateManagement:transferredTCF
>> REINVITE with both audio and T.38
Any ideas why would this happen and how to fix? Anyone can confirm this using SpanDSP (we didn't succeed to run it)?
Eugene Mednikov
SW Development Group Leader
Hermon Laboratories TI Ltd.
em...@he...
|