2009/6/29 jonathan augenstine <jaugenst...@gmail.com>:
> I have been trying to find documentation or examples of how to bridge two
> calls and then transfer the media to the new endpoint.  Basically, the
> server places a call to a SIP URI and the call is established with endpoint
> A.  Then the server places a call to a second endpoint B.  After the call is
> established with endpoint B, the server performs a reinvite to transfer the
> RTP media stream to establish the RTP connection between endpoint A and
> endpoint B.

> I understand what needs to happen from a SIP standpoint, but I have not
> found the information on how to perform that operation with the Sofia-SIP
> library.  Can someone please point me towards an example that shows how to
> accomplish this task.  Thank you.

Say you have two nh's, a->nh and b->nh. If you use soa (enabled with
tag NUTAG_MEDIA_ENABLE(1)), you then proceed to

nua_invite(a->nh, SOATAG_USER_SDP(b->sdp), ...)

and once you get response with SDP answer, you do

nua_invite(b->nh, SOATAG_USER_SDP(a->sdp), ...)

However, you could also play 3pcc, and send re-INVITE without SDP to A

nua_invite(a->nh, NUTAG_MEDIA_ENABLE(0), NUTAG_AUTOACK(0),..)

and once you get the response with SDP offer, send it to B with

nua_invite(b->nh, NUTAG_MEDIA_ENABLE(0),
SIPTAG_CONTENT_TYPE(a_sip_resp->sip_content_type),
SIPTAG_PAYLOAD(a_sip_resp->sip_payload), ....

When you get response with SDP answer back from B, you would send the
response to A in ACK (assuming offer was in 200 OK)

nua_ack(a->nh, SIPTAG_CONTENT_TYPE(b_sip_resp->sip_content_type),
SIPTAG_PAYLOAD(b_sip_resp->sip_payload), ....

--
Pekka.Pessi mail at nokia.com

------------------------------------------------------------------------------
_______________________________________________
Sofia-sip-devel mailing list
Sofia-sip-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sofia-sip-devel

Reply via email to