[Freeswitch-users] Teams direct routing

Keith Laaks wklaaks at gmail.com
Thu Jul 2 23:11:58 UTC 2020


Hi Brian,

With “do a bit of work” - do you mean enhancing FS through coding, or are you referring (no pun intended) to some other method? 

There does not seem to exists an ‘execute_on_refer’ option (much like execute_on_sip_reinvite) that can be leveraged for affecting any control over the behaviour on receipt of a REFER.
I have tried scanned the source, but was not able to find anything.

I have also considered leveraging the Eventhandler as a ’trigger’, but did not see any events being fired for a received REFER or its 202 Accepted response. So that’s out.

In talking to the MS sip proxy, when the user puts a ‘call’ on hold, Freeswitch receives firstly an INVITE (with a=inactive) to which FS replies with a 200 OK. 
Then moments later MS’ sip proxy sends the REFER, which FS just replies to with a 202 Accepted. 
I see that the REFER-TO does end up in sip_refer_to_params, so just need some mechanism to gain control post the REFER.

May just be missing something here.


Best Regards

Keith


----  


> On 1 Jul 2020, at 21:23, Brian : <brians at iptel.co> wrote:
> 
> HI Flavio,
> 
> Hope you are well!
> 
> MS Have actually well documented this ( odd ) behaviour.
> 
> Essentially the TLDR is turn off REFER support on all your invites and
> replies to MS if you don't want go down want to have to do a bit of
> work to support their refer format.
> 
> If you do want to get REFER working the relevant bits are from MS are
> below ( they refer to the sip proxy - thats an MS sip proxy - you are
> the SBC )
> 
> If the call is transferred from one Teams user to another via the SBC,
> the SBC is expected to issue a new invite (start a new dialog) for the
> transfer target (the Teams user) using the information received in the
> Refer message.
> 
> To populate the To/Transferor fields for the transaction of the
> request internally, the SIP proxy needs to convey this information
> inside the REFER-TO/REFERRED-BY headers.
> 
> The SIP proxy will form the REFER-TO as a SIP URI comprised of a SIP
> proxy FQDN in the hostname and either one of the following:
> 
> An E.164 phone number in the username part of the URI in case the
> transfer target is a phone number, or
> 
> x-m and x-t parameters encoding the full transfer target MRI and
> tenant ID respectively
> 
> The REFERRED-BY header is a SIP URI with transferor MRI encoded in it
> as well as transferor tenant ID and other transfer context parameters
> as shown in the following table:
> 
> TABLE 3
> ParameterValueDescription
> x-mMRIFull MRI of transferor/transfer target as populated by CC
> x-tTenant IDx-t Tenant ID Optional Tenant Id as populated by CC
> x-tiTransferor Correlation IdCorrelation Id of the call to the transferor
> x-ttTransfer target call URIEncoded call replacement URI
> 
> Its all documented at:
> https://docs.microsoft.com/en-us/microsoftteams/direct-routing-protocols-sip
> 
> 
> Brian.
> 
> On Mon, Jun 15, 2020 at 10:51 PM Flavio Goncalves <flavio at voffice.com.br> wrote:
>> 
>> Hi,
>> 
>> I've managed to connect teams using FS, now I´m trying to implement call hold and call transfer. Teams use an unusual way for hold, it transfers the call. In the refer I can see the refer-to pointing to an url without a request uri user
>> 
>> REFER-TO: <sip:sip.pstnhub.microsoft.com:5061;transport=tls;x-m=8:orgid:e83c0390-43cb-4c40-8d09-8a972709235b;x-t=9c36cf22-e6e8-4792-b823-873069b82489>
>> 
>> How can I bridge a call to an URI without a request uri user?
>> 
>> I tried sofia/gateway/ms1/ (without passing a user).
>> I tried <action application="export" data="nolocal:sip_invite_req_uri=$1;$2"/>
>> 
>> where $1 is the domain and $2 are the invite parameters
>> 
>> but no success.
>> 
>> Did anyone have success with TEAMS and call hold, call transfer?
>> 
>> Thanks
>> 
>> Flavio E Goncalves
>> _________________________________________________________________________
>> 
>> The FreeSWITCH project is sponsored by SignalWire https://signalwire.com
>> Enhance your FreeSWITCH install with disruptive priced SMS and PSTN services.
>> Build your next product on our scalable cloud platform.
>> 
>> Join our online community to chat in real time https://signalwire.community
>> 
>> Professional FreeSWITCH Services
>> sales at freeswitch.com
>> https://freeswitch.com
>> 
>> Official FreeSWITCH Sites
>> https://freeswitch.com/oss
>> https://freeswitch.org/confluence
>> https://cluecon.com
>> 
>> FreeSWITCH-users mailing list
>> FreeSWITCH-users at lists.freeswitch.org
>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
>> https://freeswitch.com
> 
> _________________________________________________________________________
> 
> The FreeSWITCH project is sponsored by SignalWire https://signalwire.com
> Enhance your FreeSWITCH install with disruptive priced SMS and PSTN services.
> Build your next product on our scalable cloud platform.
> 
> Join our online community to chat in real time https://signalwire.community
> 
> Professional FreeSWITCH Services
> sales at freeswitch.com
> https://freeswitch.com
> 
> Official FreeSWITCH Sites
> https://freeswitch.com/oss
> https://freeswitch.org/confluence
> https://cluecon.com
> 
> FreeSWITCH-users mailing list
> FreeSWITCH-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> https://freeswitch.com




More information about the FreeSWITCH-users mailing list