Merge branch 'master' into smgmaster
This commit is contained in:
commit
2c45b52f8c
|
@ -16,7 +16,7 @@
|
|||
<match>
|
||||
<action function="play-file" data="directory/dir-to_search_by.wav"/>
|
||||
<action function="play-file" data="directory/dir-first_name.wav"/>
|
||||
<action function="play-file" data="directory/dir-press.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="say" data="$2" method="pronounced" type="name_spelled"/>
|
||||
</match>
|
||||
</input>
|
||||
|
@ -24,7 +24,7 @@
|
|||
<match>
|
||||
<action function="play-file" data="directory/dir-to_search_by.wav"/>
|
||||
<action function="play-file" data="directory/dir-last_name.wav"/>
|
||||
<action function="play-file" data="directory/dir-press.wav"/>
|
||||
<action function="play-file" data="voicemail/vm-press.wav"/>
|
||||
<action function="say" data="$2" method="pronounced" type="name_spelled"/>
|
||||
</match>
|
||||
</input>
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
Last Updated: Jan 19, 2011
|
||||
|
||||
== BACKGROUND ==
|
||||
|
||||
The IO module provides an abstracted IO interface to FreeTDM.
|
||||
|
||||
== SHUTDOWN ==
|
||||
Upon global shutdown, for each channel FIO_CLOSE_FUNCTION will be called.
|
||||
When FIO_CLOSE_FUNCTION is called, all waiters on this channel shall be signalled.
|
||||
If FIO_WAIT_FUNCTION is called on a function that has already been closed, this function shall return FTDM_TIMEOUT without blocking.
|
||||
FIO_CHANNEL_DESTROY will eventually be called, and IO module is responsible for clearing all internal states and free allocated memory upon channel destroy.
|
||||
|
||||
|
|
@ -394,8 +394,7 @@ static void *ftdm_sangoma_isdn_dchan_run(ftdm_thread_t *me, void *obj)
|
|||
default:
|
||||
ftdm_log_chan_msg(dchan, FTDM_LOG_CRIT, "Unhandled IO event\n");
|
||||
}
|
||||
}
|
||||
ftdm_channel_close(&dchan);
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
|
|
@ -239,7 +239,11 @@ static unsigned wp_open_range(ftdm_span_t *span, unsigned spanno, unsigned start
|
|||
ftdm_log(FTDM_LOG_ERROR, "span %d channel %d cannot be configured as smg_prid_nfas, you need to compile freetdm with newer libsangoma\n", spanno, x);
|
||||
#endif
|
||||
} else {
|
||||
#ifdef LIBSANGOMA_VERSION
|
||||
sockfd = __tdmv_api_open_span_chan(spanno, x);
|
||||
#else
|
||||
sockfd = tdmv_api_open_span_chan(spanno, x);
|
||||
#endif
|
||||
}
|
||||
|
||||
if (sockfd == FTDM_INVALID_SOCKET) {
|
||||
|
|
|
@ -430,7 +430,7 @@ typedef enum {
|
|||
} ftdm_signal_event_t;
|
||||
#define SIGNAL_STRINGS "START", "STOP", "RELEASED", "UP", "FLASH", "PROCEED", "RINGING", "PROGRESS", \
|
||||
"PROGRESS_MEDIA", "ALARM_TRAP", "ALARM_CLEAR", \
|
||||
"COLLECTED_DIGIT", "ADD_CALL", "RESTART", "SIGSTATUS_CHANGED", "COLLISION", "FACILITY", \
|
||||
"COLLECTED_DIGIT", "ADD_CALL", "RESTART", "SIGSTATUS_CHANGED", "FACILITY", \
|
||||
"TRACE", "TRACE_RAW", "INDICATION_COMPLETED", "DIALING", "INVALID"
|
||||
/*! \brief Move from string to ftdm_signal_event_t and viceversa */
|
||||
FTDM_STR2ENUM_P(ftdm_str2ftdm_signal_event, ftdm_signal_event2str, ftdm_signal_event_t)
|
||||
|
|
|
@ -132,8 +132,8 @@ extern "C" {
|
|||
|
||||
|
||||
#define ftdm_channel_test_feature(obj, flag) ((obj)->features & flag)
|
||||
#define ftdm_channel_set_feature(obj, flag) (obj)->features |= (flag)
|
||||
#define ftdm_channel_clear_feature(obj, flag) (obj)->features &= ~(flag)
|
||||
#define ftdm_channel_set_feature(obj, flag) (obj)->features = (ftdm_channel_feature_t)((obj)->features | flag)
|
||||
#define ftdm_channel_clear_feature(obj, flag) (obj)->features = (ftdm_channel_feature_t)((obj)->features & ( ~(flag) ))
|
||||
#define ftdm_channel_set_member_locked(obj, _m, _v) ftdm_mutex_lock(obj->mutex); obj->_m = _v; ftdm_mutex_unlock(obj->mutex)
|
||||
|
||||
/*!
|
||||
|
|
|
@ -1139,7 +1139,13 @@ uint8_t sofia_reg_handle_register(nua_t *nua, sofia_profile_t *profile, nua_hand
|
|||
switch_url_encode(my_contact_str, path_encoded + 20, path_encoded_len - 20);
|
||||
reg_desc = "Registered(AUTO-NAT-2.0)";
|
||||
exptime = 30;
|
||||
switch_snprintf(contact_str + strlen(contact_str), sizeof(contact_str) - strlen(contact_str), "%s", path_encoded);
|
||||
|
||||
/* place fs_path (the encoded path) inside the <...> of the contact string, if possible */
|
||||
if (contact_str[strlen(contact_str) - 1] == '>') {
|
||||
switch_snprintf(contact_str + strlen(contact_str) - 1, sizeof(contact_str) - strlen(contact_str) + 1, "%s>", path_encoded);
|
||||
} else {
|
||||
switch_snprintf(contact_str + strlen(contact_str), sizeof(contact_str) - strlen(contact_str), "%s", path_encoded);
|
||||
}
|
||||
free(path_encoded);
|
||||
} else {
|
||||
if (*received_data && sofia_test_pflag(profile, PFLAG_RECIEVED_IN_NAT_REG_CONTACT)) {
|
||||
|
|
|
@ -340,7 +340,7 @@ static switch_status_t my_on_reporting(switch_core_session_t *session)
|
|||
switch_yield(globals.delay * 1000000);
|
||||
}
|
||||
|
||||
destUrl = switch_mprintf("%s?uuid=%s", globals.urls[globals.url_index], switch_core_session_get_uuid(session));
|
||||
destUrl = switch_mprintf("%s?uuid=%s%s", globals.urls[globals.url_index], a_prefix, switch_core_session_get_uuid(session));
|
||||
curl_easy_setopt(curl_handle, CURLOPT_URL, destUrl);
|
||||
|
||||
if (!strncasecmp(destUrl, "https", 5)) {
|
||||
|
|
Loading…
Reference in New Issue