Modified: freeswitch/branches/gmaruzz/mod_gsmopen/gsmopen_protocol.cpp (16457 => 16458)
--- freeswitch/branches/gmaruzz/mod_gsmopen/gsmopen_protocol.cpp 2010-01-22 14:55:33 UTC (rev 16457)
+++ freeswitch/branches/gmaruzz/mod_gsmopen/gsmopen_protocol.cpp 2010-01-22 15:26:50 UTC (rev 16458)
@@ -591,7 +591,7 @@
//sms = SMSMessage::decode("0791934329002000040C919343276665810008900121612521801600CC00E800E900F900F200E00020006300690061006F"); // dataCodingScheme = 8
sms = SMSMessage::decode("0791934329002000040C919343276665810008900172002293404C006300690061006F0020003100320033002000620065006C00E80020043D043E0432043E044104420438002005DC05E7002005E805D005EA0020FE8EFEE0FEA0FEE4FECBFE9300204EBA5927"); // dataCodingScheme = 8 , text=ciao 123 belè новости לק ראת ﺎﻠﺠﻤﻋﺓ 人大
//sms = SMSMessage::decode("07911497941902F00414D0E474989D769F5DE4320839001040122151820000"); // dataCodingScheme = 0
- NOTICA("SMS=\n%s\n", GSMOPEN_P_LOG, sms->toString().c_str());
+ //NOTICA("SMS=\n%s\n", GSMOPEN_P_LOG, sms->toString().c_str());
memset(content2, '\0', sizeof(content2));
if (sms->dataCodingScheme().getAlphabet() == DCS_DEFAULT_ALPHABET) {
@@ -603,8 +603,8 @@
ERRORA("dataCodingScheme not supported=%d\n", GSMOPEN_P_LOG, sms->dataCodingScheme().getAlphabet());
}
- NOTICA("dataCodingScheme=%d\n", GSMOPEN_P_LOG, sms->dataCodingScheme().getAlphabet());
- NOTICA("userData= |||%s|||\n", GSMOPEN_P_LOG, content2);
+ //NOTICA("dataCodingScheme=%d\n", GSMOPEN_P_LOG, sms->dataCodingScheme().getAlphabet());
+ //NOTICA("userData= |||%s|||\n", GSMOPEN_P_LOG, content2);
#endif// NO_GSMLIB
if (tech_pvt->controldevprotocol == PROTOCOL_AT)
@@ -756,6 +756,11 @@
DEBUGA_GSMOPEN("AT+CREG? failed\n", GSMOPEN_P_LOG);
}
}
+ /* query signal strength */
+ res = gsmopen_serial_write_AT_ack(tech_pvt, "AT+CSQ");
+ if (res) {
+ DEBUGA_GSMOPEN("AT+CSQ failed\n", GSMOPEN_P_LOG);
+ }
/* IMEI */
tech_pvt->requesting_imei = 1;
res = gsmopen_serial_write_AT_ack(tech_pvt, "AT+GSN");
@@ -803,7 +808,7 @@
#else // NO_GSMLIB
res = gsmopen_serial_write_AT_ack(tech_pvt, "AT+CMGF=0");
if (res) {
- ERRORA("Error setting SMS sending mode to PDU on the cellphone, falling back to TEXT mode. Continuing\n", GSMOPEN_P_LOG);
+ WARNINGA("Error setting SMS sending mode to PDU on the cellphone, falling back to TEXT mode. Continuing\n", GSMOPEN_P_LOG);
tech_pvt->sms_pdu_not_supported = 1;
res = gsmopen_serial_write_AT_ack(tech_pvt, "AT+CMGF=1");
if (res) {
@@ -3203,7 +3208,7 @@
//sms = SMSMessage::decode("0791934329002000040C919343276665810008900121612521801600CC00E800E900F900F200E00020006300690061006F"); // dataCodingScheme = 8
sms = SMSMessage::decode("0791934329002000040C919343276665810008900172002293404C006300690061006F0020003100320033002000620065006C00E80020043D043E0432043E044104420438002005DC05E7002005E805D005EA0020FE8EFEE0FEA0FEE4FECBFE9300204EBA5927"); // dataCodingScheme = 8 , text=ciao 123 belè новости לק ראת ﺎﻠﺠﻤﻋﺓ 人大
//sms = SMSMessage::decode("07911497941902F00414D0E474989D769F5DE4320839001040122151820000"); // dataCodingScheme = 0
- NOTICA("SMS=\n%s\n", GSMOPEN_P_LOG, sms->toString().c_str());
+ //NOTICA("SMS=\n%s\n", GSMOPEN_P_LOG, sms->toString().c_str());
memset(content2, '\0', sizeof(content2));
if (sms->dataCodingScheme().getAlphabet() == DCS_DEFAULT_ALPHABET) {
@@ -3215,8 +3220,8 @@
ERRORA("dataCodingScheme not supported=%d\n", GSMOPEN_P_LOG, sms->dataCodingScheme().getAlphabet());
}
- NOTICA("dataCodingScheme=%d\n", GSMOPEN_P_LOG, sms->dataCodingScheme().getAlphabet());
- NOTICA("userData= |||%s|||\n", GSMOPEN_P_LOG, content2);
+ //NOTICA("dataCodingScheme=%d\n", GSMOPEN_P_LOG, sms->dataCodingScheme().getAlphabet());
+ //NOTICA("userData= |||%s|||\n", GSMOPEN_P_LOG, content2);
#endif// NO_GSMLIB
}
Modified: freeswitch/branches/gmaruzz/mod_gsmopen/mod_gsmopen.cpp (16457 => 16458)
--- freeswitch/branches/gmaruzz/mod_gsmopen/mod_gsmopen.cpp 2010-01-22 14:55:33 UTC (rev 16457)
+++ freeswitch/branches/gmaruzz/mod_gsmopen/mod_gsmopen.cpp 2010-01-22 15:26:50 UTC (rev 16458)
@@ -92,7 +92,7 @@
#if 1
SWITCH_STANDARD_API(gsm_function);
/* BEGIN: Changes here */
-#define GSM_SYNTAX "list [full] || console || AT_command || remove < gsmopenusername | #interface_name | #interface_id > || reload"
+#define GSM_SYNTAX "list [full] || console || AT_command || remove < interface_name | interface_id > || reload"
/* END: Changes heres */
SWITCH_STANDARD_API(gsmopen_function);
#define GSMOPEN_SYNTAX "interface_name AT_command"
@@ -460,8 +460,8 @@
//running = 0;
- if (*the_interface == '#') { /* remove by interface id or interface name */
- the_interface++;
+ //XXX if (*the_interface == '#') { /* remove by interface id or interface name */
+ //XXX the_interface++;
switch_assert(the_interface);
interface_id = atoi(the_interface);
@@ -477,14 +477,14 @@
}
}
}
- } else { /* remove by gsmopen_user */
- for (interface_id = 0; interface_id < GSMOPEN_MAX_INTERFACES; interface_id++) {
- if (strcmp(globals.GSMOPEN_INTERFACES[interface_id].gsmopen_user, the_interface) == 0) {
- tech_pvt = &globals.GSMOPEN_INTERFACES[interface_id];
- break;
- }
- }
- }
+ //XXX } //else { /* remove by gsmopen_user */
+ //for (interface_id = 0; interface_id < GSMOPEN_MAX_INTERFACES; interface_id++) {
+ //if (strcmp(globals.GSMOPEN_INTERFACES[interface_id].gsmopen_user, the_interface) == 0) {
+ //tech_pvt = &globals.GSMOPEN_INTERFACES[interface_id];
+ //break;
+ //}
+ //}
+ //}
if (!tech_pvt) {
DEBUGA_GSMOPEN("interface '%s' does not exist\n", GSMOPEN_P_LOG, the_interface);
@@ -1881,7 +1881,12 @@
gsmopen_serial_init(&globals.GSMOPEN_INTERFACES[interface_id], globals.GSMOPEN_INTERFACES[interface_id].controldevice_speed);
if (globals.GSMOPEN_INTERFACES[interface_id].controldevfd == -1) {
ERRORA("gsmopen_serial_init failed\n", GSMOPEN_P_LOG);
- return SWITCH_STATUS_FALSE;
+ ERRORA("STARTING interface_id=%d FAILED\n", GSMOPEN_P_LOG, interface_id);
+ //return SWITCH_STATUS_FALSE;
+ globals.GSMOPEN_INTERFACES[interface_id].running=0;
+ globals.GSMOPEN_INTERFACES[interface_id].active=0;
+ globals.GSMOPEN_INTERFACES[interface_id].name[0]='\0';
+ continue;
}
}
@@ -1890,7 +1895,12 @@
res = gsmopen_serial_config(&globals.GSMOPEN_INTERFACES[interface_id]);
if (res) {
ERRORA("gsmopen_serial_config failed\n", GSMOPEN_P_LOG);
- return SWITCH_STATUS_FALSE;
+ ERRORA("STARTING interface_id=%d FAILED\n", GSMOPEN_P_LOG, interface_id);
+ //return SWITCH_STATUS_FALSE;
+ globals.GSMOPEN_INTERFACES[interface_id].running=0;
+ globals.GSMOPEN_INTERFACES[interface_id].active=0;
+ globals.GSMOPEN_INTERFACES[interface_id].name[0]='\0';
+ continue;
}
}
@@ -1898,32 +1908,53 @@
#ifdef GSMOPEN_ALSA
if (alsa_init(&globals.GSMOPEN_INTERFACES[interface_id])) {
ERRORA("alsa_init failed\n", GSMOPEN_P_LOG);
- return SWITCH_STATUS_FALSE;
+ ERRORA("STARTING interface_id=%d FAILED\n", GSMOPEN_P_LOG, interface_id);
+ //return SWITCH_STATUS_FALSE;
+ globals.GSMOPEN_INTERFACES[interface_id].running=0;
+ globals.GSMOPEN_INTERFACES[interface_id].active=0;
+ globals.GSMOPEN_INTERFACES[interface_id].name[0]='\0';
+ continue;
}
if (alsa_shutdown(&globals.GSMOPEN_INTERFACES[interface_id])) {
ERRORA("alsa_shutdown failed\n", GSMOPEN_P_LOG);
- return SWITCH_STATUS_FALSE;
+ ERRORA("STARTING interface_id=%d FAILED\n", GSMOPEN_P_LOG, interface_id);
+ //return SWITCH_STATUS_FALSE;
+ globals.GSMOPEN_INTERFACES[interface_id].running=0;
+ globals.GSMOPEN_INTERFACES[interface_id].active=0;
+ globals.GSMOPEN_INTERFACES[interface_id].name[0]='\0';
+ continue;
}
#endif// GSMOPEN_ALSA
#ifdef GSMOPEN_PORTAUDIO
if (gsmopen_portaudio_init(&globals.GSMOPEN_INTERFACES[interface_id])) {
ERRORA("gsmopen_portaudio_init failed\n", GSMOPEN_P_LOG);
- return SWITCH_STATUS_FALSE;
+ ERRORA("STARTING interface_id=%d FAILED\n", GSMOPEN_P_LOG, interface_id);
+ //return SWITCH_STATUS_FALSE;
+ globals.GSMOPEN_INTERFACES[interface_id].running=0;
+ globals.GSMOPEN_INTERFACES[interface_id].active=0;
+ globals.GSMOPEN_INTERFACES[interface_id].name[0]='\0';
+ continue;
}
if (gsmopen_portaudio_shutdown(&globals.GSMOPEN_INTERFACES[interface_id])) {
ERRORA("gsmopen_portaudio_shutdown failed\n", GSMOPEN_P_LOG);
- return SWITCH_STATUS_FALSE;
+ ERRORA("STARTING interface_id=%d FAILED\n", GSMOPEN_P_LOG, interface_id);
+ //return SWITCH_STATUS_FALSE;
+ globals.GSMOPEN_INTERFACES[interface_id].running=0;
+ globals.GSMOPEN_INTERFACES[interface_id].active=0;
+ globals.GSMOPEN_INTERFACES[interface_id].name[0]='\0';
+ continue;
}
#endif// GSMOPEN_PORTAUDIO
-
}
+ globals.GSMOPEN_INTERFACES[interface_id].active=1;
+
//gsmopen_store_boost((char *)"5", &globals.GSMOPEN_INTERFACES[interface_id].capture_boost); //FIXME
//gsmopen_store_boost((char *)"10", &globals.GSMOPEN_INTERFACES[interface_id].playback_boost); //FIXME
gsmopen_store_boost((char *) capture_boost, &globals.GSMOPEN_INTERFACES[interface_id].capture_boost); //FIXME
@@ -2147,11 +2178,11 @@
switch_yield(50000);
}
fd = tech_pvt->controldevfd;
- WARNINGA("SHUTDOWN tech_pvt->controldevfd=%d\n", GSMOPEN_P_LOG, tech_pvt->controldevfd);
+ //DEBUGA_GSMOPEN("SHUTDOWN tech_pvt->controldevfd=%d\n", GSMOPEN_P_LOG, tech_pvt->controldevfd);
if (fd) {
//close(fd);
//tech_pvt->controldevfd = -1;
- WARNINGA("SHUTDOWN tech_pvt->controldevfd=%d\n", GSMOPEN_P_LOG, tech_pvt->controldevfd);
+ DEBUGA_GSMOPEN("SHUTDOWN tech_pvt->controldevfd=%d\n", GSMOPEN_P_LOG, tech_pvt->controldevfd);
}
#ifndef WIN32
shutdown(tech_pvt->audiogsmopenpipe[0], 2);
@@ -2872,7 +2903,7 @@
gsmopen_serial_getstatus_AT(tech_pvt);
}
}
- WARNINGA("EXIT\n", GSMOPEN_P_LOG);
+ DEBUGA_GSMOPEN("EXIT\n", GSMOPEN_P_LOG);
//running = 0;
return NULL;