camp_data = (char *) data;
}
- if (!(moh = switch_channel_get_variable(caller_channel, SWITCH_HOLD_MUSIC_VARIABLE))) {
+ if (!(moh = switch_channel_get_hold_music(caller_channel))) {
moh = switch_channel_get_variable(caller_channel, "campon_hold_music");
}
const char *moh_a = NULL, *moh_b = NULL;
if (!(moh_b = switch_channel_get_variable(bchan, "fifo_music"))) {
- moh_b = switch_channel_get_variable(bchan, SWITCH_HOLD_MUSIC_VARIABLE);
+ moh_b = switch_channel_get_hold_music(bchan);
}
if (!(moh_a = switch_channel_get_variable(channel, "fifo_hold_music"))) {
if (!(moh_a = switch_channel_get_variable(channel, "fifo_music"))) {
- moh_a = switch_channel_get_variable(channel, SWITCH_HOLD_MUSIC_VARIABLE);
+ moh_a = switch_channel_get_hold_music(channel);
}
}
static switch_status_t spy_on_park(switch_core_session_t *session)
{
switch_channel_t *channel = switch_core_session_get_channel(session);
- const char *moh = switch_channel_get_variable(channel, SWITCH_HOLD_MUSIC_VARIABLE);
+ const char *moh = switch_channel_get_hold_music(channel);
while (switch_channel_ready(channel) && switch_channel_get_state(channel) == CS_PARK) {
if (moh) {
}
if (!(tmp = switch_channel_get_variable(channel, "valet_hold_music"))) {
- tmp = switch_channel_get_variable(channel, SWITCH_HOLD_MUSIC_VARIABLE);
+ tmp = switch_channel_get_hold_music(channel);
}
if (tmp)
music = tmp;
callFXS()->_uuid_other_session = getUUID(peer_session);
const char *stream = NULL;
- if (!(stream = switch_channel_get_variable(peer_channel, SWITCH_HOLD_MUSIC_VARIABLE)))
+ if (!(stream = switch_channel_get_hold_music(peer_channel)))
{
stream = "silence";
}
switch_core_event_hook_add_state_change(a_session, xfer_hanguphook);
switch_channel_set_variable(a_channel, "att_xfer_kill_uuid", switch_core_session_get_uuid(b_session));
- if ((tmp = switch_channel_get_variable(a_channel, SWITCH_HOLD_MUSIC_VARIABLE))) {
+ if ((tmp = switch_channel_get_hold_music(a_channel))) {
moh = tmp;
}
switch_rtp_set_max_missed_packets(tech_pvt->rtp_session, tech_pvt->max_missed_hold_packets);
}
- if (!(stream = switch_channel_get_variable(tech_pvt->channel, SWITCH_HOLD_MUSIC_VARIABLE))) {
+ if (!(stream = switch_channel_get_hold_music(tech_pvt->channel))) {
stream = tech_pvt->profile->hold_music;
}
SWITCH_DECLARE(const char *) switch_channel_get_hold_music(switch_channel_t *channel)
{
- const char *var = switch_channel_get_variable(channel, SWITCH_TEMP_HOLD_MUSIC_VARIABLE);
+ const char *var;
- if (!var) {
+ if (!(var = switch_channel_get_variable(channel, SWITCH_TEMP_HOLD_MUSIC_VARIABLE))) {
var = switch_channel_get_variable(channel, SWITCH_HOLD_MUSIC_VARIABLE);
}
const char *stream;
b_uuid = switch_core_session_strdup(session, b_uuid);
- if (!(stream = switch_channel_get_variable_partner(channel, SWITCH_HOLD_MUSIC_VARIABLE))) {
- stream = switch_channel_get_variable(channel, SWITCH_HOLD_MUSIC_VARIABLE);
+ if (!(stream = switch_channel_get_hold_music_partner(channel))) {
+ stream = switch_channel_get_hold_music(channel);
}
if (stream && switch_is_moh(stream)) {
switch_core_session_receive_message(session, &msg);
- if (moh && (stream = switch_channel_get_variable(channel, SWITCH_HOLD_MUSIC_VARIABLE))) {
+ if (moh && (stream = switch_channel_get_hold_music(channel))) {
if ((other_uuid = switch_channel_get_variable(channel, SWITCH_SIGNAL_BOND_VARIABLE))) {
switch_ivr_broadcast(other_uuid, stream, SMF_ECHO_ALEG | SMF_LOOP);
}
/* clear all state handlers */
switch_channel_clear_state_handler(channel, NULL);
+ /* reset temp hold music */
+ switch_channel_set_variable(channel, SWITCH_TEMP_HOLD_MUSIC_VARIABLE, NULL);
+
if ((profile = switch_channel_get_caller_profile(channel))) {
const char *var;
}
if (md->sr[direction].meta_on) {
- if (dtmf->digit >= '0' && dtmf->digit <= '9') {
+ if (is_dtmf(dtmf->digit)) {
int ok = 0;
*digit = dtmf->digit;
- dval = atoi(digit);
-
+ dval = switch_dtmftoi(digit);
+
if (direction == SWITCH_DTMF_RECV && (md->sr[direction].map[dval].bind_flags & SBF_DIAL_ALEG)) {
ok = 1;
} else if (direction == SWITCH_DTMF_SEND && (md->sr[direction].map[dval].bind_flags & SBF_DIAL_BLEG)) {
if (moh_b) {
moh = moh_b;
} else {
- moh = switch_channel_get_variable(other_channel, SWITCH_HOLD_MUSIC_VARIABLE);
+ moh = switch_channel_get_hold_music(other_channel);
}
if (!zstr(moh) && strcasecmp(moh, "silence") && !switch_channel_test_flag(other_channel, CF_BROADCAST)) {
if (moh_a) {
moh = moh_a;
} else {
- moh = switch_channel_get_variable(channel, SWITCH_HOLD_MUSIC_VARIABLE);
+ moh = switch_channel_get_hold_music(channel);
}
if (!zstr(moh) && strcasecmp(moh, "silence")) {