[Freeswitch-users] FreeSwitch and T.38

Helmut Kuper helmut.kuper at ewetel.de
Wed Jul 18 02:18:34 PDT 2007


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello again,


Update:

my environment looks like this:

kapanga soft phone -> openser -> freeswitch -> SBC-> PSTN-Gateway


T.38 call setup seems to work like this:

1. INVITE with SDP (voice) to PSTN Gateway (fax B)
2. Session in Progress with SDP (voice) back to fax A
3. OK with SDP (voice) back to fax A
4. Faxdetection in PSTN Gateway
5. re-INVITE with SDP (T.38) from PSTN-Gateway to fax A
6. fax exchange


With freeswitch it looks like this:

1. INVITE with SDP (voice) to PSTN Gateway terminated by freeswitch
2. INVITE with SDP (voice) from freeswitch to PSTN-Gateway
3. Session in Progress with SDP (voice) back to freeswitch
4. Session in Progress with SDP (voice) from freeswitch back to fax A
5. OK with SDP (voice) back to freeswitch
6. OK with SDP (T.38) from freeswitch back to fax A
7. Voice exchange
8. Faxdetection in PSTN Gateway
9. re-INVITE with SDP (T.38) from PSTN-Gateway to freeswitch
10. Codec Error in freeswitch/Sofia

It's seems to me that freeswitch should not touch the SDP in this case,
but should send in transparently from pstn gateway to fax A.


I looked into freeswutch's online docu and found this, which could help :

"No Media Mode

No media mode is an SDP Passthough feature that permits to endpoints
that can see each other (no funky NAT's) to connect their media sessions
directly while FreeSwitch maintains control of the SIP signalling. This
is useful if you have two end-points that need to use a codec that is
currently not supported in FreeSwitch (video) or if you are using
FreeSwitch in a high performance walled garden network and want to
minimize the RTP handling FreeSwitch is doing to maximize call traffic.

Before executing the bridge action you must set the "no-media" flag to
true. "


I changed my dialplan to this:

- -----------------
<extension name="PrintVars" continue="true">
	<condition field="destination_number" expression="(.*)">
	<action application="set" data="no_media=true"/>
	</condition>
</extension>

<extension name="Fax dialout">
	<condition field="destination_number" expression="^94(\d{4})$">
	<action application="set" data="effective_caller_id_name=032223930016"/>
	<action application="set" data="effective_caller_id_number=032223930016"/>
	<action application="set" data="call_timeout=10"/>
	<action application="info"/>
	<action application="bridge"
data="sofia/gateway/sip01.voice.ewetel.de/04418000$1 at sip01.voice.ewetel.de"/>
	</condition>
</extension>
- --------------------------------

Unfortunately freeswitch still changes the SDP as a full B2BUA.

I tried various values for no_media: true, TRUE, 1 but no change. I even
put it directly into "Fax dialout" exttension. It seems freeswitch
ignores this setting. At least it is printed out on console by info action.

I attached the log of freswitch's answere to pstn gateway's re-INVITE.


Any ideas what I do wrong ?

regards
helmut

- ----------LOG-----------------


recv 740 bytes from udp/[213.168.198.84]:5060 at 08:08:50.367892:
   ------------------------------------------------------------------------
   INVITE sip:032223930016 at 212.6.123.118:5090 SIP/2.0
   Via: SIP/2.0/UDP
213.168.198.84:5060;branch=z9hG4bKfnbo0u00907g0bkk43o0sb0000093.1
   From: <sip:044180002799 at sip01.voice.ewetel.de>;tag=ejgpi49boo292
   To: <sip:032223930016 at sip01.voice.ewetel.de>;tag=KgBS0cD1D9pZF
   Call-ID: edcb6623-afa8-122a-bda0-005056947ed9
   CSeq: 210 INVITE
   Max-Forwards: 69
   Contact: <sip:044180002799 at 213.168.198.84:5060;transport=udp>
   Content-Length: 274
   Content-Type: application/sdp

   v=0
   o=bell 1219258 1219259 IN IP4 213.168.198.84
   s=-
   c=IN IP4 213.168.198.84
   t=0 0
   m=image 10926 udptl t38
   a=T38FaxVersion:0
   a=T38MaxBitRate:14400
   a=T38FaxRateManagement:transferredTCF
   a=T38FaxMaxBuffer:336
   a=T38FaxMaxDatagram:176
   a=T38FaxUdpEC:t38UDPRedundancy
   ------------------------------------------------------------------------
tport_deliver(0x8091ed8): msg 0x809a2e0 (740 bytes) from
udp/213.168.198.84:5090/sip next=(nil)
nta: received INVITE sip:032223930016 at 212.6.123.118:5090 SIP/2.0 (CSeq 210)
nta: canonizing sip:032223930016 at 212.6.123.118:5090 with contact
nta: INVITE (210) going to existing leg
nta: timer shortened to 200 ms
nua: nua_stack_process_request: entering
soa_init_offer_answer(static::0x80c59c8) called
soa_set_remote_sdp(static::0x80c59c8, (nil), 0x809444a, 274) called
nua: nua_invite_server_respond: entering
soa_generate_answer(static::0x80c59c8) called
soa_static_offer_answer_action(0x80c59c8, soa_generate_answer): called
soa_static(0x80c59c8, soa_generate_answer): upgrade with remote description
soa_static(0x80c59c8, soa_generate_answer): marking rejected media
soa_sdp_mode_set_is_needed(0x413fec44, 0x80d1e50, ""): called
soa_static(0x80c59c8, soa_generate_answer): storing local description
soa_activate(static::0x80c59c8, (nil)) called
soa_get_local_sdp(static::0x80c59c8, [(nil)], [0x413fed58],
[0x413fed54]) called
tport_tsend(0x8091ed8) tpn = UDP/213.168.198.84:5060
tport_resolve addrinfo = 213.168.198.84:5060
tport_by_addrinfo(0x8091ed8): not found by name UDP/213.168.198.84:5060
tport_vsend(0x8091ed8): 771 bytes of 771 to UDP/213.168.198.84:5060
tport_vsend returned 771
send 771 bytes to udp/[213.168.198.84]:5060 at 08:08:50.369576:
   ------------------------------------------------------------------------
   SIP/2.0 200 OK
   Via: SIP/2.0/UDP
213.168.198.84:5060;branch=z9hG4bKfnbo0u00907g0bkk43o0sb0000093.1
   From: <sip:044180002799 at sip01.voice.ewetel.de>;tag=ejgpi49boo292
   To: <sip:032223930016 at sip01.voice.ewetel.de>;tag=KgBS0cD1D9pZF
   Call-ID: edcb6623-afa8-122a-bda0-005056947ed9
   CSeq: 210 INVITE
   Contact: <sip:212.6.123.118:5090>
   User-Agent: FreeSWITCH(mod_sofia)
   Accept: application/sdp
   Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, PRACK, MESSAGE, SUBSCRIBE,
NOTIFY, REFER, UPDATE, REGISTER, INFO
   Supported: 100rel, precondition
   Content-Type: application/sdp
   Content-Disposition: session
   Content-Length: 156

   v=0
   o=FreeSWITCH 4751724862107259708 3984222328945838171 IN IP4 212.6.123.118
   s=FreeSWITCH
   c=IN IP4 212.6.123.118
   t=0 0
   a=sendrecv
   m=image 0 UDPTL 9
   ------------------------------------------------------------------------
nta: sent 200 OK for INVITE (210)
nua(0x80c4e90): event i_invite 200 OK
nua(0x80c4e90): ready call updated: completed received offer, sent answer
soa_get_remote_sdp(static::0x80c59c8, [0x413fedd8], [0x413fedd4],
[(nil)]) called
soa_get_local_sdp(static::0x80c59c8, [0x413fedd0], [0x413fedcc],
[(nil)]) called
soa_get_params(static::0x80c59c8, ...) called
nua(0x80c4e90): event i_state 200 OK
nua: nua_event: entering
nua: nua_event: entering
2007-07-18 10:08:50 [DEBUG] sofia.c:1028 sofia_handle_sip_i_state()
Channel sofia/sip0.en.ewetel.de/044180002799 at sip01.voice.ewetel.de
entering state [completed]
2007-07-18 10:08:50 [DEBUG] sofia.c:1032 sofia_handle_sip_i_state()
Remote SDP:
v=0
o=bell 1219258 1219259 IN IP4 213.168.198.84
s=-
c=IN IP4 213.168.198.84
t=0 0
m=image 10926 UDPTL t38
a=T38FaxVersion:0
a=T38MaxBitRate:14400
a=T38FaxRateManagement:transferredTCF
a=T38FaxMaxBuffer:336
a=T38FaxMaxDatagram:176
a=T38FaxUdpEC:t38UDPRedundancy

2007-07-18 10:08:50 [ERR] sofia.c:1218 sofia_handle_sip_i_state()
Reinvite Codec Error!
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFGndrk4tZeNddg3dwRAqnEAKCUC9OmSZJn86x/EwzAc4LNCJu8rQCgwyxh
z/YOykDnV/VcqZPUsAUpYQE=
=8hIO
-----END PGP SIGNATURE-----




More information about the FreeSWITCH-users mailing list