diff options
author | Benny Prijono <bennylp@teluu.com> | 2007-03-26 13:25:07 +0000 |
---|---|---|
committer | Benny Prijono <bennylp@teluu.com> | 2007-03-26 13:25:07 +0000 |
commit | 63bbc72f8536347656ac59dea7fb9576c82ac55d (patch) | |
tree | 4a8b7fbb7b357b82cdeb49c44672439843155785 /pjnath/src/pjnath/stun_session.c | |
parent | 84b0defcf6903a8b014ab1ba38d8923282f230ed (diff) |
ICE: implement RTCP component and cancelling check in progress
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@1106 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjnath/src/pjnath/stun_session.c')
-rw-r--r-- | pjnath/src/pjnath/stun_session.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/pjnath/src/pjnath/stun_session.c b/pjnath/src/pjnath/stun_session.c index 1a048f2c..9c275a11 100644 --- a/pjnath/src/pjnath/stun_session.c +++ b/pjnath/src/pjnath/stun_session.c @@ -677,6 +677,31 @@ PJ_DEF(pj_status_t) pj_stun_session_send_msg( pj_stun_session *sess, return status; } +/* + * Cancel outgoing STUN transaction. + */ +PJ_DEF(pj_status_t) pj_stun_session_cancel_req( pj_stun_session *sess, + pj_stun_tx_data *tdata, + pj_bool_t notify, + pj_status_t notify_status) +{ + PJ_ASSERT_RETURN(sess && tdata, PJ_EINVAL); + PJ_ASSERT_RETURN(!notify || notify_status!=PJ_SUCCESS, PJ_EINVAL); + PJ_ASSERT_RETURN(PJ_STUN_IS_REQUEST(tdata->msg->hdr.type), PJ_EINVAL); + + pj_mutex_lock(sess->mutex); + + if (notify) { + (sess->cb.on_request_complete)(sess, notify_status, tdata, NULL); + } + + /* Just destroy tdata. This will destroy the transaction as well */ + pj_stun_msg_destroy_tdata(sess, tdata); + + pj_mutex_unlock(sess->mutex); + return PJ_SUCCESS; + +} /* Send response */ static pj_status_t send_response(pj_stun_session *sess, |