update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3389 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
parent
89989bc34f
commit
251453e254
|
@ -167,7 +167,8 @@ typedef enum {
|
||||||
TFLAG_XFER = (1 << 19),
|
TFLAG_XFER = (1 << 19),
|
||||||
TFLAG_NOMEDIA = (1 << 20),
|
TFLAG_NOMEDIA = (1 << 20),
|
||||||
TFLAG_BUGGY_2833 = (1 << 21),
|
TFLAG_BUGGY_2833 = (1 << 21),
|
||||||
TFLAG_SIP_HOLD = (1 << 22)
|
TFLAG_SIP_HOLD = (1 << 22),
|
||||||
|
TFLAG_RWLOCK = (1 << 23)
|
||||||
} TFLAGS;
|
} TFLAGS;
|
||||||
|
|
||||||
static struct {
|
static struct {
|
||||||
|
@ -2754,7 +2755,12 @@ static void sip_i_state(int status,
|
||||||
break;
|
break;
|
||||||
case nua_callstate_terminated:
|
case nua_callstate_terminated:
|
||||||
if (session) {
|
if (session) {
|
||||||
|
if (switch_test_flag(tech_pvt, TFLAG_RWLOCK)) {
|
||||||
|
switch_core_session_rwunlock(session);
|
||||||
|
switch_clear_flag(tech_pvt, TFLAG_RWLOCK);
|
||||||
|
}
|
||||||
if (!switch_test_flag(tech_pvt, TFLAG_BYE)) {
|
if (!switch_test_flag(tech_pvt, TFLAG_BYE)) {
|
||||||
|
|
||||||
switch_set_flag_locked(tech_pvt, TFLAG_BYE);
|
switch_set_flag_locked(tech_pvt, TFLAG_BYE);
|
||||||
if (switch_test_flag(tech_pvt, TFLAG_NOHUP)) {
|
if (switch_test_flag(tech_pvt, TFLAG_NOHUP)) {
|
||||||
switch_clear_flag_locked(tech_pvt, TFLAG_NOHUP);
|
switch_clear_flag_locked(tech_pvt, TFLAG_NOHUP);
|
||||||
|
@ -3977,7 +3983,8 @@ static void sip_i_invite(nua_t *nua,
|
||||||
}
|
}
|
||||||
|
|
||||||
attach_private(session, profile, tech_pvt, username);
|
attach_private(session, profile, tech_pvt, username);
|
||||||
|
switch_core_session_read_lock(session);
|
||||||
|
switch_set_flag(tech_pvt, TFLAG_RWLOCK);
|
||||||
channel = switch_core_session_get_channel(session);
|
channel = switch_core_session_get_channel(session);
|
||||||
switch_channel_set_variable(channel, "endpoint_disposition", "INBOUND CALL");
|
switch_channel_set_variable(channel, "endpoint_disposition", "INBOUND CALL");
|
||||||
set_chat_hash(tech_pvt, sip);
|
set_chat_hash(tech_pvt, sip);
|
||||||
|
|
|
@ -238,6 +238,8 @@ SWITCH_DECLARE(void) switch_log_printf(switch_text_channel_t channel, char *file
|
||||||
node->content = content;
|
node->content = content;
|
||||||
node->timestamp = now;
|
node->timestamp = now;
|
||||||
switch_queue_push(LOG_QUEUE, node);
|
switch_queue_push(LOG_QUEUE, node);
|
||||||
|
} else {
|
||||||
|
free(data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue