endpoint.h | endpoint.h | |||
---|---|---|---|---|
/* $Id: endpoint.h 2506 2009-03-12 18:11:37Z bennylp $ */ | /* $Id: endpoint.h 3360 2010-11-03 06:46:27Z bennylp $ */ | |||
/* | /* | |||
* Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) | * Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) | |||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> | * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> | |||
* | * | |||
* This program is free software; you can redistribute it and/or modify | * This program is free software; you can redistribute it and/or modify | |||
* it under the terms of the GNU General Public License as published by | * it under the terms of the GNU General Public License as published by | |||
* the Free Software Foundation; either version 2 of the License, or | * the Free Software Foundation; either version 2 of the License, or | |||
* (at your option) any later version. | * (at your option) any later version. | |||
* | * | |||
* This program is distributed in the hope that it will be useful, | * This program is distributed in the hope that it will be useful, | |||
skipping to change at line 45 | skipping to change at line 45 | |||
* A reference to media endpoint instance is required when application want s | * A reference to media endpoint instance is required when application want s | |||
* to create a media session (#pjmedia_session_create()). | * to create a media session (#pjmedia_session_create()). | |||
*/ | */ | |||
#include <pjmedia/codec.h> | #include <pjmedia/codec.h> | |||
#include <pjmedia/sdp.h> | #include <pjmedia/sdp.h> | |||
PJ_BEGIN_DECL | PJ_BEGIN_DECL | |||
/** | /** | |||
* This enumeration describes various flags that can be set or retrieved in | ||||
* the media endpoint, by using pjmedia_endpt_set_flag() and | ||||
* pjmedia_endpt_get_flag() respectively. | ||||
*/ | ||||
typedef enum pjmedia_endpt_flag | ||||
{ | ||||
/** | ||||
* This flag controls whether telephony-event should be offered in SDP. | ||||
* Value is boolean. | ||||
*/ | ||||
PJMEDIA_ENDPT_HAS_TELEPHONE_EVENT_FLAG | ||||
} pjmedia_endpt_flag; | ||||
/** | ||||
* Create an instance of media endpoint. | * Create an instance of media endpoint. | |||
* | * | |||
* @param pf Pool factory, which will be used by the media endpoi nt | * @param pf Pool factory, which will be used by the media endpoi nt | |||
* throughout its lifetime. | * throughout its lifetime. | |||
* @param ioqueue Optional ioqueue instance to be registered to the | * @param ioqueue Optional ioqueue instance to be registered to the | |||
* endpoint. The ioqueue instance is used to poll all R TP | * endpoint. The ioqueue instance is used to poll all R TP | |||
* and RTCP sockets. If this argument is NULL, the | * and RTCP sockets. If this argument is NULL, the | |||
* endpoint will create an internal ioqueue instance. | * endpoint will create an internal ioqueue instance. | |||
* @param worker_cnt Specify the number of worker threads to be created | * @param worker_cnt Specify the number of worker threads to be created | |||
* to poll the ioqueue. | * to poll the ioqueue. | |||
skipping to change at line 74 | skipping to change at line 89 | |||
/** | /** | |||
* Destroy media endpoint instance. | * Destroy media endpoint instance. | |||
* | * | |||
* @param endpt Media endpoint instance. | * @param endpt Media endpoint instance. | |||
* | * | |||
* @return PJ_SUCCESS on success. | * @return PJ_SUCCESS on success. | |||
*/ | */ | |||
PJ_DECL(pj_status_t) pjmedia_endpt_destroy(pjmedia_endpt *endpt); | PJ_DECL(pj_status_t) pjmedia_endpt_destroy(pjmedia_endpt *endpt); | |||
/** | /** | |||
* Change the value of a flag. | ||||
* | ||||
* @param endpt Media endpoint. | ||||
* @param flag The flag. | ||||
* @param value Pointer to the value to be set. | ||||
* | ||||
* @reurn PJ_SUCCESS on success. | ||||
*/ | ||||
PJ_DECL(pj_status_t) pjmedia_endpt_set_flag(pjmedia_endpt *endpt, | ||||
pjmedia_endpt_flag flag, | ||||
const void *value); | ||||
/** | ||||
* Retrieve the value of a flag. | ||||
* | ||||
* @param endpt Media endpoint. | ||||
* @param flag The flag. | ||||
* @param value Pointer to store the result. | ||||
* | ||||
* @return PJ_SUCCESS on success. | ||||
*/ | ||||
PJ_DECL(pj_status_t) pjmedia_endpt_get_flag(pjmedia_endpt *endpt, | ||||
pjmedia_endpt_flag flag, | ||||
void *value); | ||||
/** | ||||
* Get the ioqueue instance of the media endpoint. | * Get the ioqueue instance of the media endpoint. | |||
* | * | |||
* @param endpt The media endpoint instance. | * @param endpt The media endpoint instance. | |||
* | * | |||
* @return The ioqueue instance of the media endpoint. | * @return The ioqueue instance of the media endpoint. | |||
*/ | */ | |||
PJ_DECL(pj_ioqueue_t*) pjmedia_endpt_get_ioqueue(pjmedia_endpt *endpt); | PJ_DECL(pj_ioqueue_t*) pjmedia_endpt_get_ioqueue(pjmedia_endpt *endpt); | |||
/** | /** | |||
* Get the number of worker threads on the media endpoint | * Get the number of worker threads on the media endpoint | |||
End of changes. 3 change blocks. | ||||
1 lines changed or deleted | 42 lines changed or added | |||
pjsua_internal.h | pjsua_internal.h | |||
---|---|---|---|---|
/* $Id: pjsua_internal.h 3349 2010-10-20 05:31:08Z bennylp $ */ | /* $Id: pjsua_internal.h 3374 2010-11-25 09:27:06Z nanang $ */ | |||
/* | /* | |||
* Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) | * Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) | |||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> | * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> | |||
* | * | |||
* This program is free software; you can redistribute it and/or modify | * This program is free software; you can redistribute it and/or modify | |||
* it under the terms of the GNU General Public License as published by | * it under the terms of the GNU General Public License as published by | |||
* the Free Software Foundation; either version 2 of the License, or | * the Free Software Foundation; either version 2 of the License, or | |||
* (at your option) any later version. | * (at your option) any later version. | |||
* | * | |||
* This program is distributed in the hope that it will be useful, | * This program is distributed in the hope that it will be useful, | |||
skipping to change at line 98 | skipping to change at line 98 | |||
address) */ | address) */ | |||
pj_stun_nat_type rem_nat_type; /**< NAT type of remote endpoint. */ | pj_stun_nat_type rem_nat_type; /**< NAT type of remote endpoint. */ | |||
pjmedia_srtp_use rem_srtp_use; /**< Remote's SRTP usage policy. */ | pjmedia_srtp_use rem_srtp_use; /**< Remote's SRTP usage policy. */ | |||
char last_text_buf_[128]; /**< Buffer for last_text. */ | char last_text_buf_[128]; /**< Buffer for last_text. */ | |||
struct { | struct { | |||
pj_timer_entry reinv_timer;/**< Reinvite retry timer. */ | pj_timer_entry reinv_timer;/**< Reinvite retry timer. */ | |||
pj_uint32_t sdp_ver; /**< SDP version of the bad answer */ | pj_uint32_t sdp_ver; /**< SDP version of the bad answer */ | |||
int retry_cnt; /**< Retry count. */ | int retry_cnt; /**< Retry count. */ | |||
pj_bool_t pending; /**< Pending until CONFIRMED state */ | ||||
} lock_codec; /**< Data for codec locking when answer | } lock_codec; /**< Data for codec locking when answer | |||
contains multiple codecs. */ | contains multiple codecs. */ | |||
} pjsua_call; | } pjsua_call; | |||
/** | /** | |||
* Server presence subscription list head. | * Server presence subscription list head. | |||
*/ | */ | |||
struct pjsua_srv_pres | struct pjsua_srv_pres | |||
{ | { | |||
skipping to change at line 129 | skipping to change at line 130 | |||
typedef struct pjsua_acc | typedef struct pjsua_acc | |||
{ | { | |||
pj_pool_t *pool; /**< Pool for this account. */ | pj_pool_t *pool; /**< Pool for this account. */ | |||
pjsua_acc_config cfg; /**< Account configuration. */ | pjsua_acc_config cfg; /**< Account configuration. */ | |||
pj_bool_t valid; /**< Is this account valid? */ | pj_bool_t valid; /**< Is this account valid? */ | |||
int index; /**< Index in accounts array. */ | int index; /**< Index in accounts array. */ | |||
pj_str_t display; /**< Display name, if any. */ | pj_str_t display; /**< Display name, if any. */ | |||
pj_str_t user_part; /**< User part of local URI. */ | pj_str_t user_part; /**< User part of local URI. */ | |||
pj_str_t contact; /**< Our Contact header. */ | pj_str_t contact; /**< Our Contact header. */ | |||
pj_str_t reg_contact; /**< Contact header for REGISTER. | ||||
It may be different than acc | ||||
contact if outbound is used */ | ||||
pj_str_t srv_domain; /**< Host part of reg server. */ | pj_str_t srv_domain; /**< Host part of reg server. */ | |||
int srv_port; /**< Port number of reg server. */ | int srv_port; /**< Port number of reg server. */ | |||
pjsip_regc *regc; /**< Client registration session. */ | pjsip_regc *regc; /**< Client registration session. */ | |||
pj_status_t reg_last_err; /**< Last registration error. */ | pj_status_t reg_last_err; /**< Last registration error. */ | |||
int reg_last_code; /**< Last status last register. */ | int reg_last_code; /**< Last status last register. */ | |||
struct { | struct { | |||
pj_bool_t active; /**< Flag of reregister status. */ | pj_bool_t active; /**< Flag of reregister status. */ | |||
skipping to change at line 153 | skipping to change at line 157 | |||
pj_timer_entry ka_timer; /**< Keep-alive timer for UDP. */ | pj_timer_entry ka_timer; /**< Keep-alive timer for UDP. */ | |||
pjsip_transport *ka_transport; /**< Transport for keep-alive. */ | pjsip_transport *ka_transport; /**< Transport for keep-alive. */ | |||
pj_sockaddr ka_target; /**< Destination address for K-A */ | pj_sockaddr ka_target; /**< Destination address for K-A */ | |||
unsigned ka_target_len; /**< Length of ka_target. */ | unsigned ka_target_len; /**< Length of ka_target. */ | |||
pjsip_route_hdr route_set; /**< Complete route set inc. out bnd.*/ | pjsip_route_hdr route_set; /**< Complete route set inc. out bnd.*/ | |||
pj_uint32_t global_route_crc; /** CRC of global route setti ng. */ | pj_uint32_t global_route_crc; /** CRC of global route setti ng. */ | |||
pj_uint32_t local_route_crc; /** CRC of account route sett ing.*/ | pj_uint32_t local_route_crc; /** CRC of account route sett ing.*/ | |||
unsigned rfc5626_status;/**< SIP outbound status: | ||||
0: not used | ||||
1: requested | ||||
2: acknowledged by servers */ | ||||
pj_str_t rfc5626_instprm;/**< SIP outbound instance param. */ | ||||
pj_str_t rfc5626_regprm;/**< SIP outbound reg param. */ | ||||
unsigned cred_cnt; /**< Number of credentials. */ | unsigned cred_cnt; /**< Number of credentials. */ | |||
pjsip_cred_info cred[PJSUA_ACC_MAX_PROXIES]; /**< Complete creds. */ | pjsip_cred_info cred[PJSUA_ACC_MAX_PROXIES]; /**< Complete creds. */ | |||
pj_bool_t online_status; /**< Our online status. */ | pj_bool_t online_status; /**< Our online status. */ | |||
pjrpid_element rpid; /**< RPID element information. */ | pjrpid_element rpid; /**< RPID element information. */ | |||
pjsua_srv_pres pres_srv_list; /**< Server subscription list. */ | pjsua_srv_pres pres_srv_list; /**< Server subscription list. */ | |||
pjsip_publishc *publish_sess; /**< Client publication session. */ | pjsip_publishc *publish_sess; /**< Client publication session. */ | |||
pj_bool_t publish_state; /**< Last published online status */ | pj_bool_t publish_state; /**< Last published online status */ | |||
pjsip_evsub *mwi_sub; /**< MWI client subscription */ | pjsip_evsub *mwi_sub; /**< MWI client subscription */ | |||
End of changes. 4 change blocks. | ||||
1 lines changed or deleted | 12 lines changed or added | |||
sip_auth.h | sip_auth.h | |||
---|---|---|---|---|
/* $Id: sip_auth.h 3144 2010-04-20 14:36:38Z nanang $ */ | /* $Id: sip_auth.h 3377 2010-12-01 08:53:52Z nanang $ */ | |||
/* | /* | |||
* Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) | * Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) | |||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> | * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> | |||
* | * | |||
* This program is free software; you can redistribute it and/or modify | * This program is free software; you can redistribute it and/or modify | |||
* it under the terms of the GNU General Public License as published by | * it under the terms of the GNU General Public License as published by | |||
* the Free Software Foundation; either version 2 of the License, or | * the Free Software Foundation; either version 2 of the License, or | |||
* (at your option) any later version. | * (at your option) any later version. | |||
* | * | |||
* This program is distributed in the hope that it will be useful, | * This program is distributed in the hope that it will be useful, | |||
skipping to change at line 203 | skipping to change at line 203 | |||
/** | /** | |||
* Specify the algorithm to use when empty Authorization header | * Specify the algorithm to use when empty Authorization header | |||
* is to be sent for each initial request (see above) | * is to be sent for each initial request (see above) | |||
*/ | */ | |||
pj_str_t algorithm; | pj_str_t algorithm; | |||
} pjsip_auth_clt_pref; | } pjsip_auth_clt_pref; | |||
/** | /** | |||
* Duplicate a client authentication preference setting. | ||||
* | ||||
* @param pool The memory pool. | ||||
* @param dst Destination client authentication preference. | ||||
* @param src Source client authentication preference. | ||||
*/ | ||||
PJ_DECL(void) pjsip_auth_clt_pref_dup(pj_pool_t *pool, | ||||
pjsip_auth_clt_pref *dst, | ||||
const pjsip_auth_clt_pref *src); | ||||
/** | ||||
* This structure describes client authentication sessions. It keeps | * This structure describes client authentication sessions. It keeps | |||
* all the information needed to authorize the client against all downstrea m | * all the information needed to authorize the client against all downstrea m | |||
* servers. | * servers. | |||
*/ | */ | |||
typedef struct pjsip_auth_clt_sess | typedef struct pjsip_auth_clt_sess | |||
{ | { | |||
pj_pool_t *pool; /**< Pool to use. */ | pj_pool_t *pool; /**< Pool to use. */ | |||
pjsip_endpoint *endpt; /**< Endpoint where this belongs. */ | pjsip_endpoint *endpt; /**< Endpoint where this belongs. */ | |||
pjsip_auth_clt_pref pref; /**< Preference/options. */ | pjsip_auth_clt_pref pref; /**< Preference/options. */ | |||
unsigned cred_cnt; /**< Number of credentials. */ | unsigned cred_cnt; /**< Number of credentials. */ | |||
End of changes. 2 change blocks. | ||||
1 lines changed or deleted | 12 lines changed or added | |||
sip_config.h | sip_config.h | |||
---|---|---|---|---|
/* $Id: sip_config.h 3329 2010-10-01 00:24:23Z bennylp $ */ | /* $Id: sip_config.h 3363 2010-11-10 12:13:46Z bennylp $ */ | |||
/* | /* | |||
* Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) | * Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com) | |||
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> | * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> | |||
* | * | |||
* This program is free software; you can redistribute it and/or modify | * This program is free software; you can redistribute it and/or modify | |||
* it under the terms of the GNU General Public License as published by | * it under the terms of the GNU General Public License as published by | |||
* the Free Software Foundation; either version 2 of the License, or | * the Free Software Foundation; either version 2 of the License, or | |||
* (at your option) any later version. | * (at your option) any later version. | |||
* | * | |||
* This program is distributed in the hope that it will be useful, | * This program is distributed in the hope that it will be useful, | |||
skipping to change at line 80 | skipping to change at line 80 | |||
{ | { | |||
/** Global settings. */ | /** Global settings. */ | |||
struct { | struct { | |||
/** | /** | |||
* Specify port number should be allowed to appear in To and From | * Specify port number should be allowed to appear in To and From | |||
* header. Note that RFC 3261 disallow this, see Table 1 in section | * header. Note that RFC 3261 disallow this, see Table 1 in section | |||
* 19.1.1 of the RFC. Default is PJSIP_ALLOW_PORT_IN_FROMTO_HDR. | * 19.1.1 of the RFC. Default is PJSIP_ALLOW_PORT_IN_FROMTO_HDR. | |||
*/ | */ | |||
pj_bool_t allow_port_in_fromto_hdr; | pj_bool_t allow_port_in_fromto_hdr; | |||
/** | ||||
* Disable rport in request. | ||||
*/ | ||||
pj_bool_t disable_rport; | ||||
} endpt; | } endpt; | |||
/** Transaction layer settings. */ | /** Transaction layer settings. */ | |||
struct { | struct { | |||
/** Maximum number of transactions. The value is initialized with | /** Maximum number of transactions. The value is initialized with | |||
* PJSIP_MAX_TSX_COUNT | * PJSIP_MAX_TSX_COUNT | |||
*/ | */ | |||
unsigned max_count; | unsigned max_count; | |||
skipping to change at line 858 | skipping to change at line 862 | |||
* in the SUBSCRIBE request if the header exists and its value is less than | * in the SUBSCRIBE request if the header exists and its value is less than | |||
* this setting, otherwise this setting will be used. | * this setting, otherwise this setting will be used. | |||
* | * | |||
* Default: 600 seconds (10 minutes) | * Default: 600 seconds (10 minutes) | |||
*/ | */ | |||
#ifndef PJSIP_PRES_DEFAULT_EXPIRES | #ifndef PJSIP_PRES_DEFAULT_EXPIRES | |||
# define PJSIP_PRES_DEFAULT_EXPIRES 600 | # define PJSIP_PRES_DEFAULT_EXPIRES 600 | |||
#endif | #endif | |||
/** | /** | |||
* Specify the status code value to respond to bad message body in NOTIFY | ||||
* request for presence. Scenarios that are considered bad include non- | ||||
* PIDF/XML and non-XPIDF/XML body, multipart message bodies without PIDF/X | ||||
ML | ||||
* nor XPIDF/XML part, and bad (parsing error) PIDF and X-PIDF bodies | ||||
* themselves. | ||||
* | ||||
* Default value is 488. Application may change this to 200 to ignore the | ||||
* unrecognised content (this is useful if the application wishes to handle | ||||
* the content itself). Only non-3xx final response code is allowed here. | ||||
* | ||||
* Default: 488 (Not Acceptable Here) | ||||
*/ | ||||
#ifndef PJSIP_PRES_BAD_CONTENT_RESPONSE | ||||
# define PJSIP_PRES_BAD_CONTENT_RESPONSE 488 | ||||
#endif | ||||
/** | ||||
* Add "timestamp" information in generated PIDF document for both server | * Add "timestamp" information in generated PIDF document for both server | |||
* subscription and presence publication. | * subscription and presence publication. | |||
* | * | |||
* Default: 1 (yes) | * Default: 1 (yes) | |||
*/ | */ | |||
#ifndef PJSIP_PRES_PIDF_ADD_TIMESTAMP | #ifndef PJSIP_PRES_PIDF_ADD_TIMESTAMP | |||
# define PJSIP_PRES_PIDF_ADD_TIMESTAMP 1 | # define PJSIP_PRES_PIDF_ADD_TIMESTAMP 1 | |||
#endif | #endif | |||
/** | /** | |||
End of changes. 3 change blocks. | ||||
1 lines changed or deleted | 23 lines changed or added | |||