[OpenSIPS-Users] T.38 detection/redirect in OpenSIPS

Matthew S. Crocker matthew at corp.crocker.com
Wed Mar 17 18:54:19 CET 2010


One call from a T38 capable gateway.

Voice calls go through like normal calls
T38 calls start off as voice calls and get reinvited by the gateway to switch to t38 (normal 38 behaviour)

Under a normal scenario the reinvite for T38 fails because the UA doesn't support T38 and sends a 488 Not Acceptable here.  The gateway then sends a 3rd invite with G711 for failback.  The call proceeds as g711 and the user on the UA gets blasted with modem squealing.

I'm thinking OpenSIPS could catch the 488 Not Acceptable Here and redirect the call to a T38 capable fax server.  The user would get ringing, answer, hear the initial fax squeal and then the call would disconnect.  The gateways 2nd Invite (REINVITE for T38) would get a 200 Ok with SDP pointing the RTP to the T38 capable fax server (Asterisk/Hylafax).  Hopefully mediaproxy can keep up with the changes in the RTP stream legs so NAT Traversal can be supported.

-Matt



----- Original Message -----

> From: "Jeff Kronlage" <jeff at data102.com>
> To: "OpenSIPS users mailling list" <users at lists.opensips.org>
> Sent: Wednesday, March 17, 2010 1:38:22 PM
> Subject: Re: [OpenSIPS-Users] T.38 detection/redirect in OpenSIPS
> 
> I'm confused on this as well - wouldn't you be effectively placing
> two
> calls (one via a non-T38 gateway, one via a T38 gateway) to the same
> destination?  Figuring that most T38 is going to terminate to a
> single
> analog device, I would think that were this possible at a SIP level,
> the
> device would already be "busy" before the second call came in as fax
> machines don't typically drop the line very rapidly?
> 
> Jeff
> 
> -----Original Message-----
> From: users-bounces at lists.opensips.org
> [mailto:users-bounces at lists.opensips.org] On Behalf Of Bogdan-Andrei
> Iancu
> Sent: Wednesday, March 17, 2010 11:23 AM
> To: OpenSIPS users mailling list
> Subject: Re: [OpenSIPS-Users] T.38 detection/redirect in OpenSIPS
> 
> right, that is exactly what the b2b is up to do - to be able (at 
> signalling level) to manipulate the call legs
> 
> Regards,
> Bogdan
> 
> Brett Nemeroff wrote:
> > Bogdan,
> > But at this point, you are now playing with a dialg that is already
> > connected to an endpoint. You'd need to drop the first call to
> > establish a new call with the reinvite. Right?
> > -Brett
> >
> > On Mar 17, 2010, at 11:50 AM, Bogdan-Andrei Iancu
> <bogdan at voice-system.ro
> >  > wrote:
> >
> >   
> >> Hi Brett,
> >>
> >> Brett Nemeroff wrote:
> >>     
> >>> I don't think there is any way to do this without an RTP capable
> >>> device in the mix.
> >>>       
> >> you do not need to look into RTP as the FAX is advertised in the
> >> re-INVITE (in SDP) - so you can detect it from opensips script by
> >> inspecting the SDP of reINVITES
> >>     
> >>> What you may be able to do is have asterisk detect that it's a
> fax,
> >>> then reject it if it is.. I don't know if you can do all that
> without
> >>> answering the call.
> >>>       
> >> no, you cannnot, as first the call is established (from sip point
> of
> >> view) as a simple audio call and after that re-negotiated (via
> >> re-INVITE) for FAX
> >>     
> >>> Then you can forward it back to the proxy if it is a fax with
> maybe
> a
> >>> prefix.
> >>>
> >>> A lot of assumptions in there. Would like to hear if you find
> >>> something that works. Not sure if you can SIP Spiral yet in
> asterisk
> >>> anyway. ;)
> >>>       
> >> I do not see the need of Asterisk - maybe with some changes, the
> b2b
> >> module will be able to handle this - see my prev email.
> >>
> >> Regards,
> >> Bogdan
> >>
> >>     
> >>> -Brett
> >>>
> >>>
> >>> On Wed, Mar 17, 2010 at 10:51 AM, David J. <david at styleflare.com
> >>> <mailto:david at styleflare.com>> wrote:
> >>>
> >>>    Matt,
> >>>
> >>>    I am for sure probably wrong, but I think you would need
> >>> Asterisk or
> >>>    Variant to Determine that it is a Fax Call,
> >>>    I dont think UAC's send T38 information without negotiating
> with
> >>> the
> >>>    other side who request that it is capable, then it brings you
> to
> >>>    Jeff's
> >>>    answer.
> >>>
> >>>    See above.
> >>>
> >>>
> >>>    Matthew S. Crocker wrote:
> >>>       
> >>>> Can OpenSIPS make routing decisions based on the SDP information
> >>>>         
> >>>    in an INVITE?
> >>>       
> >>>> Lets say I have the following config
> >>>>
> >>>> PSTN -> t.38 Gateway -> OpenSIPS ->  UserAgent
> >>>>
> >>>> I have a TN from the PSTN routed to the UserAgent,  I'd like to
> >>>>         
> >>>    provide a service so the user can use the TN for both voice &
> >>> faxing.
> >>>       
> >>>> Voice call goes through normally (g.711 g.729 codec)
> >>>>
> >>>> Fax call starts off as a normal voice call (INVITE, 180, 183,
> >>>>         
> >>>    200).  Once the call is answered the originating end (PSTN)
> starts
> >>>    sending fax tones. The Gateway hears the fax tones and
> attempts
> to
> >>>    RE-INVITE with T.38 in the SDP.  I'd like OpenSIPS to see the
> T.38
> >>>    capability in the SDP and redirect the call to a fax->e-mail
> >>>    gateway.  So,  the 2nd INVITE comes in, OpenSIPS sends the
> INVITE
> >>>    to the fax gateway and a BYE to the user.  The fax gateway does
> a
> >>>    200 and negotiates T.38 with the PSTN gateway.
> >>>       
> >>>> I know I can route the call through Asterisk and have it do a
> >>>>         
> >>>    quiet answer and listen for the modem sounds.  I'd like to
> avoid
> >>>    using Asterisk for all RTP traffic and only use it for the fax
> >>>    gateway traffic (i.e. once it has been determined to be a fax
> >>>    Asterisk steps in and handled the T38 -> E-mail)
> >>>       
> >>>> -Matt
> >>>>
> >>>>
> >>>>         
> >>>    _______________________________________________
> >>>    Users mailing list
> >>>    Users at lists.opensips.org <mailto:Users at lists.opensips.org>
> >>>    http://lists.opensips.org/cgi-bin/mailman/listinfo/users
> >>>
> >>>
> >>> ---
> >>>
> ---------------------------------------------------------------------
> >>>
> >>> _______________________________________________
> >>> Users mailing list
> >>> Users at lists.opensips.org
> >>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
> >>>
> >>>       
> >> --
> >> Bogdan-Andrei Iancu
> >> www.voice-system.ro
> >>
> >>
> >> _______________________________________________
> >> Users mailing list
> >> Users at lists.opensips.org
> >> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
> >>     
> >
> > _______________________________________________
> > Users mailing list
> > Users at lists.opensips.org
> > http://lists.opensips.org/cgi-bin/mailman/listinfo/users
> >
> >   
> 
> 
> -- 
> Bogdan-Andrei Iancu
> www.voice-system.ro
> 
> 
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
> 
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users

-- 
Matthew S. Crocker
President
Crocker Communications, Inc.
PO BOX 710
Greenfield, MA 01302-0710
http://www.crocker.com
P: 413-746-2760




More information about the Users mailing list