switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Delivery Failure\n");
DUMP_EVENT(event);
+ return;
+ } else if ( check_failure && switch_false(check_failure) ) {
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "SMS Delivery Success\n");
return;
}
switch_chat_interface_t *ci;
switch_status_t status = SWITCH_STATUS_FALSE;
switch_hash_index_t *hi;
+ switch_event_t *dup = NULL;
const void *var;
void *val;
const char *proto;
}
}
- if (status != SWITCH_STATUS_SUCCESS) {
- switch_event_t *dup;
- switch_event_dup(&dup, message_event);
- switch_event_add_header_string(dup, SWITCH_STACK_BOTTOM, "Delivery-Failure", "true");
- switch_event_fire(&dup);
- }
+ switch_event_dup(&dup, message_event);
+
+ if ( switch_true(switch_event_get_header(message_event, "blocking")) ) {
+ if (status == SWITCH_STATUS_SUCCESS) {
+ switch_event_add_header_string(dup, SWITCH_STACK_BOTTOM, "Delivery-Failure", "false");
+ } else {
+ switch_event_add_header_string(dup, SWITCH_STACK_BOTTOM, "Delivery-Failure", "true");
+ }
+ } else {
+ switch_event_add_header_string(dup, SWITCH_STACK_BOTTOM, "Nonblocking-Delivery", "true");
+ }
+ switch_event_fire(&dup);
return status;
}