mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-07-26 19:57:42 +00:00
gsmopen: indented
This commit is contained in:
parent
35d8aa44f8
commit
907254061d
@ -52,10 +52,6 @@
|
|||||||
#define ALARM_NETWORK_NO_SIGNAL 4
|
#define ALARM_NETWORK_NO_SIGNAL 4
|
||||||
#define ALARM_NETWORK_LOW_SIGNAL 5
|
#define ALARM_NETWORK_LOW_SIGNAL 5
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#undef GIOVA48
|
#undef GIOVA48
|
||||||
|
|
||||||
#ifndef GIOVA48
|
#ifndef GIOVA48
|
||||||
@ -64,7 +60,6 @@
|
|||||||
#define SAMPLES_PER_FRAME 960
|
#define SAMPLES_PER_FRAME 960
|
||||||
#endif // GIOVA48
|
#endif // GIOVA48
|
||||||
|
|
||||||
|
|
||||||
#ifndef GIOVA48
|
#ifndef GIOVA48
|
||||||
#define GSMOPEN_FRAME_SIZE 160
|
#define GSMOPEN_FRAME_SIZE 160
|
||||||
#else //GIOVA48
|
#else //GIOVA48
|
||||||
@ -90,7 +85,6 @@
|
|||||||
#include <alsa/asoundlib.h>
|
#include <alsa/asoundlib.h>
|
||||||
#endif /* GSMOPEN_ALSA */
|
#endif /* GSMOPEN_ALSA */
|
||||||
|
|
||||||
|
|
||||||
//#include "celliax_spandsp.h"
|
//#include "celliax_spandsp.h"
|
||||||
#ifndef WIN32
|
#ifndef WIN32
|
||||||
#include <sys/time.h>
|
#include <sys/time.h>
|
||||||
@ -342,7 +336,6 @@ struct private_object {
|
|||||||
unsigned long ib_failed_calls;
|
unsigned long ib_failed_calls;
|
||||||
unsigned long ob_failed_calls;
|
unsigned long ob_failed_calls;
|
||||||
|
|
||||||
|
|
||||||
char controldevice_name[50]; /*!< \brief name of the serial device controlling the interface, possibly none */
|
char controldevice_name[50]; /*!< \brief name of the serial device controlling the interface, possibly none */
|
||||||
int controldevprotocol; /*!< \brief which protocol is used for serial control of this interface */
|
int controldevprotocol; /*!< \brief which protocol is used for serial control of this interface */
|
||||||
char controldevprotocolname[50]; /*!< \brief name of the serial device controlling protocol, one of "at" "fbus2" "no_serial" "alsa_voicemodem" */
|
char controldevprotocolname[50]; /*!< \brief name of the serial device controlling protocol, one of "at" "fbus2" "no_serial" "alsa_voicemodem" */
|
||||||
@ -429,7 +422,6 @@ struct private_object {
|
|||||||
time_t gsmopen_serial_synced_timestamp;
|
time_t gsmopen_serial_synced_timestamp;
|
||||||
struct s_result line_array;
|
struct s_result line_array;
|
||||||
|
|
||||||
|
|
||||||
int unread_sms_msg_id;
|
int unread_sms_msg_id;
|
||||||
int reading_sms_msg;
|
int reading_sms_msg;
|
||||||
char sms_message[4800];
|
char sms_message[4800];
|
||||||
@ -443,7 +435,6 @@ struct private_object {
|
|||||||
int sms_pdu_not_supported;
|
int sms_pdu_not_supported;
|
||||||
//char sms_receiving_program[256];
|
//char sms_receiving_program[256];
|
||||||
|
|
||||||
|
|
||||||
struct timeval call_incoming_time;
|
struct timeval call_incoming_time;
|
||||||
switch_mutex_t *controldev_lock;
|
switch_mutex_t *controldev_lock;
|
||||||
|
|
||||||
@ -552,10 +543,6 @@ int gsmopen_transfer(private_t * tech_pvt, char *id, char *value);
|
|||||||
#endif //0
|
#endif //0
|
||||||
int gsmopen_socket_create_and_bind(private_t *tech_pvt, int *which_port);
|
int gsmopen_socket_create_and_bind(private_t *tech_pvt, int *which_port);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void *gsmopen_do_controldev_thread(void *data);
|
void *gsmopen_do_controldev_thread(void *data);
|
||||||
//#ifdef WIN32
|
//#ifdef WIN32
|
||||||
int gsmopen_serial_init(private_t *tech_pvt, int controldevice_speed);
|
int gsmopen_serial_init(private_t *tech_pvt, int controldevice_speed);
|
||||||
@ -630,7 +617,6 @@ int alsa_read(private_t * tech_pvt, short *data, int datalen);
|
|||||||
|
|
||||||
#endif /* GSMOPEN_ALSA */
|
#endif /* GSMOPEN_ALSA */
|
||||||
|
|
||||||
|
|
||||||
void gsmopen_store_boost(char *s, double *boost);
|
void gsmopen_store_boost(char *s, double *boost);
|
||||||
int gsmopen_sound_boost(void *data, int samples_num, double boost);
|
int gsmopen_sound_boost(void *data, int samples_num, double boost);
|
||||||
int sms_incoming(private_t *tech_pvt);
|
int sms_incoming(private_t *tech_pvt);
|
||||||
@ -639,13 +625,10 @@ int gsmopen_ring(private_t * tech_pvt);
|
|||||||
int iso_8859_1_to_utf8(private_t *tech_pvt, char *iso_8859_1_in, char *utf8_out, size_t outbytesleft);
|
int iso_8859_1_to_utf8(private_t *tech_pvt, char *iso_8859_1_in, char *utf8_out, size_t outbytesleft);
|
||||||
int gsmopen_serial_getstatus_AT(private_t *tech_pvt);
|
int gsmopen_serial_getstatus_AT(private_t *tech_pvt);
|
||||||
|
|
||||||
|
|
||||||
int dump_event(private_t *tech_pvt);
|
int dump_event(private_t *tech_pvt);
|
||||||
int alarm_event(private_t *tech_pvt, int alarm_code, const char *alarm_message);
|
int alarm_event(private_t *tech_pvt, int alarm_code, const char *alarm_message);
|
||||||
int dump_event_full(private_t *tech_pvt, int is_alarm, int alarm_code, const char *alarm_message);
|
int dump_event_full(private_t *tech_pvt, int is_alarm, int alarm_code, const char *alarm_message);
|
||||||
|
|
||||||
|
|
||||||
int gsmopen_serial_init_audio_port(private_t *tech_pvt, int controldevice_audio_speed);
|
int gsmopen_serial_init_audio_port(private_t *tech_pvt, int controldevice_audio_speed);
|
||||||
int serial_audio_init(private_t *tech_pvt);
|
int serial_audio_init(private_t *tech_pvt);
|
||||||
int serial_audio_shutdown(private_t *tech_pvt);
|
int serial_audio_shutdown(private_t *tech_pvt);
|
||||||
|
|
||||||
|
@ -151,7 +151,6 @@ int gsmopen_serial_init(private_t * tech_pvt, int controldevice_speed)
|
|||||||
#endif // NOTDEF
|
#endif // NOTDEF
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int gsmopen_serial_read(private_t *tech_pvt)
|
int gsmopen_serial_read(private_t *tech_pvt)
|
||||||
{
|
{
|
||||||
if (tech_pvt->controldevprotocol == PROTOCOL_AT)
|
if (tech_pvt->controldevprotocol == PROTOCOL_AT)
|
||||||
@ -167,7 +166,6 @@ int gsmopen_serial_read(private_t * tech_pvt)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int gsmopen_serial_sync(private_t *tech_pvt)
|
int gsmopen_serial_sync(private_t *tech_pvt)
|
||||||
{
|
{
|
||||||
if (tech_pvt->controldevprotocol == PROTOCOL_AT)
|
if (tech_pvt->controldevprotocol == PROTOCOL_AT)
|
||||||
@ -286,8 +284,6 @@ int gsmopen_serial_config_AT(private_t * tech_pvt)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* for motorola, bring it back to "normal" mode if it happens to be in another mode */
|
/* for motorola, bring it back to "normal" mode if it happens to be in another mode */
|
||||||
res = gsmopen_serial_write_AT_ack(tech_pvt, "AT+mode=0");
|
res = gsmopen_serial_write_AT_ack(tech_pvt, "AT+mode=0");
|
||||||
if (res) {
|
if (res) {
|
||||||
@ -549,13 +545,13 @@ int gsmopen_serial_config_AT(private_t * tech_pvt)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int gsmopen_serial_sync_AT(private_t *tech_pvt)
|
int gsmopen_serial_sync_AT(private_t *tech_pvt)
|
||||||
{
|
{
|
||||||
gsmopen_sleep(10000); /* 10msec */
|
gsmopen_sleep(10000); /* 10msec */
|
||||||
time(&tech_pvt->gsmopen_serial_synced_timestamp);
|
time(&tech_pvt->gsmopen_serial_synced_timestamp);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int gsmopen_serial_read_AT(private_t *tech_pvt, int look_for_ack, int timeout_usec, int timeout_sec, const char *expected_string, int expect_crlf)
|
int gsmopen_serial_read_AT(private_t *tech_pvt, int look_for_ack, int timeout_usec, int timeout_sec, const char *expected_string, int expect_crlf)
|
||||||
{
|
{
|
||||||
int select_err = 1;
|
int select_err = 1;
|
||||||
@ -581,7 +577,6 @@ if(timeout1 != 100)
|
|||||||
if (!running || !tech_pvt->running) {
|
if (!running || !tech_pvt->running) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
////FD_ZERO(&read_fds);
|
////FD_ZERO(&read_fds);
|
||||||
//FD_SET(tech_pvt->controldevfd, &read_fds);
|
//FD_SET(tech_pvt->controldevfd, &read_fds);
|
||||||
|
|
||||||
@ -595,7 +590,10 @@ if(timeout1 != 100)
|
|||||||
LOKKA(tech_pvt->controldev_lock);
|
LOKKA(tech_pvt->controldev_lock);
|
||||||
|
|
||||||
//while ((!tech_pvt->controldev_dead) && ((select_err = select(tech_pvt->controldevfd + 1, &read_fds, NULL, NULL, &timeout)) > 0)) {
|
//while ((!tech_pvt->controldev_dead) && ((select_err = select(tech_pvt->controldevfd + 1, &read_fds, NULL, NULL, &timeout)) > 0)) {
|
||||||
while ( (!tech_pvt->controldev_dead) && (read_count = tech_pvt->serialPort_serial_control->Readv(tmp_answer_ptr, AT_BUFSIZ - (tmp_answer_ptr - tmp_answer), (timeout_sec * 1000) + (timeout_usec ? (timeout_usec / 1000) : 0 ) ) > 0) ) {
|
while ((!tech_pvt->controldev_dead)
|
||||||
|
&& (read_count =
|
||||||
|
tech_pvt->serialPort_serial_control->Readv(tmp_answer_ptr, AT_BUFSIZ - (tmp_answer_ptr - tmp_answer),
|
||||||
|
(timeout_sec * 1000) + (timeout_usec ? (timeout_usec / 1000) : 0)) > 0)) {
|
||||||
char *token_ptr;
|
char *token_ptr;
|
||||||
timeout.tv_sec = timeout_sec; //reset the timeout, linux modify it
|
timeout.tv_sec = timeout_sec; //reset the timeout, linux modify it
|
||||||
timeout.tv_usec = timeout_usec; //reset the timeout, linux modify it
|
timeout.tv_usec = timeout_usec; //reset the timeout, linux modify it
|
||||||
@ -629,7 +627,6 @@ if(timeout1 != 100)
|
|||||||
}
|
}
|
||||||
tmp_answer_ptr = tmp_answer_ptr + read_count;
|
tmp_answer_ptr = tmp_answer_ptr + read_count;
|
||||||
|
|
||||||
|
|
||||||
la_counter = 0;
|
la_counter = 0;
|
||||||
memset(tmp_answer2, 0, sizeof(char) * AT_BUFSIZ);
|
memset(tmp_answer2, 0, sizeof(char) * AT_BUFSIZ);
|
||||||
strcpy(tmp_answer2, tmp_answer);
|
strcpy(tmp_answer2, tmp_answer);
|
||||||
@ -755,7 +752,6 @@ if(timeout1 != 100)
|
|||||||
memset(tech_pvt->callid_name, 0, sizeof(tech_pvt->callid_name));
|
memset(tech_pvt->callid_name, 0, sizeof(tech_pvt->callid_name));
|
||||||
memset(tech_pvt->callid_number, 0, sizeof(tech_pvt->callid_number));
|
memset(tech_pvt->callid_number, 0, sizeof(tech_pvt->callid_number));
|
||||||
|
|
||||||
|
|
||||||
for (a = 7; a < strlen(tech_pvt->line_array.result[i]); a++) {
|
for (a = 7; a < strlen(tech_pvt->line_array.result[i]); a++) {
|
||||||
if (tech_pvt->line_array.result[i][a] == ',') {
|
if (tech_pvt->line_array.result[i][a] == ',') {
|
||||||
commacount++;
|
commacount++;
|
||||||
@ -949,7 +945,8 @@ if(timeout1 != 100)
|
|||||||
tech_pvt->not_registered = 1;
|
tech_pvt->not_registered = 1;
|
||||||
tech_pvt->home_network_registered = 0;
|
tech_pvt->home_network_registered = 0;
|
||||||
tech_pvt->roaming_registered = 0;
|
tech_pvt->roaming_registered = 0;
|
||||||
alarm_event(tech_pvt, ALARM_NO_NETWORK_REGISTRATION, "CELLPHONE is not registered to network, consider to move it or additional antenna");
|
alarm_event(tech_pvt, ALARM_NO_NETWORK_REGISTRATION,
|
||||||
|
"CELLPHONE is not registered to network, consider to move it or additional antenna");
|
||||||
} else if (stat == 1) {
|
} else if (stat == 1) {
|
||||||
DEBUGA_GSMOPEN("|%s| CELLPHONE is registered to the HOME network\n", GSMOPEN_P_LOG, tech_pvt->line_array.result[i]);
|
DEBUGA_GSMOPEN("|%s| CELLPHONE is registered to the HOME network\n", GSMOPEN_P_LOG, tech_pvt->line_array.result[i]);
|
||||||
tech_pvt->not_registered = 0;
|
tech_pvt->not_registered = 0;
|
||||||
@ -1048,16 +1045,6 @@ if(timeout1 != 100)
|
|||||||
ERRORA("Why NO CARRIER now?\n", GSMOPEN_P_LOG);
|
ERRORA("Why NO CARRIER now?\n", GSMOPEN_P_LOG);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((strcmp(tech_pvt->line_array.result[i], tech_pvt->at_call_incoming) == 0)) {
|
if ((strcmp(tech_pvt->line_array.result[i], tech_pvt->at_call_incoming) == 0)) {
|
||||||
@ -1277,7 +1264,6 @@ if(timeout1 != 100)
|
|||||||
tech_pvt->reading_sms_msg++;
|
tech_pvt->reading_sms_msg++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if ((strcmp(tech_pvt->line_array.result[i], "+MCST: 17") == 0)) { /* motorola call processing unsolicited messages */
|
if ((strcmp(tech_pvt->line_array.result[i], "+MCST: 17") == 0)) { /* motorola call processing unsolicited messages */
|
||||||
tech_pvt->phone_callflow = CALLFLOW_CALL_INFLUX;
|
tech_pvt->phone_callflow = CALLFLOW_CALL_INFLUX;
|
||||||
if (option_debug > 1)
|
if (option_debug > 1)
|
||||||
@ -1614,7 +1600,6 @@ if(timeout1 != 100)
|
|||||||
|
|
||||||
memset(content, '\0', sizeof(content));
|
memset(content, '\0', sizeof(content));
|
||||||
|
|
||||||
|
|
||||||
for (c = 0; c < strlen(tech_pvt->line_array.result[i]); c++) {
|
for (c = 0; c < strlen(tech_pvt->line_array.result[i]); c++) {
|
||||||
if (tech_pvt->line_array.result[i][c] == ',' && tech_pvt->line_array.result[i][c - 1] != '\\' && inside_quote == 0) {
|
if (tech_pvt->line_array.result[i][c] == ',' && tech_pvt->line_array.result[i][c - 1] != '\\' && inside_quote == 0) {
|
||||||
if (inside_comma) {
|
if (inside_comma) {
|
||||||
@ -1693,7 +1678,6 @@ if(timeout1 != 100)
|
|||||||
|
|
||||||
//int howmanyleft;
|
//int howmanyleft;
|
||||||
|
|
||||||
|
|
||||||
DEBUGA_GSMOPEN("sms_message=%s\n", GSMOPEN_P_LOG, tech_pvt->sms_message);
|
DEBUGA_GSMOPEN("sms_message=%s\n", GSMOPEN_P_LOG, tech_pvt->sms_message);
|
||||||
ucs2_to_utf8(tech_pvt, tech_pvt->sms_message, content3, sizeof(content3));
|
ucs2_to_utf8(tech_pvt, tech_pvt->sms_message, content3, sizeof(content3));
|
||||||
DEBUGA_GSMOPEN("content3=%s\n", GSMOPEN_P_LOG, content3);
|
DEBUGA_GSMOPEN("content3=%s\n", GSMOPEN_P_LOG, content3);
|
||||||
@ -1962,7 +1946,6 @@ int gsmopen_serial_write_AT_ack(private_t * tech_pvt, const char *data)
|
|||||||
UNLOCKA(tech_pvt->controldev_lock);
|
UNLOCKA(tech_pvt->controldev_lock);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
//cicopet at_result = gsmopen_serial_read_AT(tech_pvt, 1, 500000, 2, NULL, 1); // 2.5 sec timeout
|
//cicopet at_result = gsmopen_serial_read_AT(tech_pvt, 1, 500000, 2, NULL, 1); // 2.5 sec timeout
|
||||||
at_result = gsmopen_serial_read_AT(tech_pvt, 1, 100000, 0, NULL, 1); // 1/10th sec timeout
|
at_result = gsmopen_serial_read_AT(tech_pvt, 1, 100000, 0, NULL, 1); // 1/10th sec timeout
|
||||||
UNLOCKA(tech_pvt->controldev_lock);
|
UNLOCKA(tech_pvt->controldev_lock);
|
||||||
@ -2049,7 +2032,6 @@ int gsmopen_serial_answer(private_t * tech_pvt)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int gsmopen_serial_answer_AT(private_t *tech_pvt)
|
int gsmopen_serial_answer_AT(private_t *tech_pvt)
|
||||||
{
|
{
|
||||||
int res;
|
int res;
|
||||||
@ -2088,7 +2070,6 @@ int gsmopen_serial_hangup(private_t * tech_pvt)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int gsmopen_serial_hangup_AT(private_t *tech_pvt)
|
int gsmopen_serial_hangup_AT(private_t *tech_pvt)
|
||||||
{
|
{
|
||||||
int res;
|
int res;
|
||||||
@ -2117,7 +2098,6 @@ int gsmopen_serial_hangup_AT(private_t * tech_pvt)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int gsmopen_serial_call(private_t *tech_pvt, char *dstr)
|
int gsmopen_serial_call(private_t *tech_pvt, char *dstr)
|
||||||
{
|
{
|
||||||
if (tech_pvt->controldevprotocol == PROTOCOL_AT)
|
if (tech_pvt->controldevprotocol == PROTOCOL_AT)
|
||||||
@ -2254,7 +2234,6 @@ int iso_8859_1_to_utf8(private_t * tech_pvt, char *iso_8859_1_in, char *utf8_out
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
inbytesleft = strlen(iso_8859_1_in) * 2;
|
inbytesleft = strlen(iso_8859_1_in) * 2;
|
||||||
iconv_res = iconv(iconv_format, &inbuf, &inbytesleft, &outbuf, &outbytesleft);
|
iconv_res = iconv(iconv_format, &inbuf, &inbytesleft, &outbuf, &outbytesleft);
|
||||||
if (iconv_res == (size_t) -1) {
|
if (iconv_res == (size_t) -1) {
|
||||||
@ -2267,15 +2246,12 @@ int iso_8859_1_to_utf8(private_t * tech_pvt, char *iso_8859_1_in, char *utf8_out
|
|||||||
(" strlen(iso_8859_1_in)=%d, iconv_res=%d, inbuf=%s, inleft=%d, out=%s, outleft=%d, utf8_out=%s\n",
|
(" strlen(iso_8859_1_in)=%d, iconv_res=%d, inbuf=%s, inleft=%d, out=%s, outleft=%d, utf8_out=%s\n",
|
||||||
GSMOPEN_P_LOG, (int) strlen(iso_8859_1_in), iconv_res, inbuf, (int) inbytesleft, outbuf, (int) outbytesleft, utf8_out);
|
GSMOPEN_P_LOG, (int) strlen(iso_8859_1_in), iconv_res, inbuf, (int) inbytesleft, outbuf, (int) outbytesleft, utf8_out);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
iconv_close(iconv_format);
|
iconv_close(iconv_format);
|
||||||
|
|
||||||
#endif //WIN32
|
#endif //WIN32
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int utf_to_ucs2(private_t *tech_pvt, char *utf_in, size_t inbytesleft, char *ucs2_out, size_t outbytesleft)
|
int utf_to_ucs2(private_t *tech_pvt, char *utf_in, size_t inbytesleft, char *ucs2_out, size_t outbytesleft)
|
||||||
{
|
{
|
||||||
/* cicopet */
|
/* cicopet */
|
||||||
@ -2327,7 +2303,6 @@ int utf_to_ucs2(private_t * tech_pvt, char *utf_in, size_t inbytesleft, char *uc
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*! \brief Answer incoming call,
|
/*! \brief Answer incoming call,
|
||||||
* Part of PBX interface */
|
* Part of PBX interface */
|
||||||
int gsmopen_answer(private_t *tech_pvt)
|
int gsmopen_answer(private_t *tech_pvt)
|
||||||
@ -2412,14 +2387,12 @@ int gsmopen_ring(private_t * tech_pvt)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (option_debug) {
|
if (option_debug) {
|
||||||
DEBUGA_PBX("EXITING FUNC\n", GSMOPEN_P_LOG);
|
DEBUGA_PBX("EXITING FUNC\n", GSMOPEN_P_LOG);
|
||||||
}
|
}
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*! \brief Hangup gsmopen call
|
/*! \brief Hangup gsmopen call
|
||||||
* Part of PBX interface, called from ast_hangup */
|
* Part of PBX interface, called from ast_hangup */
|
||||||
|
|
||||||
@ -2434,7 +2407,6 @@ int gsmopen_hangup(private_t * tech_pvt)
|
|||||||
|
|
||||||
DEBUGA_GSMOPEN("ENTERING FUNC\n", GSMOPEN_P_LOG);
|
DEBUGA_GSMOPEN("ENTERING FUNC\n", GSMOPEN_P_LOG);
|
||||||
|
|
||||||
|
|
||||||
if (tech_pvt->controldevprotocol != PROTOCOL_NO_SERIAL) {
|
if (tech_pvt->controldevprotocol != PROTOCOL_NO_SERIAL) {
|
||||||
if (tech_pvt->interface_state != GSMOPEN_STATE_DOWN) {
|
if (tech_pvt->interface_state != GSMOPEN_STATE_DOWN) {
|
||||||
/* actually hangup through the serial port */
|
/* actually hangup through the serial port */
|
||||||
@ -2472,8 +2444,6 @@ int gsmopen_hangup(private_t * tech_pvt)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef GSMOPEN_ALSA
|
#ifdef GSMOPEN_ALSA
|
||||||
/*! \brief ALSA pcm format, according to endianess */
|
/*! \brief ALSA pcm format, according to endianess */
|
||||||
#if __BYTE_ORDER == __LITTLE_ENDIAN
|
#if __BYTE_ORDER == __LITTLE_ENDIAN
|
||||||
@ -2842,7 +2812,6 @@ int gsmopen_call(private_t * tech_pvt, char *rdest, int timeout)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int gsmopen_senddigit(private_t *tech_pvt, char digit)
|
int gsmopen_senddigit(private_t *tech_pvt, char digit)
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -2883,7 +2852,6 @@ int alsa_write(private_t * tech_pvt, short *data, int datalen)
|
|||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
memset(sizbuf, 255, sizeof(sizbuf));
|
memset(sizbuf, 255, sizeof(sizbuf));
|
||||||
memset(sizbuf2, 255, sizeof(sizbuf));
|
memset(sizbuf2, 255, sizeof(sizbuf));
|
||||||
memset(silencebuf, 255, sizeof(sizbuf));
|
memset(silencebuf, 255, sizeof(sizbuf));
|
||||||
@ -2899,7 +2867,6 @@ int alsa_write(private_t * tech_pvt, short *data, int datalen)
|
|||||||
len += datalen;
|
len += datalen;
|
||||||
pos = 0;
|
pos = 0;
|
||||||
|
|
||||||
|
|
||||||
#ifdef ALSA_MONITOR
|
#ifdef ALSA_MONITOR
|
||||||
alsa_monitor_write(sizbuf, len);
|
alsa_monitor_write(sizbuf, len);
|
||||||
#endif
|
#endif
|
||||||
@ -3105,15 +3072,12 @@ int alsa_read(private_t * tech_pvt, short *data, int datalen)
|
|||||||
//DEBUGA_GSMOPEN("buf=%p, datalen=%d, left=%d\n", GSMOPEN_P_LOG, (void *)buf, datalen, left);
|
//DEBUGA_GSMOPEN("buf=%p, datalen=%d, left=%d\n", GSMOPEN_P_LOG, (void *)buf, datalen, left);
|
||||||
//memset(&f, 0, sizeof(struct ast_frame)); //giova
|
//memset(&f, 0, sizeof(struct ast_frame)); //giova
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (tech_pvt->no_sound == 1) {
|
if (tech_pvt->no_sound == 1) {
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
left = datalen;
|
left = datalen;
|
||||||
|
|
||||||
|
|
||||||
state = snd_pcm_state(tech_pvt->alsac);
|
state = snd_pcm_state(tech_pvt->alsac);
|
||||||
if (state != SND_PCM_STATE_RUNNING) {
|
if (state != SND_PCM_STATE_RUNNING) {
|
||||||
DEBUGA_GSMOPEN("ALSA read state is not SND_PCM_STATE_RUNNING\n", GSMOPEN_P_LOG);
|
DEBUGA_GSMOPEN("ALSA read state is not SND_PCM_STATE_RUNNING\n", GSMOPEN_P_LOG);
|
||||||
@ -3210,10 +3174,6 @@ int alsa_read(private_t * tech_pvt, short *data, int datalen)
|
|||||||
|
|
||||||
#endif // GSMOPEN_ALSA
|
#endif // GSMOPEN_ALSA
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int gsmopen_sendsms(private_t *tech_pvt, char *dest, char *text)
|
int gsmopen_sendsms(private_t *tech_pvt, char *dest, char *text)
|
||||||
{
|
{
|
||||||
//char *idest = data;
|
//char *idest = data;
|
||||||
@ -3251,7 +3211,6 @@ int gsmopen_sendsms(private_t * tech_pvt, char *dest, char *text)
|
|||||||
ERRORA("AT+CMGF=1 (set message sending to TEXT (as opposed to PDU) do not got OK from the phone\n", GSMOPEN_P_LOG);
|
ERRORA("AT+CMGF=1 (set message sending to TEXT (as opposed to PDU) do not got OK from the phone\n", GSMOPEN_P_LOG);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (tech_pvt->no_ucs2) {
|
if (tech_pvt->no_ucs2) {
|
||||||
sprintf(smscommand, "AT+CMGS=\"%s\"", dest); //TODO: support phones that only accept pdu mode
|
sprintf(smscommand, "AT+CMGS=\"%s\"", dest); //TODO: support phones that only accept pdu mode
|
||||||
} else {
|
} else {
|
||||||
@ -3368,7 +3327,6 @@ int gsmopen_sendsms(private_t * tech_pvt, char *dest, char *text)
|
|||||||
DEBUGA_GSMOPEN("AT+CMGF=0 (set message sending to PDU (as opposed to TEXT) do not got OK from the phone, continuing\n", GSMOPEN_P_LOG);
|
DEBUGA_GSMOPEN("AT+CMGF=0 (set message sending to PDU (as opposed to TEXT) do not got OK from the phone, continuing\n", GSMOPEN_P_LOG);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
DEBUGA_GSMOPEN("FINISH\n", GSMOPEN_P_LOG);
|
DEBUGA_GSMOPEN("FINISH\n", GSMOPEN_P_LOG);
|
||||||
if (failed)
|
if (failed)
|
||||||
return -1;
|
return -1;
|
||||||
@ -3412,7 +3370,6 @@ void gsmopen_store_boost(char *s, double *boost)
|
|||||||
DEBUGA_GSMOPEN("setting boost %s to %f\n", GSMOPEN_P_LOG, s, *boost);
|
DEBUGA_GSMOPEN("setting boost %s to %f\n", GSMOPEN_P_LOG, s, *boost);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int gsmopen_sound_boost(void *data, int samples_num, double boost)
|
int gsmopen_sound_boost(void *data, int samples_num, double boost)
|
||||||
{
|
{
|
||||||
/* LUIGI RIZZO's magic */
|
/* LUIGI RIZZO's magic */
|
||||||
@ -3437,7 +3394,6 @@ int gsmopen_sound_boost(void *data, int samples_num, double boost)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int gsmopen_serial_getstatus_AT(private_t *tech_pvt)
|
int gsmopen_serial_getstatus_AT(private_t *tech_pvt)
|
||||||
{
|
{
|
||||||
int res;
|
int res;
|
||||||
@ -3452,7 +3408,6 @@ int gsmopen_serial_getstatus_AT(private_t * tech_pvt)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
PUSHA_UNLOCKA(p->controldev_lock);
|
PUSHA_UNLOCKA(p->controldev_lock);
|
||||||
LOKKA(p->controldev_lock);
|
LOKKA(p->controldev_lock);
|
||||||
res = gsmopen_serial_write_AT_ack(p, "AT");
|
res = gsmopen_serial_write_AT_ack(p, "AT");
|
||||||
@ -3484,7 +3439,6 @@ int gsmopen_serial_getstatus_AT(private_t * tech_pvt)
|
|||||||
}
|
}
|
||||||
gsmopen_sleep(1000);
|
gsmopen_sleep(1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
//FIXME all the following commands in config!
|
//FIXME all the following commands in config!
|
||||||
|
|
||||||
if (p->sms_cnmi_not_supported) {
|
if (p->sms_cnmi_not_supported) {
|
||||||
@ -3587,7 +3541,6 @@ int gsmopen_serial_getstatus_AT(private_t * tech_pvt)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int gsmopen_serial_init_audio_port(private_t *tech_pvt, int controldevice_audio_speed)
|
int gsmopen_serial_init_audio_port(private_t *tech_pvt, int controldevice_audio_speed)
|
||||||
{
|
{
|
||||||
tech_pvt->serialPort_serial_audio = new ctb::SerialPort();
|
tech_pvt->serialPort_serial_audio = new ctb::SerialPort();
|
||||||
@ -3617,6 +3570,7 @@ int serial_audio_init(private_t * tech_pvt)
|
|||||||
|
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
int serial_audio_shutdown(private_t *tech_pvt)
|
int serial_audio_shutdown(private_t *tech_pvt)
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -3629,4 +3583,3 @@ int serial_audio_shutdown(private_t * tech_pvt)
|
|||||||
|
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -83,8 +83,7 @@ int gettimeofday(struct timeval *tv, struct sk_timezone *tz)
|
|||||||
/***************/
|
/***************/
|
||||||
#endif /* WIN32 */
|
#endif /* WIN32 */
|
||||||
#endif //0
|
#endif //0
|
||||||
SWITCH_BEGIN_EXTERN_C
|
SWITCH_BEGIN_EXTERN_C SWITCH_MODULE_LOAD_FUNCTION(mod_gsmopen_load);
|
||||||
SWITCH_MODULE_LOAD_FUNCTION(mod_gsmopen_load);
|
|
||||||
SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_gsmopen_shutdown);
|
SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_gsmopen_shutdown);
|
||||||
SWITCH_MODULE_DEFINITION(mod_gsmopen, mod_gsmopen_load, mod_gsmopen_shutdown, NULL);
|
SWITCH_MODULE_DEFINITION(mod_gsmopen, mod_gsmopen_load, mod_gsmopen_shutdown, NULL);
|
||||||
SWITCH_END_EXTERN_C
|
SWITCH_END_EXTERN_C
|
||||||
@ -123,6 +122,7 @@ const char *interface_status[] = { /* should match GSMOPEN_STATE_xxx in gsmopen.
|
|||||||
"HANG_RQ",
|
"HANG_RQ",
|
||||||
"PREANSW"
|
"PREANSW"
|
||||||
};
|
};
|
||||||
|
|
||||||
const char *phone_callflow[] = { /* should match CALLFLOW_XXX in gsmopen.h */
|
const char *phone_callflow[] = { /* should match CALLFLOW_XXX in gsmopen.h */
|
||||||
"CALL_IDLE",
|
"CALL_IDLE",
|
||||||
"CALL_DOWN",
|
"CALL_DOWN",
|
||||||
@ -153,7 +153,6 @@ const char *phone_callflow[] = { /* should match CALLFLOW_XXX in gsmopen.h */
|
|||||||
"STATUS_RMTEHOLD"
|
"STATUS_RMTEHOLD"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
static struct {
|
static struct {
|
||||||
int debug;
|
int debug;
|
||||||
char *ip;
|
char *ip;
|
||||||
@ -329,8 +328,7 @@ switch_status_t gsmopen_tech_init(private_t * tech_pvt, switch_core_session_t *s
|
|||||||
#else // GIOVA48
|
#else // GIOVA48
|
||||||
tech_pvt->preprocess = speex_preprocess_state_init(960, 48000);
|
tech_pvt->preprocess = speex_preprocess_state_init(960, 48000);
|
||||||
#endif // GIOVA48
|
#endif // GIOVA48
|
||||||
speex_preprocess_ctl(tech_pvt->preprocess, SPEEX_PREPROCESS_SET_ECHO_STATE,
|
speex_preprocess_ctl(tech_pvt->preprocess, SPEEX_PREPROCESS_SET_ECHO_STATE, tech_pvt->echo_state);
|
||||||
tech_pvt->echo_state);
|
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
/* Setup preprocessor various other goodies */
|
/* Setup preprocessor various other goodies */
|
||||||
@ -377,8 +375,7 @@ switch_status_t gsmopen_tech_init(private_t * tech_pvt, switch_core_session_t *s
|
|||||||
speex_preprocess_ctl(tech_pvt->preprocess, SPEEX_PREPROCESS_GET_ECHO_SUPPRESS, &tmp);
|
speex_preprocess_ctl(tech_pvt->preprocess, SPEEX_PREPROCESS_GET_ECHO_SUPPRESS, &tmp);
|
||||||
fprintf(stderr, "SPEEX_PREPROCESS_GET_ECHO_SUPPRESS is: %d\n", tmp);
|
fprintf(stderr, "SPEEX_PREPROCESS_GET_ECHO_SUPPRESS is: %d\n", tmp);
|
||||||
tmp = 1;
|
tmp = 1;
|
||||||
speex_preprocess_ctl(tech_pvt->preprocess, SPEEX_PREPROCESS_GET_ECHO_SUPPRESS_ACTIVE,
|
speex_preprocess_ctl(tech_pvt->preprocess, SPEEX_PREPROCESS_GET_ECHO_SUPPRESS_ACTIVE, &tmp);
|
||||||
&tmp);
|
|
||||||
fprintf(stderr, "SPEEX_PREPROCESS_GET_ECHO_SUPPRESS_ACTIVE is: %d\n", tmp);
|
fprintf(stderr, "SPEEX_PREPROCESS_GET_ECHO_SUPPRESS_ACTIVE is: %d\n", tmp);
|
||||||
tmp = 1;
|
tmp = 1;
|
||||||
speex_preprocess_ctl(tech_pvt->preprocess, SPEEX_PREPROCESS_GET_AGC_MAX_GAIN, &tmp);
|
speex_preprocess_ctl(tech_pvt->preprocess, SPEEX_PREPROCESS_GET_AGC_MAX_GAIN, &tmp);
|
||||||
@ -400,8 +397,6 @@ switch_status_t gsmopen_tech_init(private_t * tech_pvt, switch_core_session_t *s
|
|||||||
|
|
||||||
#endif // WANT_SPEEX
|
#endif // WANT_SPEEX
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
switch_clear_flag(tech_pvt, TFLAG_HANGUP);
|
switch_clear_flag(tech_pvt, TFLAG_HANGUP);
|
||||||
DEBUGA_GSMOPEN("gsmopen_codec SUCCESS\n", GSMOPEN_P_LOG);
|
DEBUGA_GSMOPEN("gsmopen_codec SUCCESS\n", GSMOPEN_P_LOG);
|
||||||
return SWITCH_STATUS_SUCCESS;
|
return SWITCH_STATUS_SUCCESS;
|
||||||
@ -434,7 +429,6 @@ static switch_status_t interface_exists(char *the_interface)
|
|||||||
}
|
}
|
||||||
} else { /* look by gsmopen_user */
|
} else { /* look by gsmopen_user */
|
||||||
|
|
||||||
|
|
||||||
for (i = 0; i < GSMOPEN_MAX_INTERFACES; i++) {
|
for (i = 0; i < GSMOPEN_MAX_INTERFACES; i++) {
|
||||||
if (strlen(globals.GSMOPEN_INTERFACES[i].gsmopen_user)) {
|
if (strlen(globals.GSMOPEN_INTERFACES[i].gsmopen_user)) {
|
||||||
if (strcmp(globals.GSMOPEN_INTERFACES[i].gsmopen_user, the_interface) == 0) {
|
if (strcmp(globals.GSMOPEN_INTERFACES[i].gsmopen_user, the_interface) == 0) {
|
||||||
@ -457,7 +451,6 @@ static switch_status_t remove_interface(char *the_interface)
|
|||||||
|
|
||||||
//running = 0;
|
//running = 0;
|
||||||
|
|
||||||
|
|
||||||
//XXX if (*the_interface == '#') { /* remove by interface id or interface name */
|
//XXX if (*the_interface == '#') { /* remove by interface id or interface name */
|
||||||
//XXX the_interface++;
|
//XXX the_interface++;
|
||||||
switch_assert(the_interface);
|
switch_assert(the_interface);
|
||||||
@ -604,7 +597,6 @@ static switch_status_t channel_on_destroy(switch_core_session_t *session)
|
|||||||
|
|
||||||
tech_pvt = (private_t *) switch_core_session_get_private(session);
|
tech_pvt = (private_t *) switch_core_session_get_private(session);
|
||||||
|
|
||||||
|
|
||||||
if (tech_pvt) {
|
if (tech_pvt) {
|
||||||
DEBUGA_GSMOPEN("%s CHANNEL DESTROY %s\n", GSMOPEN_P_LOG, tech_pvt->name, switch_core_session_get_uuid(session));
|
DEBUGA_GSMOPEN("%s CHANNEL DESTROY %s\n", GSMOPEN_P_LOG, tech_pvt->name, switch_core_session_get_uuid(session));
|
||||||
|
|
||||||
@ -628,7 +620,6 @@ static switch_status_t channel_on_destroy(switch_core_session_t *session)
|
|||||||
serial_audio_shutdown(tech_pvt);
|
serial_audio_shutdown(tech_pvt);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
*tech_pvt->session_uuid_str = '\0';
|
*tech_pvt->session_uuid_str = '\0';
|
||||||
tech_pvt->interface_state = GSMOPEN_STATE_IDLE;
|
tech_pvt->interface_state = GSMOPEN_STATE_IDLE;
|
||||||
if (tech_pvt->phone_callflow == CALLFLOW_STATUS_FINISHED) {
|
if (tech_pvt->phone_callflow == CALLFLOW_STATUS_FINISHED) {
|
||||||
@ -647,7 +638,6 @@ static switch_status_t channel_on_hangup(switch_core_session_t *session)
|
|||||||
switch_channel_t *channel = NULL;
|
switch_channel_t *channel = NULL;
|
||||||
private_t *tech_pvt = NULL;
|
private_t *tech_pvt = NULL;
|
||||||
|
|
||||||
|
|
||||||
channel = switch_core_session_get_channel(session);
|
channel = switch_core_session_get_channel(session);
|
||||||
switch_assert(channel != NULL);
|
switch_assert(channel != NULL);
|
||||||
|
|
||||||
@ -664,7 +654,6 @@ static switch_status_t channel_on_hangup(switch_core_session_t *session)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
DEBUGA_GSMOPEN("%s CHANNEL HANGUP\n", GSMOPEN_P_LOG, tech_pvt->name);
|
DEBUGA_GSMOPEN("%s CHANNEL HANGUP\n", GSMOPEN_P_LOG, tech_pvt->name);
|
||||||
switch_clear_flag(tech_pvt, TFLAG_IO);
|
switch_clear_flag(tech_pvt, TFLAG_IO);
|
||||||
switch_clear_flag(tech_pvt, TFLAG_VOICE);
|
switch_clear_flag(tech_pvt, TFLAG_VOICE);
|
||||||
@ -757,6 +746,7 @@ static switch_status_t channel_kill_channel(switch_core_session_t *session, int
|
|||||||
|
|
||||||
return SWITCH_STATUS_SUCCESS;
|
return SWITCH_STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
static switch_status_t channel_on_consume_media(switch_core_session_t *session)
|
static switch_status_t channel_on_consume_media(switch_core_session_t *session)
|
||||||
{
|
{
|
||||||
private_t *tech_pvt = NULL;
|
private_t *tech_pvt = NULL;
|
||||||
@ -767,7 +757,6 @@ static switch_status_t channel_on_consume_media(switch_core_session_t *session)
|
|||||||
return SWITCH_STATUS_SUCCESS;
|
return SWITCH_STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static switch_status_t channel_on_exchange_media(switch_core_session_t *session)
|
static switch_status_t channel_on_exchange_media(switch_core_session_t *session)
|
||||||
{
|
{
|
||||||
private_t *tech_pvt = NULL;
|
private_t *tech_pvt = NULL;
|
||||||
@ -812,7 +801,6 @@ static switch_status_t channel_read_frame(switch_core_session_t *session, switch
|
|||||||
char digit_str[256];
|
char digit_str[256];
|
||||||
char buffer2[640];
|
char buffer2[640];
|
||||||
|
|
||||||
|
|
||||||
channel = switch_core_session_get_channel(session);
|
channel = switch_core_session_get_channel(session);
|
||||||
switch_assert(channel != NULL);
|
switch_assert(channel != NULL);
|
||||||
|
|
||||||
@ -825,7 +813,6 @@ static switch_status_t channel_read_frame(switch_core_session_t *session, switch
|
|||||||
return SWITCH_STATUS_FALSE;
|
return SWITCH_STATUS_FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
tech_pvt->read_frame.flags = SFF_NONE;
|
tech_pvt->read_frame.flags = SFF_NONE;
|
||||||
*frame = NULL;
|
*frame = NULL;
|
||||||
|
|
||||||
@ -844,12 +831,9 @@ static switch_status_t channel_read_frame(switch_core_session_t *session, switch
|
|||||||
#endif // GSMOPEN_ALSA
|
#endif // GSMOPEN_ALSA
|
||||||
// if ((samples = tech_pvt->serialPort_serial_audio->Read((char *) tech_pvt->read_frame.data, 320)) >0)
|
// if ((samples = tech_pvt->serialPort_serial_audio->Read((char *) tech_pvt->read_frame.data, 320)) >0)
|
||||||
|
|
||||||
if ((samples = tech_pvt->serialPort_serial_audio->Read(buffer2, 640)) >= 320)
|
if ((samples = tech_pvt->serialPort_serial_audio->Read(buffer2, 640)) >= 320) {
|
||||||
{
|
|
||||||
tech_pvt->buffer2_full = 0;
|
tech_pvt->buffer2_full = 0;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (samples >= 640) {
|
if (samples >= 640) {
|
||||||
DEBUGA_GSMOPEN("samples=%d\n", GSMOPEN_P_LOG, samples);
|
DEBUGA_GSMOPEN("samples=%d\n", GSMOPEN_P_LOG, samples);
|
||||||
memcpy(tech_pvt->buffer2, buffer2 + 320, 320);
|
memcpy(tech_pvt->buffer2, buffer2 + 320, 320);
|
||||||
@ -857,7 +841,6 @@ if ((samples = tech_pvt->serialPort_serial_audio->Read(buffer2, 640)) >= 320)
|
|||||||
}
|
}
|
||||||
samples = 320;
|
samples = 320;
|
||||||
|
|
||||||
|
|
||||||
memcpy(tech_pvt->read_frame.data, buffer2, 320);
|
memcpy(tech_pvt->read_frame.data, buffer2, 320);
|
||||||
tech_pvt->read_frame.datalen = samples;
|
tech_pvt->read_frame.datalen = samples;
|
||||||
tech_pvt->read_frame.samples = samples / 2;
|
tech_pvt->read_frame.samples = samples / 2;
|
||||||
@ -893,7 +876,6 @@ if ((samples = tech_pvt->serialPort_serial_audio->Read(buffer2, 640)) >= 320)
|
|||||||
switch_set_flag(tech_pvt, TFLAG_VOICE);
|
switch_set_flag(tech_pvt, TFLAG_VOICE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
//WARNINGA("samples=%d\n", GSMOPEN_P_LOG, samples);
|
//WARNINGA("samples=%d\n", GSMOPEN_P_LOG, samples);
|
||||||
if (samples != 320) {
|
if (samples != 320) {
|
||||||
@ -905,8 +887,6 @@ if ((samples = tech_pvt->serialPort_serial_audio->Read(buffer2, 640)) >= 320)
|
|||||||
//usleep(17000);
|
//usleep(17000);
|
||||||
//usleep(17000);
|
//usleep(17000);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
memset(digit_str, 0, sizeof(digit_str));
|
memset(digit_str, 0, sizeof(digit_str));
|
||||||
//teletone_dtmf_detect(&tech_pvt->dtmf_detect, (int16_t *) tech_pvt->read_frame.data, tech_pvt->read_frame.samples);
|
//teletone_dtmf_detect(&tech_pvt->dtmf_detect, (int16_t *) tech_pvt->read_frame.data, tech_pvt->read_frame.samples);
|
||||||
//teletone_dtmf_get(&tech_pvt->dtmf_detect, digit_str, sizeof(digit_str));
|
//teletone_dtmf_get(&tech_pvt->dtmf_detect, digit_str, sizeof(digit_str));
|
||||||
@ -1033,8 +1013,6 @@ static switch_status_t channel_write_frame(switch_core_session_t *session, switc
|
|||||||
if (sent && sent != frame->datalen && sent != -1) {
|
if (sent && sent != frame->datalen && sent != -1) {
|
||||||
DEBUGA_GSMOPEN("sent %d\n", GSMOPEN_P_LOG, sent);
|
DEBUGA_GSMOPEN("sent %d\n", GSMOPEN_P_LOG, sent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//NOTICA("sent=%d\n", GSMOPEN_P_LOG, sent);
|
//NOTICA("sent=%d\n", GSMOPEN_P_LOG, sent);
|
||||||
return SWITCH_STATUS_SUCCESS;
|
return SWITCH_STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
@ -1065,21 +1043,6 @@ static switch_status_t channel_answer_channel(switch_core_session_t *session)
|
|||||||
switch_mutex_unlock(globals.mutex);
|
switch_mutex_unlock(globals.mutex);
|
||||||
DEBUGA_GSMOPEN("%s CHANNEL ANSWER %s\n", GSMOPEN_P_LOG, tech_pvt->name, switch_core_session_get_uuid(session));
|
DEBUGA_GSMOPEN("%s CHANNEL ANSWER %s\n", GSMOPEN_P_LOG, tech_pvt->name, switch_core_session_get_uuid(session));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
DEBUGA_GSMOPEN("ANSWERED! \n", GSMOPEN_P_LOG);
|
DEBUGA_GSMOPEN("ANSWERED! \n", GSMOPEN_P_LOG);
|
||||||
|
|
||||||
return SWITCH_STATUS_SUCCESS;
|
return SWITCH_STATUS_SUCCESS;
|
||||||
@ -1120,7 +1083,6 @@ static switch_status_t channel_receive_message(switch_core_session_t *session, s
|
|||||||
#endif // GSMOPEN_ALSA
|
#endif // GSMOPEN_ALSA
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
DEBUGA_GSMOPEN("MSG_ID=%d\n", GSMOPEN_P_LOG, msg->message_id);
|
DEBUGA_GSMOPEN("MSG_ID=%d\n", GSMOPEN_P_LOG, msg->message_id);
|
||||||
@ -1188,7 +1150,6 @@ static switch_call_cause_t channel_outgoing_channel(switch_core_session_t *sessi
|
|||||||
DEBUGA_GSMOPEN("1 SESSION_REQUEST %s\n", GSMOPEN_P_LOG, switch_core_session_get_uuid(*new_session));
|
DEBUGA_GSMOPEN("1 SESSION_REQUEST %s\n", GSMOPEN_P_LOG, switch_core_session_get_uuid(*new_session));
|
||||||
switch_core_session_add_stream(*new_session, NULL);
|
switch_core_session_add_stream(*new_session, NULL);
|
||||||
|
|
||||||
|
|
||||||
if (!zstr(outbound_profile->destination_number)) {
|
if (!zstr(outbound_profile->destination_number)) {
|
||||||
int i;
|
int i;
|
||||||
char *slash;
|
char *slash;
|
||||||
@ -1265,7 +1226,6 @@ static switch_call_cause_t channel_outgoing_channel(switch_core_session_t *sessi
|
|||||||
return SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER;
|
return SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (outbound_profile) {
|
if (outbound_profile) {
|
||||||
char name[128];
|
char name[128];
|
||||||
|
|
||||||
@ -1370,7 +1330,6 @@ static switch_status_t load_config(int reload_type)
|
|||||||
char *fail_dial_regex = NULL;
|
char *fail_dial_regex = NULL;
|
||||||
const char *enable_callerid = "true";
|
const char *enable_callerid = "true";
|
||||||
|
|
||||||
|
|
||||||
const char *at_dial_pre_number = "ATD";
|
const char *at_dial_pre_number = "ATD";
|
||||||
const char *at_dial_post_number = ";";
|
const char *at_dial_post_number = ";";
|
||||||
const char *at_dial_expect = "OK";
|
const char *at_dial_expect = "OK";
|
||||||
@ -1455,8 +1414,6 @@ static switch_status_t load_config(int reload_type)
|
|||||||
uint32_t running = 1; //FIXME TODO
|
uint32_t running = 1; //FIXME TODO
|
||||||
const char *gsmopen_serial_sync_period = "300"; //FIXME TODO
|
const char *gsmopen_serial_sync_period = "300"; //FIXME TODO
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
tech_pvt = NULL;
|
tech_pvt = NULL;
|
||||||
|
|
||||||
for (param = switch_xml_child(myinterface, "param"); param; param = param->next) {
|
for (param = switch_xml_child(myinterface, "param"); param; param = param->next) {
|
||||||
@ -1631,7 +1588,6 @@ static switch_status_t load_config(int reload_type)
|
|||||||
gsmopen_serial_sync_period = val;
|
gsmopen_serial_sync_period = val;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* BEGIN: Changes here */
|
/* BEGIN: Changes here */
|
||||||
@ -1712,11 +1668,11 @@ static switch_status_t load_config(int reload_type)
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (!switch_is_number(gsmopen_serial_sync_period)) {
|
if (!switch_is_number(gsmopen_serial_sync_period)) {
|
||||||
ERRORA("interface param 'gsmopen_serial_sync_period' MUST be a number, now gsmopen_serial_sync_period='%s'\n", GSMOPEN_P_LOG, gsmopen_serial_sync_period);
|
ERRORA("interface param 'gsmopen_serial_sync_period' MUST be a number, now gsmopen_serial_sync_period='%s'\n", GSMOPEN_P_LOG,
|
||||||
|
gsmopen_serial_sync_period);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (interface_id && interface_id < GSMOPEN_MAX_INTERFACES) {
|
if (interface_id && interface_id < GSMOPEN_MAX_INTERFACES) {
|
||||||
private_t newconf;
|
private_t newconf;
|
||||||
switch_threadattr_t *gsmopen_api_thread_attr = NULL;
|
switch_threadattr_t *gsmopen_api_thread_attr = NULL;
|
||||||
@ -1725,13 +1681,11 @@ static switch_status_t load_config(int reload_type)
|
|||||||
memset(&newconf, '\0', sizeof(newconf));
|
memset(&newconf, '\0', sizeof(newconf));
|
||||||
globals.GSMOPEN_INTERFACES[interface_id] = newconf;
|
globals.GSMOPEN_INTERFACES[interface_id] = newconf;
|
||||||
|
|
||||||
|
|
||||||
tech_pvt = &globals.GSMOPEN_INTERFACES[interface_id];
|
tech_pvt = &globals.GSMOPEN_INTERFACES[interface_id];
|
||||||
|
|
||||||
switch_mutex_init(&globals.GSMOPEN_INTERFACES[interface_id].controldev_lock, SWITCH_MUTEX_NESTED, gsmopen_module_pool);
|
switch_mutex_init(&globals.GSMOPEN_INTERFACES[interface_id].controldev_lock, SWITCH_MUTEX_NESTED, gsmopen_module_pool);
|
||||||
switch_mutex_init(&globals.GSMOPEN_INTERFACES[interface_id].controldev_audio_lock, SWITCH_MUTEX_NESTED, gsmopen_module_pool);
|
switch_mutex_init(&globals.GSMOPEN_INTERFACES[interface_id].controldev_audio_lock, SWITCH_MUTEX_NESTED, gsmopen_module_pool);
|
||||||
|
|
||||||
|
|
||||||
switch_set_string(globals.GSMOPEN_INTERFACES[interface_id].id, id);
|
switch_set_string(globals.GSMOPEN_INTERFACES[interface_id].id, id);
|
||||||
switch_set_string(globals.GSMOPEN_INTERFACES[interface_id].name, name);
|
switch_set_string(globals.GSMOPEN_INTERFACES[interface_id].name, name);
|
||||||
switch_set_string(globals.GSMOPEN_INTERFACES[interface_id].context, context);
|
switch_set_string(globals.GSMOPEN_INTERFACES[interface_id].context, context);
|
||||||
@ -1818,14 +1772,10 @@ static switch_status_t load_config(int reload_type)
|
|||||||
#endif // defined(GSMOPEN_ALSA)
|
#endif // defined(GSMOPEN_ALSA)
|
||||||
globals.GSMOPEN_INTERFACES[interface_id].gsmopen_serial_sync_period = atoi(gsmopen_serial_sync_period);
|
globals.GSMOPEN_INTERFACES[interface_id].gsmopen_serial_sync_period = atoi(gsmopen_serial_sync_period);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
globals.GSMOPEN_INTERFACES[interface_id].controldevice_speed = controldevice_speed; //FIXME
|
globals.GSMOPEN_INTERFACES[interface_id].controldevice_speed = controldevice_speed; //FIXME
|
||||||
globals.GSMOPEN_INTERFACES[interface_id].controldevprotocol = controldevprotocol; //FIXME
|
globals.GSMOPEN_INTERFACES[interface_id].controldevprotocol = controldevprotocol; //FIXME
|
||||||
globals.GSMOPEN_INTERFACES[interface_id].running = running; //FIXME
|
globals.GSMOPEN_INTERFACES[interface_id].running = running; //FIXME
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
WARNINGA("STARTING interface_id=%d\n", GSMOPEN_P_LOG, interface_id);
|
WARNINGA("STARTING interface_id=%d\n", GSMOPEN_P_LOG, interface_id);
|
||||||
DEBUGA_GSMOPEN("id=%s\n", GSMOPEN_P_LOG, globals.GSMOPEN_INTERFACES[interface_id].id);
|
DEBUGA_GSMOPEN("id=%s\n", GSMOPEN_P_LOG, globals.GSMOPEN_INTERFACES[interface_id].id);
|
||||||
DEBUGA_GSMOPEN("name=%s\n", GSMOPEN_P_LOG, globals.GSMOPEN_INTERFACES[interface_id].name);
|
DEBUGA_GSMOPEN("name=%s\n", GSMOPEN_P_LOG, globals.GSMOPEN_INTERFACES[interface_id].name);
|
||||||
@ -1840,11 +1790,8 @@ static switch_status_t load_config(int reload_type)
|
|||||||
DEBUGA_GSMOPEN("alsapname=%s\n", GSMOPEN_P_LOG, globals.GSMOPEN_INTERFACES[interface_id].alsapname);
|
DEBUGA_GSMOPEN("alsapname=%s\n", GSMOPEN_P_LOG, globals.GSMOPEN_INTERFACES[interface_id].alsapname);
|
||||||
#endif // GSMOPEN_ALSA
|
#endif // GSMOPEN_ALSA
|
||||||
|
|
||||||
|
DEBUGA_GSMOPEN("gsmopen_serial_sync_period=%d\n", GSMOPEN_P_LOG,
|
||||||
DEBUGA_GSMOPEN("gsmopen_serial_sync_period=%d\n", GSMOPEN_P_LOG, (int)globals.GSMOPEN_INTERFACES[interface_id].gsmopen_serial_sync_period);
|
(int) globals.GSMOPEN_INTERFACES[interface_id].gsmopen_serial_sync_period);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* init the serial port */
|
/* init the serial port */
|
||||||
if (globals.GSMOPEN_INTERFACES[interface_id].controldevprotocol != PROTOCOL_NO_SERIAL) {
|
if (globals.GSMOPEN_INTERFACES[interface_id].controldevprotocol != PROTOCOL_NO_SERIAL) {
|
||||||
@ -1938,9 +1885,6 @@ static switch_status_t load_config(int reload_type)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
globals.GSMOPEN_INTERFACES[interface_id].active = 1;
|
globals.GSMOPEN_INTERFACES[interface_id].active = 1;
|
||||||
@ -2153,7 +2097,8 @@ SWITCH_MODULE_LOAD_FUNCTION(mod_gsmopen_load)
|
|||||||
SWITCH_ADD_API(commands_api_interface, "gsm", "gsm console AT_command", gsm_function, GSM_SYNTAX);
|
SWITCH_ADD_API(commands_api_interface, "gsm", "gsm console AT_command", gsm_function, GSM_SYNTAX);
|
||||||
SWITCH_ADD_API(commands_api_interface, "gsmopen", "gsmopen interface AT_command", gsmopen_function, GSMOPEN_SYNTAX);
|
SWITCH_ADD_API(commands_api_interface, "gsmopen", "gsmopen interface AT_command", gsmopen_function, GSMOPEN_SYNTAX);
|
||||||
#endif //0
|
#endif //0
|
||||||
SWITCH_ADD_API(commands_api_interface, "gsmopen_boost_audio", "gsmopen_boost_audio interface AT_command", gsmopen_boost_audio_function, GSMOPEN_BOOST_AUDIO_SYNTAX);
|
SWITCH_ADD_API(commands_api_interface, "gsmopen_boost_audio", "gsmopen_boost_audio interface AT_command", gsmopen_boost_audio_function,
|
||||||
|
GSMOPEN_BOOST_AUDIO_SYNTAX);
|
||||||
SWITCH_ADD_API(commands_api_interface, "gsmopen_dump", "gsmopen_dump interface", gsmopen_dump_function, GSMOPEN_DUMP_SYNTAX);
|
SWITCH_ADD_API(commands_api_interface, "gsmopen_dump", "gsmopen_dump interface", gsmopen_dump_function, GSMOPEN_DUMP_SYNTAX);
|
||||||
SWITCH_ADD_API(commands_api_interface, "gsmopen_sendsms", "gsmopen_sendsms interface destination_number SMS_text", sendsms_function,
|
SWITCH_ADD_API(commands_api_interface, "gsmopen_sendsms", "gsmopen_sendsms interface destination_number SMS_text", sendsms_function,
|
||||||
SENDSMS_SYNTAX);
|
SENDSMS_SYNTAX);
|
||||||
@ -2242,7 +2187,6 @@ SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_gsmopen_shutdown)
|
|||||||
return SWITCH_STATUS_SUCCESS;
|
return SWITCH_STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void *SWITCH_THREAD_FUNC gsmopen_do_gsmopenapi_thread(switch_thread_t *thread, void *obj)
|
void *SWITCH_THREAD_FUNC gsmopen_do_gsmopenapi_thread(switch_thread_t *thread, void *obj)
|
||||||
{
|
{
|
||||||
return gsmopen_do_gsmopenapi_thread_func(obj);
|
return gsmopen_do_gsmopenapi_thread_func(obj);
|
||||||
@ -2675,7 +2619,6 @@ SWITCH_STANDARD_API(gsmopen_dump_function)
|
|||||||
stream->write_function(stream, "dumping interface '%s'\n\n", globals.GSMOPEN_INTERFACES[i].name);
|
stream->write_function(stream, "dumping interface '%s'\n\n", globals.GSMOPEN_INTERFACES[i].name);
|
||||||
tech_pvt = &globals.GSMOPEN_INTERFACES[i];
|
tech_pvt = &globals.GSMOPEN_INTERFACES[i];
|
||||||
|
|
||||||
|
|
||||||
stream->write_function(stream, "interface_name = %s\n", tech_pvt->name);
|
stream->write_function(stream, "interface_name = %s\n", tech_pvt->name);
|
||||||
stream->write_function(stream, "interface_id = %s\n", tech_pvt->id);
|
stream->write_function(stream, "interface_id = %s\n", tech_pvt->id);
|
||||||
snprintf(value, sizeof(value) - 1, "%d", tech_pvt->active);
|
snprintf(value, sizeof(value) - 1, "%d", tech_pvt->active);
|
||||||
@ -2738,7 +2681,6 @@ SWITCH_STANDARD_API(gsmopen_dump_function)
|
|||||||
stream->write_function(stream, "dumping interface '%s'\n\n", argv[0]);
|
stream->write_function(stream, "dumping interface '%s'\n\n", argv[0]);
|
||||||
tech_pvt = &globals.GSMOPEN_INTERFACES[i];
|
tech_pvt = &globals.GSMOPEN_INTERFACES[i];
|
||||||
|
|
||||||
|
|
||||||
stream->write_function(stream, "interface_name = %s\n", tech_pvt->name);
|
stream->write_function(stream, "interface_name = %s\n", tech_pvt->name);
|
||||||
stream->write_function(stream, "interface_id = %s\n", tech_pvt->id);
|
stream->write_function(stream, "interface_id = %s\n", tech_pvt->id);
|
||||||
snprintf(value, sizeof(value) - 1, "%d", tech_pvt->active);
|
snprintf(value, sizeof(value) - 1, "%d", tech_pvt->active);
|
||||||
@ -2804,6 +2746,7 @@ end:
|
|||||||
|
|
||||||
return SWITCH_STATUS_SUCCESS;
|
return SWITCH_STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
SWITCH_STANDARD_API(gsmopen_boost_audio_function)
|
SWITCH_STANDARD_API(gsmopen_boost_audio_function)
|
||||||
{
|
{
|
||||||
char *mycmd = NULL, *argv[10] = { 0 };
|
char *mycmd = NULL, *argv[10] = { 0 };
|
||||||
@ -2834,21 +2777,27 @@ SWITCH_STANDARD_API(gsmopen_boost_audio_function)
|
|||||||
|
|
||||||
} else {
|
} else {
|
||||||
if (argc == 1) {
|
if (argc == 1) {
|
||||||
stream->write_function(stream,"[%s] capture boost is %f\n", globals.GSMOPEN_INTERFACES[i].name, globals.GSMOPEN_INTERFACES[i].capture_boost);
|
stream->write_function(stream, "[%s] capture boost is %f\n", globals.GSMOPEN_INTERFACES[i].name,
|
||||||
stream->write_function(stream,"[%s] playback boost is %f\n", globals.GSMOPEN_INTERFACES[i].name, globals.GSMOPEN_INTERFACES[i].playback_boost);
|
globals.GSMOPEN_INTERFACES[i].capture_boost);
|
||||||
|
stream->write_function(stream, "[%s] playback boost is %f\n", globals.GSMOPEN_INTERFACES[i].name,
|
||||||
|
globals.GSMOPEN_INTERFACES[i].playback_boost);
|
||||||
stream->write_function(stream, "%s usage: %s", argv[0], GSMOPEN_BOOST_AUDIO_SYNTAX);
|
stream->write_function(stream, "%s usage: %s", argv[0], GSMOPEN_BOOST_AUDIO_SYNTAX);
|
||||||
goto end;
|
goto end;
|
||||||
} else if ((strncmp("play", argv[1], strlen(argv[1])) == 0)) {
|
} else if ((strncmp("play", argv[1], strlen(argv[1])) == 0)) {
|
||||||
if (switch_is_number(argv[2])) {
|
if (switch_is_number(argv[2])) {
|
||||||
stream->write_function(stream,"[%s] playback boost was %f\n", globals.GSMOPEN_INTERFACES[i].name, globals.GSMOPEN_INTERFACES[i].playback_boost);
|
stream->write_function(stream, "[%s] playback boost was %f\n", globals.GSMOPEN_INTERFACES[i].name,
|
||||||
|
globals.GSMOPEN_INTERFACES[i].playback_boost);
|
||||||
gsmopen_store_boost(argv[2], &globals.GSMOPEN_INTERFACES[i].playback_boost); //FIXME
|
gsmopen_store_boost(argv[2], &globals.GSMOPEN_INTERFACES[i].playback_boost); //FIXME
|
||||||
stream->write_function(stream,"[%s] playback boost is now %f\n", globals.GSMOPEN_INTERFACES[i].name, globals.GSMOPEN_INTERFACES[i].playback_boost);
|
stream->write_function(stream, "[%s] playback boost is now %f\n", globals.GSMOPEN_INTERFACES[i].name,
|
||||||
|
globals.GSMOPEN_INTERFACES[i].playback_boost);
|
||||||
}
|
}
|
||||||
} else if ((strncmp("capt", argv[1], strlen(argv[1])) == 0)) {
|
} else if ((strncmp("capt", argv[1], strlen(argv[1])) == 0)) {
|
||||||
if (switch_is_number(argv[2])) {
|
if (switch_is_number(argv[2])) {
|
||||||
stream->write_function(stream,"[%s] capture boost was %f\n", globals.GSMOPEN_INTERFACES[i].name, globals.GSMOPEN_INTERFACES[i].capture_boost);
|
stream->write_function(stream, "[%s] capture boost was %f\n", globals.GSMOPEN_INTERFACES[i].name,
|
||||||
|
globals.GSMOPEN_INTERFACES[i].capture_boost);
|
||||||
gsmopen_store_boost(argv[2], &globals.GSMOPEN_INTERFACES[i].capture_boost); //FIXME
|
gsmopen_store_boost(argv[2], &globals.GSMOPEN_INTERFACES[i].capture_boost); //FIXME
|
||||||
stream->write_function(stream,"[%s] capture boost is now %f\n", globals.GSMOPEN_INTERFACES[i].name, globals.GSMOPEN_INTERFACES[i].capture_boost);
|
stream->write_function(stream, "[%s] capture boost is now %f\n", globals.GSMOPEN_INTERFACES[i].name,
|
||||||
|
globals.GSMOPEN_INTERFACES[i].capture_boost);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
stream->write_function(stream, "ERROR, usage: %s", GSMOPEN_BOOST_AUDIO_SYNTAX);
|
stream->write_function(stream, "ERROR, usage: %s", GSMOPEN_BOOST_AUDIO_SYNTAX);
|
||||||
@ -2863,7 +2812,6 @@ SWITCH_STANDARD_API(gsmopen_boost_audio_function)
|
|||||||
return SWITCH_STATUS_SUCCESS;
|
return SWITCH_STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
int gsmopen_transfer(private_t *tech_pvt, char *id, char *value)
|
int gsmopen_transfer(private_t *tech_pvt, char *id, char *value)
|
||||||
{
|
{
|
||||||
@ -3019,7 +2967,6 @@ void *gsmopen_do_gsmopenapi_thread_func(void *obj)
|
|||||||
//FIXME ERRORA("gsmopen_new failed! BAD BAD BAD\n", GSMOPEN_P_LOG);
|
//FIXME ERRORA("gsmopen_new failed! BAD BAD BAD\n", GSMOPEN_P_LOG);
|
||||||
//FIXME }
|
//FIXME }
|
||||||
|
|
||||||
|
|
||||||
} else if (tech_pvt->controldevprotocol != PROTOCOL_NO_SERIAL && tech_pvt->interface_state == GSMOPEN_STATE_DIALING) {
|
} else if (tech_pvt->controldevprotocol != PROTOCOL_NO_SERIAL && tech_pvt->interface_state == GSMOPEN_STATE_DIALING) {
|
||||||
WARNINGA("WE'RE DIALING, let's take the earlymedia\n", GSMOPEN_P_LOG);
|
WARNINGA("WE'RE DIALING, let's take the earlymedia\n", GSMOPEN_P_LOG);
|
||||||
tech_pvt->interface_state = CALLFLOW_STATUS_EARLYMEDIA;
|
tech_pvt->interface_state = CALLFLOW_STATUS_EARLYMEDIA;
|
||||||
@ -3029,9 +2976,6 @@ void *gsmopen_do_gsmopenapi_thread_func(void *obj)
|
|||||||
//FIXME ERRORA("gsmopen_new failed! BAD BAD BAD\n", GSMOPEN_P_LOG);
|
//FIXME ERRORA("gsmopen_new failed! BAD BAD BAD\n", GSMOPEN_P_LOG);
|
||||||
//FIXME }
|
//FIXME }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
} else if (tech_pvt->interface_state == CALLFLOW_CALL_REMOTEANSWER) {
|
} else if (tech_pvt->interface_state == CALLFLOW_CALL_REMOTEANSWER) {
|
||||||
WARNINGA("REMOTE PARTY ANSWERED\n", GSMOPEN_P_LOG);
|
WARNINGA("REMOTE PARTY ANSWERED\n", GSMOPEN_P_LOG);
|
||||||
outbound_channel_answered(tech_pvt);
|
outbound_channel_answered(tech_pvt);
|
||||||
@ -3054,7 +2998,6 @@ void *gsmopen_do_gsmopenapi_thread_func(void *obj)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
SWITCH_STANDARD_API(sendsms_function)
|
SWITCH_STANDARD_API(sendsms_function)
|
||||||
{
|
{
|
||||||
char *mycmd = NULL, *argv[3] = { 0 };
|
char *mycmd = NULL, *argv[3] = { 0 };
|
||||||
@ -3212,7 +3155,6 @@ int dump_event(private_t * tech_pvt)
|
|||||||
return dump_event_full(tech_pvt, 0, 0, NULL);
|
return dump_event_full(tech_pvt, 0, 0, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int alarm_event(private_t *tech_pvt, int alarm_code, const char *alarm_message)
|
int alarm_event(private_t *tech_pvt, int alarm_code, const char *alarm_message)
|
||||||
{
|
{
|
||||||
return dump_event_full(tech_pvt, 1, alarm_code, alarm_message);
|
return dump_event_full(tech_pvt, 1, alarm_code, alarm_message);
|
||||||
@ -3295,7 +3237,6 @@ int sms_incoming(private_t * tech_pvt)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#ifdef NOTDEF
|
#ifdef NOTDEF
|
||||||
SWITCH_STANDARD_API(gsmopen_chat_function)
|
SWITCH_STANDARD_API(gsmopen_chat_function)
|
||||||
{
|
{
|
||||||
@ -3342,8 +3283,9 @@ SWITCH_STANDARD_API(gsmopen_chat_function)
|
|||||||
//chat_send(p*roto, const char *from, const char *to, const char *subject, const char *body, const char *type, const char *hint);
|
//chat_send(p*roto, const char *from, const char *to, const char *subject, const char *body, const char *type, const char *hint);
|
||||||
//chat_send(GSMOPEN_CHAT_PROTO, tech_pvt->skype_user, argv[1], "SIMPLE MESSAGE", switch_str_nil((char *) &cmd[strlen(argv[0]) + 1 + strlen(argv[1]) + 1]), NULL, hint);
|
//chat_send(GSMOPEN_CHAT_PROTO, tech_pvt->skype_user, argv[1], "SIMPLE MESSAGE", switch_str_nil((char *) &cmd[strlen(argv[0]) + 1 + strlen(argv[1]) + 1]), NULL, hint);
|
||||||
|
|
||||||
NOTICA("chat_send(proto=%s, from=%s, to=%s, subject=%s, body=%s, type=NULL, hint=%s)\n", GSMOPEN_P_LOG, GSMOPEN_CHAT_PROTO, tech_pvt->skype_user,
|
NOTICA("chat_send(proto=%s, from=%s, to=%s, subject=%s, body=%s, type=NULL, hint=%s)\n", GSMOPEN_P_LOG, GSMOPEN_CHAT_PROTO,
|
||||||
argv[1], "SIMPLE MESSAGE", switch_str_nil((char *) &cmd[strlen(argv[0]) + 1 + strlen(argv[1]) + 1]), tech_pvt->name);
|
tech_pvt->skype_user, argv[1], "SIMPLE MESSAGE", switch_str_nil((char *) &cmd[strlen(argv[0]) + 1 + strlen(argv[1]) + 1]),
|
||||||
|
tech_pvt->name);
|
||||||
|
|
||||||
chat_send(GSMOPEN_CHAT_PROTO, tech_pvt->skype_user, argv[1], "SIMPLE MESSAGE",
|
chat_send(GSMOPEN_CHAT_PROTO, tech_pvt->skype_user, argv[1], "SIMPLE MESSAGE",
|
||||||
switch_str_nil((char *) &cmd[strlen(argv[0]) + 1 + strlen(argv[1]) + 1]), NULL, tech_pvt->name);
|
switch_str_nil((char *) &cmd[strlen(argv[0]) + 1 + strlen(argv[1]) + 1]), NULL, tech_pvt->name);
|
||||||
@ -3390,7 +3332,6 @@ SWITCH_STANDARD_API(gsmopen_chat_function)
|
|||||||
}
|
}
|
||||||
#endif // NOTDEF
|
#endif // NOTDEF
|
||||||
|
|
||||||
|
|
||||||
/* For Emacs:
|
/* For Emacs:
|
||||||
* Local Variables:
|
* Local Variables:
|
||||||
* mode:c
|
* mode:c
|
||||||
|
Loading…
x
Reference in New Issue
Block a user