Ignore:
Timestamp:
Oct 3, 2007 6:28:49 PM (17 years ago)
Author:
bennylp
Message:

Ticket 5: Support for SIP UPDATE (RFC 3311) and fix the offer/answer negotiation

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjsip/include/pjsip-ua/sip_100rel.h

    r1463 r1469  
    4646 * \subsection pjsip_100rel_init Initializing 100rel Module 
    4747 * 
    48  * \a PRACK and \a 100rel extension support is built into the library when 
    49  * #PJSIP_HAS_100REL macro is enabled. The default is yes. Application can 
    50  * set this macro to zero if it does not wish to support reliable provisional 
    51  * response extension. 
    52  * 
    53  * Application must also explicitly initialize 100rel module by calling 
     48 * Application must explicitly initialize 100rel module by calling 
    5449 * #pjsip_100rel_init_module() in application initialization function. 
    5550 * 
     
    6055 * 
    6156 * For UAC, \a 100rel support will be enabled in the session if \a 100rel 
    62  * support is enabled in the library (with #PJSIP_HAS_100REL macro).  
     57 * support is enabled in the library (default is yes).  
    6358 * Outgoing INVITE request will include \a 100rel tag in \a Supported 
    6459 * header and \a PRACK method in \a Allow header. When callee endpoint 
     
    8782    unsigned options = 0; 
    8883 
    89 #if PJSIP_HAS_100REL 
    9084    options |= PJSIP_INV_SUPPORT_100REL; 
    91 #endif 
    9285 
    9386    status = pjsip_inv_verify_request(rdata, &options, answer, NULL, 
     
    130123PJ_BEGIN_DECL 
    131124 
     125 
     126/**  
     127 * PRACK method constant.  
     128 * @see pjsip_get_prack_method()  
     129  */ 
     130PJ_DECL_DATA(const pjsip_method) pjsip_prack_method; 
     131 
     132 
     133/**  
     134 * Get #pjsip_invite_method constant.  
     135 */ 
     136PJ_DECL(const pjsip_method*) pjsip_get_prack_method(void); 
     137 
     138 
    132139/** 
    133140 * Initialize 100rel module. This function must be called once during 
     
    139146 */ 
    140147PJ_DECL(pj_status_t) pjsip_100rel_init_module(pjsip_endpoint *endpt); 
     148 
    141149 
    142150/** 
     
    150158 */ 
    151159PJ_DECL(pj_status_t) pjsip_100rel_attach(pjsip_inv_session *inv); 
     160 
     161 
     162/** 
     163 * Check if incoming response has reliable provisional response feature. 
     164 * 
     165 * @param rdata         Receive data buffer containing the response. 
     166 * 
     167 * @return              PJ_TRUE if the provisional response is reliable. 
     168 */ 
     169PJ_DECL(pj_bool_t) pjsip_100rel_is_reliable(pjsip_rx_data *rdata); 
     170 
     171 
     172/** 
     173 * Create PRACK request for the incoming reliable provisional response. 
     174 * Note that PRACK request MUST be sent using #pjsip_100rel_send_prack(). 
     175 * 
     176 * @param inv           The invite session. 
     177 * @param rdata         The incoming reliable provisional response. 
     178 * @param p_tdata       Upon return, it will be initialized with the 
     179 *                      PRACK request. 
     180 * 
     181 * @return              PJ_SUCCESS on successful. 
     182 */ 
     183PJ_DECL(pj_status_t) pjsip_100rel_create_prack(pjsip_inv_session *inv, 
     184                                               pjsip_rx_data *rdata, 
     185                                               pjsip_tx_data **p_tdata); 
     186 
     187/** 
     188 * Send PRACK request. 
     189 * 
     190 * @param inv           The invite session. 
     191 * @param tdata         The PRACK request. 
     192 * 
     193 * @return              PJ_SUCCESS on successful. 
     194 */ 
     195PJ_DECL(pj_status_t) pjsip_100rel_send_prack(pjsip_inv_session *inv, 
     196                                             pjsip_tx_data *tdata); 
     197 
     198 
     199/** 
     200 * Handle incoming PRACK request. 
     201 * 
     202 * @param inv           The invite session. 
     203 * @param rdata         Incoming PRACK request. 
     204 * 
     205 * @return              PJ_SUCCESS on successful. 
     206 */ 
     207PJ_DECL(pj_status_t) pjsip_100rel_on_rx_prack(pjsip_inv_session *inv, 
     208                                              pjsip_rx_data *rdata); 
     209 
    152210 
    153211/** 
     
    167225 
    168226 
     227/** 
     228 * Notify 100rel module that the invite session has been disconnected. 
     229 * 
     230 * @param inv           The invite session. 
     231 * 
     232 * @return              PJ_SUCCESS on successful. 
     233 */ 
     234PJ_DECL(pj_status_t) pjsip_100rel_end_session(pjsip_inv_session *inv); 
     235 
     236 
    169237PJ_END_DECL 
    170238 
Note: See TracChangeset for help on using the changeset viewer.