[Freeswitch-branches] [commit] r10670 - freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax
FreeSWITCH SVN
gmaruzz at freeswitch.org
Tue Dec 9 01:43:33 PST 2008
Author: gmaruzz
Date: Tue Dec 9 04:43:33 2008
New Revision: 10670
Log:
skypiax: added skypiax.h, beginning to structure files
Added:
freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax.h
Modified:
freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/mod_skypiax.c
Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/mod_skypiax.c
==============================================================================
--- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/mod_skypiax.c (original)
+++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/mod_skypiax.c Tue Dec 9 04:43:33 2008
@@ -1,114 +1,5 @@
-/*
- * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- * Copyright (C) 2005/2006, Anthony Minessale II <anthmct at yahoo.com>
- *
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
- *
- * The Initial Developer of the Original Code is
- * Anthony Minessale II <anthmct at yahoo.com>
- * Portions created by the Initial Developer are Copyright (C)
- * the Initial Developer. All Rights Reserved.
- *
- * This module (mod_skypiax) has been contributed by:
- *
- * Giovanni Maruzzelli (gmaruzz at gmail.com)
- *
- *
- * Further Contributors:
- *
- *
- *
- * mod_skypiax.c -- Skype compatible Endpoint Module
- *
- */
-
-#undef WIN32_SKYPIAX
-#undef __CYGWIN__
-#define MOD_SKYPIAX
-#ifdef MOD_SKYPIAX
-
-#ifndef WIN32_SKYPIAX
-#include <X11/Xlib.h>
-#include <X11/Xlibint.h>
-#include <X11/Xatom.h>
-#else //WIN32_SKYPIAX
-//FIXME include?
-#endif //WIN32_SKYPIAX
-
-#include <switch.h>
-
-#define SKYPIAX_SVN_VERSION "SVN 123456"
-
-#define DEBUGA_SKYPE(...) switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "rev "SKYPIAX_SVN_VERSION "[%p|%-7lx][DEBUG_SKYPE %-5d][%-10s][%2d,%2d,%2d] " __VA_ARGS__ );
-#define DEBUGA_CALL(...) switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "rev "SKYPIAX_SVN_VERSION "[%p|%-7lx][DEBUG_CALL %-5d][%-10s][%2d,%2d,%2d] " __VA_ARGS__ );
-#define DEBUGA_PBX(...) switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "rev "SKYPIAX_SVN_VERSION "[%p|%-7lx][DEBUG_PBX %-5d][%-10s][%2d,%2d,%2d] " __VA_ARGS__ );
-#define ERRORA(...) switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "rev "SKYPIAX_SVN_VERSION "[%p|%-7lx][ERRORA %-5d][%-10s][%2d,%2d,%2d] " __VA_ARGS__ );
-#define WARNINGA(...) switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "rev "SKYPIAX_SVN_VERSION "[%p|%-7lx][WARNINGA %-5d][%-10s][%2d,%2d,%2d] " __VA_ARGS__ );
-#define NOTICA(...) switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "rev "SKYPIAX_SVN_VERSION "[%p|%-7lx][NOTICA %-5d][%-10s][%2d,%2d,%2d] " __VA_ARGS__ );
-
-#define SKYPIAX_P_LOG NULL, (unsigned long)55, __LINE__, p ? p->name ? p->name : "none" : "none", -1, p ? p->interface_state : -1, p ? p->skype_callflow : -1
-
-/*********************************/
-#define SKYPIAX_CAUSE_NORMAL 1
-/*********************************/
-#define SKYPIAX_FRAME_DTMF 1
-/*********************************/
-#define SKYPIAX_CONTROL_RINGING 1
-#define SKYPIAX_CONTROL_ANSWER 2
-
-/*********************************/
-#define SKYPIAX_STATE_DOWN 1
-#define SKYPIAX_STATE_RING 2
-#define SKYPIAX_STATE_DIALING 3
-#define SKYPIAX_STATE_BUSY 4
-#define SKYPIAX_STATE_UP 5
-#define SKYPIAX_STATE_RINGING 6
-#define SKYPIAX_STATE_PRERING 7
-/*********************************/
-/* call flow from the device */
-#define CALLFLOW_CALL_IDLE SKYPIAX_STATE_DOWN
-#define CALLFLOW_INCOMING_RING SKYPIAX_STATE_RING
-#define CALLFLOW_CALL_DIALING SKYPIAX_STATE_DIALING
-#define CALLFLOW_CALL_LINEBUSY SKYPIAX_STATE_BUSY
-#define CALLFLOW_CALL_ACTIVE 300
-#define CALLFLOW_INCOMING_HANGUP 100
-#define CALLFLOW_CALL_RELEASED 101
-#define CALLFLOW_CALL_NOCARRIER 102
-#define CALLFLOW_CALL_INFLUX 103
-#define CALLFLOW_CALL_INCOMING 104
-#define CALLFLOW_CALL_FAILED 105
-#define CALLFLOW_CALL_NOSERVICE 106
-#define CALLFLOW_CALL_OUTGOINGRESTRICTED 107
-#define CALLFLOW_CALL_SECURITYFAIL 108
-#define CALLFLOW_CALL_NOANSWER 109
-#define CALLFLOW_STATUS_FINISHED 110
-#define CALLFLOW_STATUS_CANCELLED 111
-#define CALLFLOW_STATUS_FAILED 112
-#define CALLFLOW_STATUS_REFUSED 113
-#define CALLFLOW_STATUS_RINGING 114
-#define CALLFLOW_STATUS_INPROGRESS 115
-#define CALLFLOW_STATUS_UNPLACED 116
-#define CALLFLOW_STATUS_ROUTING 117
-#define CALLFLOW_STATUS_EARLYMEDIA 118
-#define SKYPIAX_STATE_HANGUP_REQUESTED 200
- //FIXME CALLFLOW_INCOMING_CALLID to be removed
-#define CALLFLOW_INCOMING_CALLID 1019
+#include "skypiax.h"
-/*********************************/
-
-#define SKYPIAX_MAX_INTERFACES 64
SWITCH_MODULE_LOAD_FUNCTION(mod_skypiax_load);
SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_skypiax_shutdown);
@@ -119,23 +10,6 @@
static switch_memory_pool_t *module_pool = NULL;
static int running = 1;
-#ifndef WIN32_SKYPIAX
-struct AsteriskHandles {
- Window skype_win;
- Display *disp;
- Window win;
- switch_file_t *fdesc[2];
-};
-#else //WIN32_SKYPIAX
-
-struct AsteriskHandles {
- HWND win32_hInit_MainWindowHandle;
- HWND win32_hGlobal_SkypeAPIWindowHandle;
- switch_file_t *fdesc[2];
-};
-
-#endif //WIN32_SKYPIAX
-
typedef enum {
TFLAG_IO = (1 << 0),
TFLAG_INBOUND = (1 << 1),
@@ -170,76 +44,14 @@
switch_mutex_t *mutex;
} globals;
-struct skypiax_interface {
- char interface_id[80];
- char name[80];
- char dialplan[80];
- char context[80];
- char dial_regex[256];
- char fail_dial_regex[256];
- char hold_music[256];
- char type[256];
- char X11_display[256];
- struct AsteriskHandles AsteriskHandlesAst;
-
- int interface_state; /*!< \brief 'state' of the interface (channel) */
- char language[80]; /*!< \brief default Asterisk dialplan language for this interface */
- char exten[80]; /*!< \brief default Asterisk dialplan extension for this interface */
- int skypiax_sound_rate; /*!< \brief rate of the sound device, in Hz, eg: 8000 */
- switch_file_t *skypiax_sound_capt_fd; /*!< \brief file descriptor for sound capture dev */
- char callid_name[50];
- char callid_number[50];
- double playback_boost;
- double capture_boost;
- int stripmsd;
- switch_thread_t *skype_thread;
- char skype_call_id[512];
- int skype_call_ongoing;
- char skype_friends[4096];
- char skype_fullname[512];
- char skype_displayname[512];
- int skype_callflow; /*!< \brief 'callflow' of the skype interface (as opposed to phone interface) */
- int skype; /*!< \brief config flag, bool, Skype support on this interface (0 if false, -1 if true) */
- int control_to_send;
- switch_file_t *audiopipe[2];
- switch_file_t *audioskypepipe[2];
- switch_thread_t *tcp_srv_thread;
- switch_thread_t *tcp_cli_thread;
- short audiobuf[160];
- int audiobuf_is_loaded;
-
- //int phonebook_listing;
- //int phonebook_querying;
- //int phonebook_listing_received_calls;
-
- //int phonebook_first_entry;
- //int phonebook_last_entry;
- //int phonebook_number_lenght;
- //int phonebook_text_lenght;
- FILE *phonebook_writing_fp;
- int skypiax_dir_entry_extension_prefix;
- void *tech_pvt;
-};
+static skypiax_interface_t SKYPIAX_INTERFACES[SKYPIAX_MAX_INTERFACES];
+
+int option_debug = 100;
+switch_core_session_t *global_session = NULL;
-typedef struct skypiax_interface skypiax_interface_t;
-static skypiax_interface_t SKYPIAX_INTERFACES[SKYPIAX_MAX_INTERFACES];
-struct private_object {
- unsigned int flags;
- switch_codec_t read_codec;
- switch_codec_t write_codec;
- switch_frame_t read_frame;
- unsigned char databuf[SWITCH_RECOMMENDED_BUFFER_SIZE];
- switch_core_session_t *session;
- switch_caller_profile_t *caller_profile;
- switch_mutex_t *mutex;
- switch_mutex_t *flag_mutex;
- skypiax_interface_t *p;
- //switch_thread_cond_t *cond;
-};
-typedef struct private_object private_t;
SWITCH_DECLARE_GLOBAL_STRING_FUNC(set_global_dialplan, globals.dialplan);
SWITCH_DECLARE_GLOBAL_STRING_FUNC(set_global_codec_string, globals.codec_string);
@@ -267,8 +79,6 @@
int stream_id);
static switch_status_t channel_kill_channel(switch_core_session_t * session, int sig);
-int option_debug = 100;
-switch_core_session_t *global_session = NULL;
#ifdef WIN32_SKYPIAX
#ifdef __CYGWIN__
@@ -1590,7 +1400,7 @@
if (read_from_pipe[i] == '\0') {
- if (option_debug > 101)
+ //if (option_debug > 101)
DEBUGA_SKYPE("read_skype: howmany=%d, i=%d, a=%d, |||%s||| \n", SKYPIAX_P_LOG,
howmany, i, a, messaggio);
@@ -2511,4 +2321,3 @@
* vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
*/
-#endif /* MOD_SKYPIAX */
Added: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax.h
==============================================================================
--- (empty file)
+++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax.h Tue Dec 9 04:43:33 2008
@@ -0,0 +1,197 @@
+/*
+ * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
+ * Copyright (C) 2005/2006, Anthony Minessale II <anthmct at yahoo.com>
+ *
+ * Version: MPL 1.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
+ *
+ * The Initial Developer of the Original Code is
+ * Anthony Minessale II <anthmct at yahoo.com>
+ * Portions created by the Initial Developer are Copyright (C)
+ * the Initial Developer. All Rights Reserved.
+ *
+ * This module (mod_skypiax) has been contributed by:
+ *
+ * Giovanni Maruzzelli (gmaruzz at gmail.com)
+ *
+ *
+ * Further Contributors:
+ *
+ *
+ *
+ * mod_skypiax.c -- Skype compatible Endpoint Module
+ *
+ */
+
+#undef WIN32_SKYPIAX
+#undef __CYGWIN__
+
+#ifndef WIN32_SKYPIAX
+#include <X11/Xlib.h>
+#include <X11/Xlibint.h>
+#include <X11/Xatom.h>
+#else //WIN32_SKYPIAX
+//FIXME include?
+#endif //WIN32_SKYPIAX
+
+#include <switch.h>
+
+#define SKYPIAX_SVN_VERSION "SVN 123456"
+
+#define DEBUGA_SKYPE(...) switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "rev "SKYPIAX_SVN_VERSION "[%p|%-7lx][DEBUG_SKYPE %-5d][%-10s][%2d,%2d,%2d] " __VA_ARGS__ );
+#define DEBUGA_CALL(...) switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "rev "SKYPIAX_SVN_VERSION "[%p|%-7lx][DEBUG_CALL %-5d][%-10s][%2d,%2d,%2d] " __VA_ARGS__ );
+#define DEBUGA_PBX(...) switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "rev "SKYPIAX_SVN_VERSION "[%p|%-7lx][DEBUG_PBX %-5d][%-10s][%2d,%2d,%2d] " __VA_ARGS__ );
+#define ERRORA(...) switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "rev "SKYPIAX_SVN_VERSION "[%p|%-7lx][ERRORA %-5d][%-10s][%2d,%2d,%2d] " __VA_ARGS__ );
+#define WARNINGA(...) switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "rev "SKYPIAX_SVN_VERSION "[%p|%-7lx][WARNINGA %-5d][%-10s][%2d,%2d,%2d] " __VA_ARGS__ );
+#define NOTICA(...) switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "rev "SKYPIAX_SVN_VERSION "[%p|%-7lx][NOTICA %-5d][%-10s][%2d,%2d,%2d] " __VA_ARGS__ );
+
+#define SKYPIAX_P_LOG NULL, (unsigned long)55, __LINE__, p ? p->name ? p->name : "none" : "none", -1, p ? p->interface_state : -1, p ? p->skype_callflow : -1
+
+/*********************************/
+#define SKYPIAX_CAUSE_NORMAL 1
+/*********************************/
+#define SKYPIAX_FRAME_DTMF 1
+/*********************************/
+#define SKYPIAX_CONTROL_RINGING 1
+#define SKYPIAX_CONTROL_ANSWER 2
+
+/*********************************/
+#define SKYPIAX_STATE_DOWN 1
+#define SKYPIAX_STATE_RING 2
+#define SKYPIAX_STATE_DIALING 3
+#define SKYPIAX_STATE_BUSY 4
+#define SKYPIAX_STATE_UP 5
+#define SKYPIAX_STATE_RINGING 6
+#define SKYPIAX_STATE_PRERING 7
+/*********************************/
+/* call flow from the device */
+#define CALLFLOW_CALL_IDLE SKYPIAX_STATE_DOWN
+#define CALLFLOW_INCOMING_RING SKYPIAX_STATE_RING
+#define CALLFLOW_CALL_DIALING SKYPIAX_STATE_DIALING
+#define CALLFLOW_CALL_LINEBUSY SKYPIAX_STATE_BUSY
+#define CALLFLOW_CALL_ACTIVE 300
+#define CALLFLOW_INCOMING_HANGUP 100
+#define CALLFLOW_CALL_RELEASED 101
+#define CALLFLOW_CALL_NOCARRIER 102
+#define CALLFLOW_CALL_INFLUX 103
+#define CALLFLOW_CALL_INCOMING 104
+#define CALLFLOW_CALL_FAILED 105
+#define CALLFLOW_CALL_NOSERVICE 106
+#define CALLFLOW_CALL_OUTGOINGRESTRICTED 107
+#define CALLFLOW_CALL_SECURITYFAIL 108
+#define CALLFLOW_CALL_NOANSWER 109
+#define CALLFLOW_STATUS_FINISHED 110
+#define CALLFLOW_STATUS_CANCELLED 111
+#define CALLFLOW_STATUS_FAILED 112
+#define CALLFLOW_STATUS_REFUSED 113
+#define CALLFLOW_STATUS_RINGING 114
+#define CALLFLOW_STATUS_INPROGRESS 115
+#define CALLFLOW_STATUS_UNPLACED 116
+#define CALLFLOW_STATUS_ROUTING 117
+#define CALLFLOW_STATUS_EARLYMEDIA 118
+#define SKYPIAX_STATE_HANGUP_REQUESTED 200
+ //FIXME CALLFLOW_INCOMING_CALLID to be removed
+#define CALLFLOW_INCOMING_CALLID 1019
+
+/*********************************/
+
+#define SKYPIAX_MAX_INTERFACES 64
+
+#ifndef WIN32_SKYPIAX
+struct AsteriskHandles {
+ Window skype_win;
+ Display *disp;
+ Window win;
+ switch_file_t *fdesc[2];
+};
+#else //WIN32_SKYPIAX
+
+struct AsteriskHandles {
+ HWND win32_hInit_MainWindowHandle;
+ HWND win32_hGlobal_SkypeAPIWindowHandle;
+ switch_file_t *fdesc[2];
+};
+
+#endif //WIN32_SKYPIAX
+
+struct skypiax_interface {
+ char interface_id[80];
+ char name[80];
+ char dialplan[80];
+ char context[80];
+ char dial_regex[256];
+ char fail_dial_regex[256];
+ char hold_music[256];
+ char type[256];
+ char X11_display[256];
+ struct AsteriskHandles AsteriskHandlesAst;
+
+ int interface_state; /*!< \brief 'state' of the interface (channel) */
+ char language[80]; /*!< \brief default Asterisk dialplan language for this interface */
+ char exten[80]; /*!< \brief default Asterisk dialplan extension for this interface */
+ int skypiax_sound_rate; /*!< \brief rate of the sound device, in Hz, eg: 8000 */
+ switch_file_t *skypiax_sound_capt_fd; /*!< \brief file descriptor for sound capture dev */
+ char callid_name[50];
+ char callid_number[50];
+ double playback_boost;
+ double capture_boost;
+ int stripmsd;
+ switch_thread_t *skype_thread;
+ char skype_call_id[512];
+ int skype_call_ongoing;
+ char skype_friends[4096];
+ char skype_fullname[512];
+ char skype_displayname[512];
+ int skype_callflow; /*!< \brief 'callflow' of the skype interface (as opposed to phone interface) */
+ int skype; /*!< \brief config flag, bool, Skype support on this interface (0 if false, -1 if true) */
+ int control_to_send;
+ switch_file_t *audiopipe[2];
+ switch_file_t *audioskypepipe[2];
+ switch_thread_t *tcp_srv_thread;
+ switch_thread_t *tcp_cli_thread;
+ short audiobuf[160];
+ int audiobuf_is_loaded;
+
+ //int phonebook_listing;
+ //int phonebook_querying;
+ //int phonebook_listing_received_calls;
+
+ //int phonebook_first_entry;
+ //int phonebook_last_entry;
+ //int phonebook_number_lenght;
+ //int phonebook_text_lenght;
+ FILE *phonebook_writing_fp;
+ int skypiax_dir_entry_extension_prefix;
+ void *tech_pvt;
+};
+
+typedef struct skypiax_interface skypiax_interface_t;
+
+struct private_object {
+ unsigned int flags;
+ switch_codec_t read_codec;
+ switch_codec_t write_codec;
+ switch_frame_t read_frame;
+ unsigned char databuf[SWITCH_RECOMMENDED_BUFFER_SIZE];
+ switch_core_session_t *session;
+ switch_caller_profile_t *caller_profile;
+ switch_mutex_t *mutex;
+ switch_mutex_t *flag_mutex;
+ skypiax_interface_t *p;
+ //switch_thread_cond_t *cond;
+};
+
+typedef struct private_object private_t;
+
+
More information about the Freeswitch-branches
mailing list