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