summaryrefslogtreecommitdiff
path: root/pjsip/src/pjsip-ua/sip_inv.c
diff options
context:
space:
mode:
Diffstat (limited to 'pjsip/src/pjsip-ua/sip_inv.c')
-rw-r--r--pjsip/src/pjsip-ua/sip_inv.c61
1 files changed, 33 insertions, 28 deletions
diff --git a/pjsip/src/pjsip-ua/sip_inv.c b/pjsip/src/pjsip-ua/sip_inv.c
index e08e10d2..44d073b4 100644
--- a/pjsip/src/pjsip-ua/sip_inv.c
+++ b/pjsip/src/pjsip-ua/sip_inv.c
@@ -229,7 +229,7 @@ static pj_bool_t mod_inv_on_rx_request(pjsip_rx_data *rdata)
if (dlg == NULL)
return PJ_FALSE;
- inv = dlg->mod_data[mod_inv.mod.id];
+ inv = (pjsip_inv_session*) dlg->mod_data[mod_inv.mod.id];
/* Report to dialog that we handle INVITE, CANCEL, BYE, ACK.
* If we need to send response, it will be sent in the state
@@ -411,7 +411,7 @@ PJ_DEF(pjsip_module*) pjsip_inv_usage_instance(void)
*/
PJ_DEF(pjsip_inv_session*) pjsip_dlg_get_inv_session(pjsip_dialog *dlg)
{
- return dlg->mod_data[mod_inv.mod.id];
+ return (pjsip_inv_session*) dlg->mod_data[mod_inv.mod.id];
}
@@ -452,7 +452,7 @@ PJ_DEF(pj_status_t) pjsip_inv_create_uac( pjsip_dialog *dlg,
options |= PJSIP_INV_SUPPORT_TIMER;
/* Create the session */
- inv = pj_pool_zalloc(dlg->pool, sizeof(pjsip_inv_session));
+ inv = PJ_POOL_ZALLOC_T(dlg->pool, pjsip_inv_session);
pj_assert(inv != NULL);
inv->pool = dlg->pool;
@@ -577,8 +577,8 @@ PJ_DEF(pj_status_t) pjsip_inv_verify_request(pjsip_rx_data *rdata,
}
/* Parse and validate SDP */
- status = pjmedia_sdp_parse(rdata->tp_info.pool, body->data, body->len,
- &sdp);
+ status = pjmedia_sdp_parse(rdata->tp_info.pool,
+ (char*)body->data, body->len, &sdp);
if (status == PJ_SUCCESS)
status = pjmedia_sdp_validate(sdp);
@@ -650,7 +650,7 @@ PJ_DEF(pj_status_t) pjsip_inv_verify_request(pjsip_rx_data *rdata,
* We just assume that peer supports standard INVITE, ACK, CANCEL, and BYE
* implicitly by sending this INVITE.
*/
- allow = pjsip_msg_find_hdr(msg, PJSIP_H_ALLOW, NULL);
+ allow = (pjsip_allow_hdr*) pjsip_msg_find_hdr(msg, PJSIP_H_ALLOW, NULL);
if (allow) {
unsigned i;
const pj_str_t STR_UPDATE = { "UPDATE", 6 };
@@ -668,7 +668,8 @@ PJ_DEF(pj_status_t) pjsip_inv_verify_request(pjsip_rx_data *rdata,
}
/* Check Supported header */
- sup_hdr = pjsip_msg_find_hdr(msg, PJSIP_H_SUPPORTED, NULL);
+ sup_hdr = (pjsip_supported_hdr*)
+ pjsip_msg_find_hdr(msg, PJSIP_H_SUPPORTED, NULL);
if (sup_hdr) {
unsigned i;
pj_str_t STR_100REL = { "100rel", 6};
@@ -683,7 +684,8 @@ PJ_DEF(pj_status_t) pjsip_inv_verify_request(pjsip_rx_data *rdata,
}
/* Check Require header */
- req_hdr = pjsip_msg_find_hdr(msg, PJSIP_H_REQUIRE, NULL);
+ req_hdr = (pjsip_require_hdr*)
+ pjsip_msg_find_hdr(msg, PJSIP_H_REQUIRE, NULL);
if (req_hdr) {
unsigned i;
const pj_str_t STR_100REL = { "100rel", 6};
@@ -742,7 +744,8 @@ PJ_DEF(pj_status_t) pjsip_inv_verify_request(pjsip_rx_data *rdata,
NULL);
pj_assert(h);
if (h) {
- sup_hdr = pjsip_hdr_clone(rdata->tp_info.pool, h);
+ sup_hdr = (pjsip_supported_hdr*)
+ pjsip_hdr_clone(rdata->tp_info.pool, h);
pj_list_push_back(&res_hdr_list, sup_hdr);
}
}
@@ -782,7 +785,8 @@ PJ_DEF(pj_status_t) pjsip_inv_verify_request(pjsip_rx_data *rdata,
NULL);
pj_assert(h);
if (h) {
- sup_hdr = pjsip_hdr_clone(rdata->tp_info.pool, h);
+ sup_hdr = (pjsip_supported_hdr*)
+ pjsip_hdr_clone(rdata->tp_info.pool, h);
pj_list_push_back(&res_hdr_list, sup_hdr);
}
@@ -814,7 +818,7 @@ on_return:
while (h != &res_hdr_list) {
pjsip_hdr *cloned;
- cloned = pjsip_hdr_clone(tdata->pool, h);
+ cloned = (pjsip_hdr*) pjsip_hdr_clone(tdata->pool, h);
PJ_ASSERT_RETURN(cloned, PJ_ENOMEM);
pjsip_msg_add_hdr(tdata->msg, cloned);
@@ -874,7 +878,7 @@ PJ_DEF(pj_status_t) pjsip_inv_create_uas( pjsip_dialog *dlg,
options |= PJSIP_INV_SUPPORT_TIMER;
/* Create the session */
- inv = pj_pool_zalloc(dlg->pool, sizeof(pjsip_inv_session));
+ inv = PJ_POOL_ZALLOC_T(dlg->pool, pjsip_inv_session);
pj_assert(inv != NULL);
inv->pool = dlg->pool;
@@ -893,7 +897,7 @@ PJ_DEF(pj_status_t) pjsip_inv_create_uas( pjsip_dialog *dlg,
pjsip_msg_body *body = msg->body;
/* Parse and validate SDP */
- status = pjmedia_sdp_parse(inv->pool, body->data, body->len,
+ status = pjmedia_sdp_parse(inv->pool, (char*)body->data, body->len,
&rem_sdp);
if (status == PJ_SUCCESS)
status = pjmedia_sdp_validate(rem_sdp);
@@ -935,8 +939,7 @@ PJ_DEF(pj_status_t) pjsip_inv_create_uas( pjsip_dialog *dlg,
inv->invite_tsx = pjsip_rdata_get_tsx(rdata);
/* Attach our data to the transaction. */
- tsx_inv_data = pj_pool_zalloc(inv->invite_tsx->pool,
- sizeof(struct tsx_inv_data));
+ tsx_inv_data = PJ_POOL_ZALLOC_T(inv->invite_tsx->pool, struct tsx_inv_data);
tsx_inv_data->inv = inv;
inv->invite_tsx->mod_data[mod_inv.mod.id] = tsx_inv_data;
@@ -997,12 +1000,12 @@ PJ_DEF(pj_status_t) pjsip_inv_terminate( pjsip_inv_session *inv,
static void *clone_sdp(pj_pool_t *pool, const void *data, unsigned len)
{
PJ_UNUSED_ARG(len);
- return pjmedia_sdp_session_clone(pool, data);
+ return pjmedia_sdp_session_clone(pool, (const pjmedia_sdp_session*)data);
}
static int print_sdp(pjsip_msg_body *body, char *buf, pj_size_t len)
{
- return pjmedia_sdp_print(body->data, buf, len);
+ return pjmedia_sdp_print((const pjmedia_sdp_session*)body->data, buf, len);
}
@@ -1014,7 +1017,7 @@ PJ_DEF(pj_status_t) pjsip_create_sdp_body( pj_pool_t *pool,
const pj_str_t STR_SDP = { "sdp", 3 };
pjsip_msg_body *body;
- body = pj_pool_zalloc(pool, sizeof(pjsip_msg_body));
+ body = PJ_POOL_ZALLOC_T(pool, pjsip_msg_body);
PJ_ASSERT_RETURN(body != NULL, PJ_ENOMEM);
body->content_type.type = STR_APPLICATION;
@@ -1082,7 +1085,7 @@ PJ_DEF(pj_status_t) pjsip_inv_invite( pjsip_inv_session *inv,
hdr = inv->dlg->inv_hdr.next;
while (hdr != &inv->dlg->inv_hdr) {
- pjsip_msg_add_hdr(tdata->msg,
+ pjsip_msg_add_hdr(tdata->msg, (pjsip_hdr*)
pjsip_hdr_shallow_clone(tdata->pool, hdr));
hdr = hdr->next;
}
@@ -1117,14 +1120,14 @@ PJ_DEF(pj_status_t) pjsip_inv_invite( pjsip_inv_session *inv,
/* Add Allow header. */
hdr = pjsip_endpt_get_capability(inv->dlg->endpt, PJSIP_H_ALLOW, NULL);
if (hdr) {
- pjsip_msg_add_hdr(tdata->msg,
+ pjsip_msg_add_hdr(tdata->msg, (pjsip_hdr*)
pjsip_hdr_shallow_clone(tdata->pool, hdr));
}
/* Add Supported header */
hdr = pjsip_endpt_get_capability(inv->dlg->endpt, PJSIP_H_SUPPORTED, NULL);
if (hdr) {
- pjsip_msg_add_hdr(tdata->msg,
+ pjsip_msg_add_hdr(tdata->msg, (pjsip_hdr*)
pjsip_hdr_shallow_clone(tdata->pool, hdr));
}
@@ -1177,9 +1180,9 @@ static pj_status_t inv_check_sdp_in_incoming_msg( pjsip_inv_session *inv,
pjmedia_sdp_session *sdp;
/* Get/attach invite session's transaction data */
- tsx_inv_data = tsx->mod_data[mod_inv.mod.id];
+ tsx_inv_data = (struct tsx_inv_data*) tsx->mod_data[mod_inv.mod.id];
if (tsx_inv_data == NULL) {
- tsx_inv_data = pj_pool_zalloc(tsx->pool, sizeof(struct tsx_inv_data));
+ tsx_inv_data = PJ_POOL_ZALLOC_T(tsx->pool, struct tsx_inv_data);
tsx_inv_data->inv = inv;
tsx->mod_data[mod_inv.mod.id] = tsx_inv_data;
}
@@ -1207,7 +1210,8 @@ static pj_status_t inv_check_sdp_in_incoming_msg( pjsip_inv_session *inv,
/* Parse the SDP body. */
- status = pjmedia_sdp_parse(rdata->tp_info.pool, msg->body->data,
+ status = pjmedia_sdp_parse(rdata->tp_info.pool,
+ (char*)msg->body->data,
msg->body->len, &sdp);
if (status != PJ_SUCCESS) {
char errmsg[PJ_ERR_MSG_SIZE];
@@ -1587,7 +1591,8 @@ PJ_DEF(pj_status_t) pjsip_inv_reinvite( pjsip_inv_session *inv,
const pj_str_t STR_CONTACT = { "Contact", 7 };
pj_strdup_with_null(inv->dlg->pool, &tmp, new_contact);
- contact_hdr = pjsip_parse_hdr(inv->dlg->pool, &STR_CONTACT,
+ contact_hdr = (pjsip_contact_hdr*)
+ pjsip_parse_hdr(inv->dlg->pool, &STR_CONTACT,
tmp.ptr, tmp.slen, NULL);
if (!contact_hdr) {
status = PJSIP_EINVALIDURI;
@@ -1684,7 +1689,7 @@ PJ_DEF(pj_status_t) pjsip_inv_send_msg( pjsip_inv_session *inv,
pjsip_dlg_inc_lock(inv->dlg);
- tsx_inv_data = pj_pool_zalloc(inv->pool, sizeof(struct tsx_inv_data));
+ tsx_inv_data = PJ_POOL_ZALLOC_T(inv->pool, struct tsx_inv_data);
tsx_inv_data->inv = inv;
pjsip_dlg_dec_lock(inv->dlg);
@@ -1700,7 +1705,7 @@ PJ_DEF(pj_status_t) pjsip_inv_send_msg( pjsip_inv_session *inv,
/* Can only do this to send response to original INVITE
* request.
*/
- PJ_ASSERT_RETURN((cseq=pjsip_msg_find_hdr(tdata->msg, PJSIP_H_CSEQ, NULL))!=NULL
+ PJ_ASSERT_RETURN((cseq=(pjsip_cseq_hdr*)pjsip_msg_find_hdr(tdata->msg, PJSIP_H_CSEQ, NULL))!=NULL
&& (cseq->cseq == inv->invite_tsx->cseq),
PJ_EINVALIDOP);
@@ -2415,7 +2420,7 @@ static void inv_on_state_confirmed( pjsip_inv_session *inv, pjsip_event *e)
accept = pjsip_endpt_get_capability(dlg->endpt, PJSIP_H_ACCEPT,
NULL);
if (accept) {
- pjsip_msg_add_hdr(tdata->msg,
+ pjsip_msg_add_hdr(tdata->msg, (pjsip_hdr*)
pjsip_hdr_clone(tdata->pool, accept));
}