mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-04-28 13:14:23 +00:00
skypopen: fixing bug from Anton VG, adding some guards against NULL sessions and channels
This commit is contained in:
parent
3ad0d5d624
commit
7fa3f7f3dd
@ -938,6 +938,8 @@ static switch_status_t channel_read_frame(switch_core_session_t *session, switch
|
||||
char *p = digit_str;
|
||||
switch_channel_t *channel = switch_core_session_get_channel(session);
|
||||
|
||||
if(channel){
|
||||
|
||||
while (p && *p) {
|
||||
switch_dtmf_t dtmf;
|
||||
dtmf.digit = *p;
|
||||
@ -948,6 +950,9 @@ static switch_status_t channel_read_frame(switch_core_session_t *session, switch
|
||||
NOTICA("DTMF DETECTED: [%s] new_dtmf_timestamp: %u, delta_t: %u\n", SKYPOPEN_P_LOG, digit_str, (unsigned int) new_dtmf_timestamp,
|
||||
(unsigned int) (new_dtmf_timestamp - tech_pvt->old_dtmf_timestamp));
|
||||
tech_pvt->old_dtmf_timestamp = new_dtmf_timestamp;
|
||||
}else{
|
||||
WARNINGA("NO CHANNEL ?\n", SKYPOPEN_P_LOG);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2138,6 +2143,7 @@ int dtmf_received(private_t *tech_pvt, char *value)
|
||||
switch_channel_t *channel = NULL;
|
||||
|
||||
session = switch_core_session_locate(tech_pvt->session_uuid_str);
|
||||
if (session) {
|
||||
channel = switch_core_session_get_channel(session);
|
||||
|
||||
if (channel) {
|
||||
@ -2165,6 +2171,9 @@ int dtmf_received(private_t *tech_pvt, char *value)
|
||||
WARNINGA("received %c DTMF, but no channel?\n", SKYPOPEN_P_LOG, value[0]);
|
||||
}
|
||||
switch_core_session_rwunlock(session);
|
||||
}else{
|
||||
WARNINGA("received %c DTMF, but no session?\n", SKYPOPEN_P_LOG, value[0]);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user