From: Michael Jerris Date: Fri, 7 Mar 2008 17:42:16 +0000 (+0000) Subject: Fri Mar 7 11:34:33 EST 2008 Pekka.Pessi@nokia.com X-Git-Tag: v1.0-rc1~127 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f3a77abce447eb0598473fb1399390294438e39d;p=thirdparty%2Ffreeswitch.git Fri Mar 7 11:34:33 EST 2008 Pekka.Pessi@nokia.com * nta: added nta_outgoing_bind() git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@7817 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- diff --git a/libs/sofia-sip/libsofia-sip-ua/nta/nta.c b/libs/sofia-sip/libsofia-sip-ua/nta/nta.c index b0cb19f4c3..903a9760c8 100644 --- a/libs/sofia-sip/libsofia-sip-ua/nta/nta.c +++ b/libs/sofia-sip/libsofia-sip-ua/nta/nta.c @@ -6749,6 +6749,29 @@ nta_outgoing_t *nta_outgoing_tcancel(nta_outgoing_t *orq, return NULL; } +/**Bind callback and application context to an client transaction. + * + * @param orq outgoing client transaction + * @param callback callback function (may be NULL) + * @param magic application context pointer + * (given as argument to @a callback) + * + * @NEW_1_12_9 + */ +SOFIAPUBFUN int nta_outgoing_bind(nta_outgoing_t *orq, + nta_response_f *callback, + nta_outgoing_magic_t *magic) +{ + if (orq && !orq->orq_destroyed) { + if (callback == NULL) + callback = outgoing_default_cb; + orq->orq_callback = callback; + orq->orq_magic = magic; + return 0; + } + return -1; +} + /** * Destroy a request object. * diff --git a/libs/sofia-sip/libsofia-sip-ua/nta/nta_tag.c b/libs/sofia-sip/libsofia-sip-ua/nta/nta_tag.c index 58efc6f27a..8fb53ff2f5 100644 --- a/libs/sofia-sip/libsofia-sip-ua/nta/nta_tag.c +++ b/libs/sofia-sip/libsofia-sip-ua/nta/nta_tag.c @@ -103,7 +103,7 @@ tag_typedef_t ntatag_mclass = PTRTAG_TYPEDEF(mclass); * @ContentLength, @Via, @ContentType, @ContentDisposition, * @ContentEncoding, @Supported, @Contact, @Require, @RecordRoute, @RAck, * @RSeq, @Event, @Expires, @SubscriptionState, @SessionExpires, - * @MinSE, @SIPEtag, and @SIPIfMatch. + * @MinSE, @SIPETag, and @SIPIfMatch. * * @sa enum #sip_bad_mask, NTATAG_BAD_RESP_MASK() */ @@ -140,7 +140,7 @@ tag_typedef_t ntatag_bad_req_mask = UINTTAG_TYPEDEF(bad_req_mask); * @ContentLength, @Via, @ContentType, @ContentDisposition, * @ContentEncoding, @Supported, @Contact, @Require, @RecordRoute, @RAck, * @RSeq, @Event, @Expires, @SubscriptionState, @SessionExpires, - * @MinSE, @SIPEtag, and @SIPIfMatch. + * @MinSE, @SIPETag, and @SIPIfMatch. */ tag_typedef_t ntatag_bad_resp_mask = UINTTAG_TYPEDEF(bad_resp_mask); @@ -962,7 +962,7 @@ tag_typedef_t ntatag_pass_100 = BOOLTAG_TYPEDEF(pass_100); * As per recommended by @RFC4320, the stack can generate a 100 Trying * response to the non-INVITE requests if the application has not responded * to a request within half of the SIP T2 (the default value for T2 is 4000 - * milliseconds, so the extra 100 Trying would be sent after 2 seconds). + * milliseconds, so the extra 100 Trying would be sent after 2 seconds). * * @par Used with * nua_create(), nua_set_params(), diff --git a/libs/sofia-sip/libsofia-sip-ua/nta/sofia-sip/nta.h b/libs/sofia-sip/libsofia-sip-ua/nta/sofia-sip/nta.h index f7385759f2..f7add5a179 100644 --- a/libs/sofia-sip/libsofia-sip-ua/nta/sofia-sip/nta.h +++ b/libs/sofia-sip/libsofia-sip-ua/nta/sofia-sip/nta.h @@ -383,6 +383,9 @@ nta_outgoing_t *nta_outgoing_default(nta_agent_t *agent, nta_response_f *callback, nta_outgoing_magic_t *magic); +SOFIAPUBFUN int nta_outgoing_bind(nta_outgoing_t *orq, + nta_response_f *callback, + nta_outgoing_magic_t *magic); SOFIAPUBFUN int nta_outgoing_status(nta_outgoing_t const *orq); SOFIAPUBFUN sip_method_t nta_outgoing_method(nta_outgoing_t const *orq); SOFIAPUBFUN char const *nta_outgoing_method_name(nta_outgoing_t const *orq);