sense att xfer in valet

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@15126 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
Anthony Minessale 2009-10-09 02:09:49 +00:00
parent 1cbd982a37
commit 421a609066
2 changed files with 15 additions and 3 deletions

View File

@ -97,6 +97,7 @@ SWITCH_STANDARD_APP(valet_parking_function)
switch_status_t status;
switch_input_args_t args = { 0 };
char dbuf[10];
char *dest;
lot = valet_find_lot(lot_name);
switch_assert(lot);
@ -153,6 +154,11 @@ SWITCH_STANDARD_APP(valet_parking_function)
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");
}

View File

@ -4374,6 +4374,7 @@ void sofia_handle_sip_i_refer(nua_t *nua, sofia_profile_t *profile, nua_handle_t
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)) {
@ -4384,7 +4385,12 @@ void sofia_handle_sip_i_refer(nua_t *nua, sofia_profile_t *profile, nua_handle_t
switch_channel_set_variable(t_channel, SOFIA_REFER_TO_VARIABLE, full_ref_to);
}
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"),