From fcba4d392ea03e8ac4cfde87d8efd7999ff4a38c Mon Sep 17 00:00:00 2001 From: Benny Prijono Date: Tue, 21 Feb 2006 23:47:00 +0000 Subject: Implemented major feature: call hold and transfer git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@212 74dad513-b988-da41-8d7b-12977e46ad98 --- pjsip/src/pjsua/pjsua.h | 42 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) (limited to 'pjsip/src/pjsua/pjsua.h') diff --git a/pjsip/src/pjsua/pjsua.h b/pjsip/src/pjsua/pjsua.h index 3afde354..e731b4e4 100644 --- a/pjsip/src/pjsua/pjsua.h +++ b/pjsip/src/pjsua/pjsua.h @@ -68,6 +68,8 @@ struct pjsua_inv_data pjmedia_session *session; /**< The media session. */ unsigned conf_slot; /**< Slot # in conference bridge. */ unsigned call_slot; /**< RTP media index in med_sock_use[] */ + pjsip_evsub *xfer_sub; /**< Xfer server subscription, if this + call was triggered by xfer. */ }; @@ -254,7 +256,7 @@ pj_status_t pjsua_destroy(void); * Make outgoing call. */ pj_status_t pjsua_invite(const char *cstr_dest_uri, - pjsip_inv_session **p_inv); + struct pjsua_inv_data **p_inv_data); /** @@ -263,6 +265,31 @@ pj_status_t pjsua_invite(const char *cstr_dest_uri, pj_bool_t pjsua_inv_on_incoming(pjsip_rx_data *rdata); +/** + * Hangup call. + */ +void pjsua_inv_hangup(struct pjsua_inv_data *inv_session, int code); + + +/** + * Put call on-hold. + */ +void pjsua_inv_set_hold(struct pjsua_inv_data *inv_session); + + +/** + * Send re-INVITE (to release hold). + */ +void pjsua_inv_reinvite(struct pjsua_inv_data *inv_session); + + +/** + * Transfer call. + */ +void pjsua_inv_xfer_call(struct pjsua_inv_data *inv_session, + const char *dest); + + /** * Callback to be called by session when invite session's state has changed. */ @@ -283,6 +310,19 @@ void pjsua_inv_on_new_session(pjsip_inv_session *inv, pjsip_event *e); */ void pjsua_inv_on_media_update(pjsip_inv_session *inv, pj_status_t status); +/** + * Callback called when invite session received new offer. + */ +void pjsua_inv_on_rx_offer( pjsip_inv_session *inv, + const pjmedia_sdp_session *offer); + +/** + * Callback to receive transaction state inside invite session or dialog + * (e.g. REFER, MESSAGE). + */ +void pjsua_inv_on_tsx_state_changed(pjsip_inv_session *inv, + pjsip_transaction *tsx, + pjsip_event *e); /** * Terminate all calls. -- cgit v1.2.3