switch_status_t status;
switch_input_args_t args = { 0 };
char dbuf[10];
+ char *dest;
lot = valet_find_lot(lot_name);
switch_assert(lot);
switch_mutex_unlock(lot->mutex);
return;
}
-
+
+
+ dest = switch_core_session_sprintf(session, "valet_park:%s %s", lot_name, ext);
+ switch_channel_set_variable(channel, "inline_destination", dest);
+
+
if (!(tmp = switch_channel_get_variable(channel, "valet_hold_music"))) {
tmp = switch_channel_get_variable(channel, "hold_music");
}
if (t_session) {
switch_channel_t *t_channel = switch_core_session_get_channel(t_session);
+ const char *idest = switch_channel_get_variable(hup_channel, "inline_destination");
ext = switch_channel_get_variable(hup_channel, "destination_number");
if (!switch_strlen_zero(full_ref_by)) {
if (!switch_strlen_zero(full_ref_to)) {
switch_channel_set_variable(t_channel, SOFIA_REFER_TO_VARIABLE, full_ref_to);
}
-
- switch_ivr_session_transfer(t_session, ext, NULL, NULL);
+
+ if (idest) {
+ switch_ivr_session_transfer(t_session, idest, "inline", NULL);
+ } else {
+ switch_ivr_session_transfer(t_session, ext, NULL, NULL);
+ }
+
nua_notify(tech_pvt->nh,
NUTAG_NEWSUB(1),
SIPTAG_CONTENT_TYPE_STR("message/sipfrag"),