openzap: custom data
This commit is contained in:
parent
8bdd2f2dc2
commit
5d4db94d27
|
@ -1244,6 +1244,11 @@ static switch_call_cause_t channel_outgoing_channel(switch_core_session_t *sessi
|
|||
caller_data.ani.type = outbound_profile->destination_number_ton;
|
||||
}
|
||||
|
||||
if ((var = switch_event_get_header(var_event, "openzap_custom_call_data")) || (var = switch_core_get_variable("openzap_custom_call_data"))) {
|
||||
zap_set_string((char *)caller_data.raw_data, var);
|
||||
caller_data.raw_data_len = strlen(var);
|
||||
}
|
||||
|
||||
caller_data.ani.plan = outbound_profile->destination_number_numplan;
|
||||
|
||||
/* blindly copy data from outbound_profile. They will be overwritten
|
||||
|
@ -1438,6 +1443,9 @@ zap_status_t zap_channel_from_event(zap_sigmsg_t *sigmsg, switch_core_session_t
|
|||
switch_channel_set_variable(channel, "openzap_span_name", sigmsg->channel->span->name);
|
||||
switch_channel_set_variable_printf(channel, "openzap_span_number", "%d", sigmsg->channel->span_id);
|
||||
switch_channel_set_variable_printf(channel, "openzap_chan_number", "%d", sigmsg->channel->chan_id);
|
||||
if (sigmsg->channel->caller_profile.raw_data_len) {
|
||||
switch_channel_set_variable_printf(channel, "openzap_custom_call_data", "%s", sigmsg->channel->caller_profile.raw_data);
|
||||
}
|
||||
|
||||
switch_channel_set_state(channel, CS_INIT);
|
||||
if (switch_core_session_thread_launch(session) != SWITCH_STATUS_SUCCESS) {
|
||||
|
|
|
@ -338,6 +338,11 @@ static ZIO_CHANNEL_REQUEST_FUNCTION(sangoma_boost_channel_request)
|
|||
event.called.ton = caller_data->ani.type;
|
||||
event.called.npi = caller_data->ani.plan;
|
||||
|
||||
if (caller_data->raw_data_len) {
|
||||
zap_set_string((char *)event.isup_in_rdnis, (char *)caller_data->raw_data);
|
||||
event.isup_in_rdnis_size = caller_data->raw_data_len;
|
||||
}
|
||||
|
||||
OUTBOUND_REQUESTS[r].status = BST_WAITING;
|
||||
OUTBOUND_REQUESTS[r].span = span;
|
||||
|
||||
|
@ -826,6 +831,10 @@ static void handle_call_start(zap_span_t *span, sangomabc_connection_t *mcon, sa
|
|||
zap_set_string(zchan->caller_data.ani.digits, (char *)event->calling.digits);
|
||||
zap_set_string(zchan->caller_data.dnis.digits, (char *)event->called.digits);
|
||||
zap_set_string(zchan->caller_data.rdnis.digits, (char *)event->rdnis.digits);
|
||||
if (event->isup_in_rdnis_size) {
|
||||
zap_set_string((char *)zchan->caller_data.raw_data, (char *)event->isup_in_rdnis);
|
||||
zchan->caller_data.raw_data_len = event->isup_in_rdnis_size;
|
||||
}
|
||||
|
||||
if (strlen(event->calling_name)) {
|
||||
zap_set_string(zchan->caller_data.cid_name, (char *)event->calling_name);
|
||||
|
|
Loading…
Reference in New Issue