diff options
author | Benny Prijono <bennylp@teluu.com> | 2006-03-17 17:57:52 +0000 |
---|---|---|
committer | Benny Prijono <bennylp@teluu.com> | 2006-03-17 17:57:52 +0000 |
commit | 0ceffc76d8ac1ed82e16e555f04409b0b6384cc5 (patch) | |
tree | b0dd31334ba127852b46694484aa872aa8648e78 /pjsip/src | |
parent | 5f18c48c1734f2010e8bf36f3d8d040dea75b108 (diff) |
Changed pjsip_inv_send_msg() function
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@324 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip/src')
-rw-r--r-- | pjsip/src/pjsip-ua/sip_inv.c | 41 | ||||
-rw-r--r-- | pjsip/src/pjsua-lib/pjsua_call.c | 26 |
2 files changed, 43 insertions, 24 deletions
diff --git a/pjsip/src/pjsip-ua/sip_inv.c b/pjsip/src/pjsip-ua/sip_inv.c index c0e241d1..54acb0a2 100644 --- a/pjsip/src/pjsip-ua/sip_inv.c +++ b/pjsip/src/pjsip-ua/sip_inv.c @@ -33,6 +33,18 @@ #define THIS_FILE "sip_invite_session.c" +static const char *inv_state_names[] = +{ + "NULL ", + "CALLING ", + "INCOMING ", + "EARLY ", + "CONNECTING", + "CONFIRMED ", + "DISCONNCTD", + "TERMINATED", +}; + /* * Static prototypes. */ @@ -66,7 +78,6 @@ static struct mod_inv pjsip_module mod; pjsip_endpoint *endpt; pjsip_inv_callback cb; - pjsip_module *app_user; } mod_inv = { { @@ -316,13 +327,12 @@ static void mod_inv_on_tsx_state(pjsip_transaction *tsx, pjsip_event *e) * Initialize the invite module. */ PJ_DEF(pj_status_t) pjsip_inv_usage_init( pjsip_endpoint *endpt, - pjsip_module *app_module, const pjsip_inv_callback *cb) { pj_status_t status; /* Check arguments. */ - PJ_ASSERT_RETURN(endpt && app_module && cb, PJ_EINVAL); + PJ_ASSERT_RETURN(endpt && cb, PJ_EINVAL); /* Some callbacks are mandatory */ PJ_ASSERT_RETURN(cb->on_state_changed && cb->on_new_session, PJ_EINVAL); @@ -334,7 +344,6 @@ PJ_DEF(pj_status_t) pjsip_inv_usage_init( pjsip_endpoint *endpt, pj_memcpy(&mod_inv.cb, cb, sizeof(pjsip_inv_callback)); mod_inv.endpt = endpt; - mod_inv.app_user = app_module; /* Register the module. */ status = pjsip_endpt_register_module(endpt, &mod_inv.mod); @@ -362,6 +371,18 @@ PJ_DEF(pjsip_inv_session*) pjsip_dlg_get_inv_session(pjsip_dialog *dlg) /* + * Get INVITE state name. + */ +PJ_DEF(const char *) pjsip_inv_state_name(pjsip_inv_state state) +{ + PJ_ASSERT_RETURN(state >= PJSIP_INV_STATE_NULL && + state <= PJSIP_INV_STATE_DISCONNECTED, + "??"); + + return inv_state_names[state]; +} + +/* * Create UAC invite session. */ PJ_DEF(pj_status_t) pjsip_inv_create_uac( pjsip_dialog *dlg, @@ -1548,8 +1569,7 @@ PJ_DEF(pj_status_t) pjsip_inv_update ( pjsip_inv_session *inv, * Send a request or response message. */ PJ_DEF(pj_status_t) pjsip_inv_send_msg( pjsip_inv_session *inv, - pjsip_tx_data *tdata, - void *token ) + pjsip_tx_data *tdata) { pj_status_t status; @@ -1571,7 +1591,6 @@ PJ_DEF(pj_status_t) pjsip_inv_send_msg( pjsip_inv_session *inv, tsx_inv_data->inv = inv; tsx->mod_data[mod_inv.mod.id] = tsx_inv_data; - tsx->mod_data[mod_inv.app_user->id] = token; } else { pjsip_cseq_hdr *cseq; @@ -1717,7 +1736,7 @@ static void inv_handle_bye_response( pjsip_inv_session *inv, } else { /* Re-send BYE. */ - status = pjsip_inv_send_msg(inv, tdata, NULL ); + status = pjsip_inv_send_msg(inv, tdata); } } else { @@ -1851,7 +1870,7 @@ static void inv_on_state_calling( pjsip_inv_session *inv, pjsip_event *e) inv->invite_tsx = NULL; /* Send the request. */ - status = pjsip_inv_send_msg(inv, tdata, NULL ); + status = pjsip_inv_send_msg(inv, tdata); } } else { @@ -2271,7 +2290,7 @@ static void inv_on_state_confirmed( pjsip_inv_session *inv, pjsip_event *e) if (status != PJ_SUCCESS) return; - status = pjsip_inv_send_msg(inv, tdata, NULL); + status = pjsip_inv_send_msg(inv, tdata); } @@ -2310,7 +2329,7 @@ static void inv_on_state_confirmed( pjsip_inv_session *inv, pjsip_event *e) return; /* Send re-INVITE */ - status = pjsip_inv_send_msg( inv, tdata, NULL); + status = pjsip_inv_send_msg( inv, tdata); } else if (tsx->status_code==PJSIP_SC_CALL_TSX_DOES_NOT_EXIST || tsx->status_code==PJSIP_SC_REQUEST_TIMEOUT || diff --git a/pjsip/src/pjsua-lib/pjsua_call.c b/pjsip/src/pjsua-lib/pjsua_call.c index 25f6f8ae..ea847464 100644 --- a/pjsip/src/pjsua-lib/pjsua_call.c +++ b/pjsip/src/pjsua-lib/pjsua_call.c @@ -190,7 +190,7 @@ pj_status_t pjsua_make_call(int acc_index, /* Send initial INVITE: */ - status = pjsip_inv_send_msg(inv, tdata, NULL); + status = pjsip_inv_send_msg(inv, tdata); if (status != PJ_SUCCESS) { pjsua_perror(THIS_FILE, "Unable to send initial INVITE request", status); @@ -374,7 +374,7 @@ pj_bool_t pjsua_call_on_incoming(pjsip_rx_data *rdata) return PJ_TRUE; } else { - status = pjsip_inv_send_msg(inv, response, NULL); + status = pjsip_inv_send_msg(inv, response); if (status != PJ_SUCCESS) pjsua_perror(THIS_FILE, "Unable to send 100 response", status); } @@ -836,7 +836,7 @@ static void call_disconnect(pjsip_inv_session *inv, status = pjsip_inv_end_session(inv, st_code, NULL, &tdata); if (status == PJ_SUCCESS) - status = pjsip_inv_send_msg(inv, tdata, NULL); + status = pjsip_inv_send_msg(inv, tdata); if (status != PJ_SUCCESS) { pjsua_perror(THIS_FILE, "Unable to disconnect call", status); @@ -870,7 +870,7 @@ static void pjsua_call_on_media_update(pjsip_inv_session *inv, if (inv->state != PJSIP_INV_STATE_NULL && inv->state != PJSIP_INV_STATE_CONFIRMED) { - call_disconnect(inv, PJSIP_SC_UNSUPPORTED_MEDIA_TYPE); + //call_disconnect(inv, PJSIP_SC_UNSUPPORTED_MEDIA_TYPE); } return; @@ -891,7 +891,7 @@ static void pjsua_call_on_media_update(pjsip_inv_session *inv, pjsua_perror(THIS_FILE, "Unable to retrieve currently active local SDP", status); - call_disconnect(inv, PJSIP_SC_UNSUPPORTED_MEDIA_TYPE); + //call_disconnect(inv, PJSIP_SC_UNSUPPORTED_MEDIA_TYPE); return; } @@ -901,7 +901,7 @@ static void pjsua_call_on_media_update(pjsip_inv_session *inv, pjsua_perror(THIS_FILE, "Unable to retrieve currently active remote SDP", status); - call_disconnect(inv, PJSIP_SC_UNSUPPORTED_MEDIA_TYPE); + //call_disconnect(inv, PJSIP_SC_UNSUPPORTED_MEDIA_TYPE); return; } @@ -919,7 +919,7 @@ static void pjsua_call_on_media_update(pjsip_inv_session *inv, if (status != PJ_SUCCESS) { pjsua_perror(THIS_FILE, "Unable to create media session", status); - call_disconnect(inv, PJSIP_SC_UNSUPPORTED_MEDIA_TYPE); + //call_disconnect(inv, PJSIP_SC_UNSUPPORTED_MEDIA_TYPE); return; } @@ -949,7 +949,7 @@ static void pjsua_call_on_media_update(pjsip_inv_session *inv, status); pjmedia_session_destroy(call->session); call->session = NULL; - call_disconnect(inv, PJSIP_SC_INTERNAL_SERVER_ERROR); + //call_disconnect(inv, PJSIP_SC_INTERNAL_SERVER_ERROR); return; } @@ -1079,7 +1079,7 @@ void pjsua_call_hangup(int call_index) if (tdata == NULL) return; - status = pjsip_inv_send_msg(call->inv, tdata, NULL); + status = pjsip_inv_send_msg(call->inv, tdata); if (status != PJ_SUCCESS) { pjsua_perror(THIS_FILE, "Failed to send end session message", @@ -1122,7 +1122,7 @@ void pjsua_call_set_hold(int call_index) return; } - status = pjsip_inv_send_msg( call->inv, tdata, NULL); + status = pjsip_inv_send_msg( call->inv, tdata); if (status != PJ_SUCCESS) { pjsua_perror(THIS_FILE, "Unable to send re-INVITE", status); return; @@ -1169,7 +1169,7 @@ void pjsua_call_reinvite(int call_index) return; } - status = pjsip_inv_send_msg( call->inv, tdata, NULL); + status = pjsip_inv_send_msg( call->inv, tdata); if (status != PJ_SUCCESS) { pjsua_perror(THIS_FILE, "Unable to send re-INVITE", status); return; @@ -1352,7 +1352,7 @@ void pjsua_call_hangup_all(void) if (pjsip_inv_end_session(call->inv, st_code, NULL, &tdata)==0) { if (tdata) - pjsip_inv_send_msg(call->inv, tdata, NULL); + pjsip_inv_send_msg(call->inv, tdata); } } } @@ -1373,7 +1373,7 @@ pj_status_t pjsua_call_init(void) /* Initialize invite session module: */ - status = pjsip_inv_usage_init(pjsua.endpt, &pjsua.mod, &inv_cb); + status = pjsip_inv_usage_init(pjsua.endpt, &inv_cb); return status; } |