[Freeswitch-svn] [commit] r11207 - in freeswitch/branches/ctrix/mod_airpe: . config
FreeSWITCH SVN
ctrix at freeswitch.org
Wed Jan 14 16:03:50 PST 2009
Author: ctrix
Date: Wed Jan 14 18:03:50 2009
New Revision: 11207
Log:
Add option to let the client auto-auth incoming requests
Modified:
freeswitch/branches/ctrix/mod_airpe/airpe_api.c
freeswitch/branches/ctrix/mod_airpe/airpe_if_common.c
freeswitch/branches/ctrix/mod_airpe/airpe_if_x11.c
freeswitch/branches/ctrix/mod_airpe/config/airpe.conf.xml
freeswitch/branches/ctrix/mod_airpe/mod_airpe.c
freeswitch/branches/ctrix/mod_airpe/mod_airpe.h
Modified: freeswitch/branches/ctrix/mod_airpe/airpe_api.c
==============================================================================
--- freeswitch/branches/ctrix/mod_airpe/airpe_api.c (original)
+++ freeswitch/branches/ctrix/mod_airpe/airpe_api.c Wed Jan 14 18:03:50 2009
@@ -152,6 +152,11 @@
switch_snprintf(buf, sizeof(buf), "%-20s: %s\n", "Mood text", (airpe->mood_text ) ? airpe->mood_text : "Unknown" );
stream->write_function(stream, buf);
+ switch_snprintf(buf, sizeof(buf), "%-20s: %s\n", "Debug", (airpe->debug ) ? "Yes" : "No" );
+ stream->write_function(stream, buf);
+ switch_snprintf(buf, sizeof(buf), "%-20s: %s\n", "Auto-auth", (airpe->auto_auth) ? "Yes" : "No" );
+ stream->write_function(stream, buf);
+
done:
return SWITCH_STATUS_SUCCESS;
}
Modified: freeswitch/branches/ctrix/mod_airpe/airpe_if_common.c
==============================================================================
--- freeswitch/branches/ctrix/mod_airpe/airpe_if_common.c (original)
+++ freeswitch/branches/ctrix/mod_airpe/airpe_if_common.c Wed Jan 14 18:03:50 2009
@@ -553,10 +553,10 @@
else if ( !strncmp( buf, "USER", strlen("USER")) && argc >= 2 ) {
/* Updates about the users of our list or new auth requests */
if ( !strncmp(argv[2], "RECEIVEDAUTHREQUEST", strlen("RECEIVEDAUTHREQUEST") ) ) {
- /* TODO add option to ignore such requests */
- char buf[SKYPE_MSG_LEN] = "";
- snprintf(buf, sizeof(buf), "SET USER %s ISAUTHORIZED TRUE", argv[1]);
- airpe_cmd_write(airpe, buf);
+ if ( airpe->auto_auth ) {
+ snprintf(buf, sizeof(buf), "SET USER %s ISAUTHORIZED TRUE", argv[1]);
+ airpe_cmd_write(airpe, buf);
+ }
}
}
else if ( !strncmp( buf, "GROUP", strlen("GROUP")) ) {
@@ -583,7 +583,7 @@
else if ( !strncmp( buf, "CHAT", strlen("CHAT")) && argc >=2 ) {
/* Chat status - ignored. */
if ( airpe->protocol > 6 ) {
- //TODO : ALTER CHAT <chat_id> DISBAND - Doesn't seems to work on linux
+ /* ALTER CHAT <chat_id> DISBAND - Doesn't seems to work on linux */
char buf[SKYPE_MSG_LEN] = "";
snprintf(buf, sizeof(buf), "ALTER CHAT %s DISBAND", argv[1]);
airpe_cmd_write(airpe, buf);
@@ -616,13 +616,13 @@
if ( !strncmp(cmd, "DURATION", strlen("DURATION")) ) {
/* Ignore the duration that is updated every second */
+ /* TODO: maybe in the future we could consider this message as a keepalive signal */
if ( callid != airpe->active_call_id ) {
char buf[SKYPE_MSG_LEN] = "";
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "airpe client %s: hanging up unknown call id %d\n", airpe->name, callid);
snprintf(buf, sizeof(buf), "SET CALL %d STATUS FINISHED", callid);
airpe_cmd_write(airpe, buf);
}
- //TODO: maybe we could consider this message as a keepalive signal
}
else if ( !strncmp(cmd, "STATUS", strlen("STATUS")) && argc >=4 ) {
char *callstatus = argv[3];
@@ -734,7 +734,11 @@
/* Ignoring by now */
}
else if ( !strncmp( buf, "ERROR", strlen("ERROR")) ) {
- //TODO If we are in the middle of a call, hangup
+ /* If we are in the middle of a call, hangup */
+ if ( airpe->active_call_id ) {
+ snprintf(buf, sizeof(buf), "ALTER CALL %d END HANGUP", airpe->active_call_id );
+ airpe_cmd_write(airpe, buf);
+ }
}
else {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Unmanaged message\n");
Modified: freeswitch/branches/ctrix/mod_airpe/airpe_if_x11.c
==============================================================================
--- freeswitch/branches/ctrix/mod_airpe/airpe_if_x11.c (original)
+++ freeswitch/branches/ctrix/mod_airpe/airpe_if_x11.c Wed Jan 14 18:03:50 2009
@@ -95,8 +95,7 @@
switch_log_printf( SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING,
"HEY! where is my skype window gone ? Restarting skype for client...\n");
/*
-
- TODO AND TO USE
+ TODO AND TO USE - Start skype client
int fid;
const char *args[] = { "skype", "--actiondispatch", params, 0 };
Modified: freeswitch/branches/ctrix/mod_airpe/config/airpe.conf.xml
==============================================================================
--- freeswitch/branches/ctrix/mod_airpe/config/airpe.conf.xml (original)
+++ freeswitch/branches/ctrix/mod_airpe/config/airpe.conf.xml Wed Jan 14 18:03:50 2009
@@ -19,6 +19,7 @@
<param name="context" value="default"/>
<param name="destination" value="4321"/>
+ <param name="auto-auth" value="false"/>
<!--
The following params won't be affected by reloading xml
-->
Modified: freeswitch/branches/ctrix/mod_airpe/mod_airpe.c
==============================================================================
--- freeswitch/branches/ctrix/mod_airpe/mod_airpe.c (original)
+++ freeswitch/branches/ctrix/mod_airpe/mod_airpe.c Wed Jan 14 18:03:50 2009
@@ -260,7 +260,6 @@
if ( switch_test_flag(tech_pvt, TFLAG_OUTBOUND) ) {
airpe_originate(tech_pvt->airpe, tech_pvt->destination );
- // TODO if fail switch_channel_hangup(channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER);
}
switch_channel_set_state(channel, CS_ROUTING);
@@ -509,14 +508,13 @@
switch (sig) {
case SWITCH_SIG_KILL:
break;
- case SWITCH_SIG_BREAK:
+ case SWITCH_SIG_BREAK:
break;
- default:
- //TODO Log unhandled signal
- break;
- }
+ default:
+ break;
+ }
- return SWITCH_STATUS_SUCCESS;
+ return SWITCH_STATUS_SUCCESS;
}
static switch_status_t channel_send_dtmf(switch_core_session_t * session, const switch_dtmf_t * dtmf) {
@@ -686,6 +684,7 @@
char *skype_password= NULL;
char *cid_name = NULL;
char *cid_num = NULL;
+ int auto_auth = 0;
int debug = 0;
airpe_interface_t *newconf = NULL;
@@ -701,6 +700,8 @@
if (!strcasecmp(var, "debug")) {
debug = switch_true(val) ? 1 : 0;
+ } else if (!strcasecmp(var, "auto-auth")) {
+ auto_auth = switch_true(val) ? 1 : 0;
} else if (!strcasecmp(var, "context")) {
context = val;
} else if (!strcasecmp(var, "dialplan")) {
@@ -765,6 +766,7 @@
newconf->dialplan = switch_core_strdup(pool, dialplan);
newconf->context = switch_core_strdup(pool, context);
newconf->destination = switch_core_strdup(pool, destination);
+ newconf->auto_auth = auto_auth;
newconf->debug = debug;
if ( reload ) {
Modified: freeswitch/branches/ctrix/mod_airpe/mod_airpe.h
==============================================================================
--- freeswitch/branches/ctrix/mod_airpe/mod_airpe.h (original)
+++ freeswitch/branches/ctrix/mod_airpe/mod_airpe.h Wed Jan 14 18:03:50 2009
@@ -139,6 +139,7 @@
char *skype_user;
char *skype_password;
+ int auto_auth;
int audio_in_port;
int audio_out_port;
switch_socket_t *audio_in_socket;
More information about the Freeswitch-svn
mailing list