wiki:0.9/Media_Interface_Change

Version 5 (modified by bennylp, 16 years ago) (diff)

--

Background

pjsua_call.c

Currently this is how the media channel interacts with SIP call in PJSUA-LIB.

pjsua_call_make_call() :
pjsua_call_on_incoming() :
pjsua_call_update() :
pjsua_call_reinvite() :
pjsua_call_on_rx_offer() :
pjsua_call_on_create_offer() :
pjsua_media_channel_init();
pjsua_media_channel_create_sdp(&local_sdp, rem_sdp);
pjsua_call_on_media_update() :
pjsua_media_channel_update();
pjsua_call_on_state_changed(DISCONNECTED) :
pjsua_call_on_media_update(HOLD) :
pjsua_media_channel_deinit();

pjsua_media.c

and this is the implementation of media channel functions above:

pjsua_media_channel_init() :
pjmedia_transport_srtp_create();
pjsua_media_channel_create_sdp() :
pjmedia_endpt_create_sdp();
pjmedia_transport_media_create();
pjsua_media_channel_update() :
pjmedia_transport_media_start();
pjmedia_session_create();
pjsua_media_channel_deinit() :
stop_media_session();
pjmedia_transport_media_stop();
pjmedia_transport_close(srtp);

New

New code in italics.

pjsua_call.c

Currently this is how the media channel interacts with SIP call in PJSUA-LIB.

pjsua_call_make_call() :
pjsua_call_on_incoming() :
pjsua_media_channel_init();
pjsua_media_channel_create_sdp(&local_sdp, rem_sdp);
pjsua_media_channel_init(&local_sdp, rem_sdp);
pjsua_call_update() :
pjsua_call_reinvite() :
pjsua_call_on_rx_offer() :
pjsua_call_on_create_offer() :
pjsua_media_channel_init(&local_sdp, rem_sdp);
pjsua_media_channel_create_sdp(&local_sdp, rem_sdp);
pjsua_call_on_media_update() :
pjsua_media_channel_update();
pjsua_call_on_state_changed(DISCONNECTED) :
pjsua_call_on_media_update(HOLD) :
pjsua_media_channel_deinit();

pjsua_media.c

and this is the implementation of media channel functions above:

pjsua_media_channel_init(&local_sdp, rem_sdp) :
pjmedia_transport_srtp_create();
pjmedia_transport_media_create(local_sdp, rem_sdp);
pjmedia_transport_media_create(rem_sdp);
pjmedia_transport_encode_sdp(local_sdp, rem_sdp);
pjsua_media_channel_create_sdp(&local_sdp, rem_sdp) :
pjmedia_endpt_create_sdp();
pjmedia_transport_media_create(local_sdp, rem_sdp);
pjmedia_transport_encode_sdp(local_sdp, rem_sdp);
pjsua_media_channel_update() :
pjmedia_transport_media_start();
pjmedia_session_create();
pjsua_media_channel_deinit() :
stop_media_session();
pjmedia_transport_media_stop();
pjmedia_transport_close(srtp);

Attachments (1)

Download all attachments as: .zip