summaryrefslogtreecommitdiff
path: root/pjsip/src/pjsip/sip_util.c
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2006-11-11 16:16:04 +0000
committerBenny Prijono <bennylp@teluu.com>2006-11-11 16:16:04 +0000
commite6a5b770072500cf89a9cc10e4b99a972a6787b8 (patch)
treeec336215fc83344cec58d01dd30a74d7f6054e67 /pjsip/src/pjsip/sip_util.c
parente4fa39f3acb0b969dd1f952e81b33b2dff671002 (diff)
Attended call transfer implementation. The changes involves:
- Added support for SIP Replaces extension (RFC 3891) - Added pjsua_call_xfer_replaces() to perform attended call transfer. - PJSUA checks and process Replaces header in incoming calls - Added pjsip_ua_find_dialog() API. - Added pjsip_endpt_has_capability() API. - Added pjsip_endpt_send_response2() API. - etc. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@797 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip/src/pjsip/sip_util.c')
-rw-r--r--pjsip/src/pjsip/sip_util.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/pjsip/src/pjsip/sip_util.c b/pjsip/src/pjsip/sip_util.c
index 56928e6e..0b72e568 100644
--- a/pjsip/src/pjsip/sip_util.c
+++ b/pjsip/src/pjsip/sip_util.c
@@ -1195,6 +1195,31 @@ PJ_DEF(pj_status_t) pjsip_endpt_send_response( pjsip_endpoint *endpt,
}
/*
+ * Send response combo
+ */
+PJ_DEF(pj_status_t) pjsip_endpt_send_response2( pjsip_endpoint *endpt,
+ pjsip_rx_data *rdata,
+ pjsip_tx_data *tdata,
+ void *token,
+ void (*cb)(pjsip_send_state*,
+ pj_ssize_t sent,
+ pj_bool_t *cont))
+{
+ pjsip_response_addr res_addr;
+ pj_status_t status;
+
+ status = pjsip_get_response_addr(tdata->pool, rdata, &res_addr);
+ if (status != PJ_SUCCESS) {
+ pjsip_tx_data_dec_ref(tdata);
+ return PJ_SUCCESS;
+ }
+
+ status = pjsip_endpt_send_response(endpt, &res_addr, tdata, token, cb);
+ return status;
+}
+
+
+/*
* Send response
*/
PJ_DEF(pj_status_t) pjsip_endpt_respond_stateless( pjsip_endpoint *endpt,