From gmaruzz at freeswitch.org Thu Jan 1 04:10:04 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Thu, 01 Jan 2009 07:10:04 -0500 Subject: [Freeswitch-branches] [commit] r11041 - freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax Message-ID: Author: gmaruzz Date: Thu Jan 1 07:10:03 2009 New Revision: 11041 Log: skypiax: let's switch_channel_mark_answered the channel when it's actually answered, and *NOT* after having been pre_answered. Also, indent all Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/mod_skypiax.c freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax.h freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.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 Thu Jan 1 07:10:03 2009 @@ -393,15 +393,15 @@ sent = frame->datalen; //DEBUGA_SKYPE("CLI PIPE to write %d\n", SKYPIAX_P_LOG, sent); -#ifdef WIN32 +#ifdef WIN32 switch_file_write(p->audioskypepipe[1], frame->data, &sent); #else /* WIN32 */ sent = write(p->audioskypepipe[1], frame->data, sent); #endif /* WIN32 */ - if(sent != frame->datalen){ - ERRORA("CLI PIPE write %d\n", SKYPIAX_P_LOG, sent); - }else{ - //NOTICA("CLI PIPE write %d\n", SKYPIAX_P_LOG, sent); + if (sent != frame->datalen && sent != -1) { + DEBUGA_SKYPE("CLI PIPE write %d\n", SKYPIAX_P_LOG, sent); + } else { + //NOTICA("CLI PIPE write %d\n", SKYPIAX_P_LOG, sent); } return SWITCH_STATUS_SUCCESS; @@ -511,8 +511,8 @@ switch_core_session_add_stream(*new_session, NULL); if ((tech_pvt = (private_t *) switch_core_session_alloc(*new_session, sizeof(private_t))) != 0) { - tech_pvt->p = &globals.SKYPIAX_INTERFACES[19]; //FIXME - globals.SKYPIAX_INTERFACES[19].tech_pvt = tech_pvt; //FIXME + tech_pvt->p = &globals.SKYPIAX_INTERFACES[19]; //FIXME + globals.SKYPIAX_INTERFACES[19].tech_pvt = tech_pvt; //FIXME channel = switch_core_session_get_channel(*new_session); skypiax_tech_init(tech_pvt, *new_session, NULL); } else { @@ -542,7 +542,7 @@ switch_channel_set_flag(channel, CF_OUTBOUND); switch_set_flag_locked(tech_pvt, TFLAG_OUTBOUND); switch_channel_set_state(channel, CS_INIT); - switch_channel_mark_pre_answered(channel); + //switch_channel_mark_pre_answered(channel); return SWITCH_CAUSE_SUCCESS; } @@ -590,20 +590,20 @@ if (channel) { switch_channel_hangup(channel, SWITCH_CAUSE_NORMAL_CLEARING); //DEBUGA_SKYPE("after channel_on_hangup\n", SKYPIAX_P_LOG); - - } else { - ERRORA("no channel?\n", SKYPIAX_P_LOG); - } + + } else { + ERRORA("no channel?\n", SKYPIAX_P_LOG); + } + + } else { + ERRORA("no session?\n", SKYPIAX_P_LOG); + } } else { - ERRORA("no session?\n", SKYPIAX_P_LOG); - } - - } else { - ERRORA("no tech_pvt?\n", SKYPIAX_P_LOG); + ERRORA("no tech_pvt?\n", SKYPIAX_P_LOG); } - p->interface_state = SKYPIAX_STATE_DOWN; - global_session = NULL; //FIXME + p->interface_state = SKYPIAX_STATE_DOWN; + global_session = NULL; //FIXME } } @@ -802,14 +802,13 @@ if (name) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "name=%s\n", name); } - #ifndef WIN32 - if (!XInitThreads()) { - ERRORA("Not initialized XInitThreads!\n", SKYPIAX_P_LOG); - } else { - DEBUGA_SKYPE("Initialized XInitThreads!\n", SKYPIAX_P_LOG); - } - switch_sleep(100); + if (!XInitThreads()) { + ERRORA("Not initialized XInitThreads!\n", SKYPIAX_P_LOG); + } else { + DEBUGA_SKYPE("Initialized XInitThreads!\n", SKYPIAX_P_LOG); + } + switch_sleep(100); #endif /* WIN32 */ if (interface_id && interface_id < SKYPIAX_MAX_INTERFACES) { @@ -828,36 +827,45 @@ switch_set_string(globals.SKYPIAX_INTERFACES[interface_id].name, "N/A"); } #ifdef WIN32 - globals.SKYPIAX_INTERFACES[interface_id].tcp_cli_port = (unsigned short)atoi(tcp_cli_port); - globals.SKYPIAX_INTERFACES[interface_id].tcp_srv_port = (unsigned short)atoi(tcp_srv_port); + globals.SKYPIAX_INTERFACES[interface_id].tcp_cli_port = + (unsigned short) atoi(tcp_cli_port); + globals.SKYPIAX_INTERFACES[interface_id].tcp_srv_port = + (unsigned short) atoi(tcp_srv_port); #else /* WIN32 */ - globals.SKYPIAX_INTERFACES[interface_id].tcp_cli_port = atoi(tcp_cli_port); - globals.SKYPIAX_INTERFACES[interface_id].tcp_srv_port = atoi(tcp_srv_port); + globals.SKYPIAX_INTERFACES[interface_id].tcp_cli_port = atoi(tcp_cli_port); + globals.SKYPIAX_INTERFACES[interface_id].tcp_srv_port = atoi(tcp_srv_port); #endif /* WIN32 */ //switch_set_string(globals.SKYPIAX_INTERFACES[interface_id].tcp_cli_port, tcp_cli_port); //switch_set_string(globals.SKYPIAX_INTERFACES[interface_id].tcp_srv_port, tcp_srv_port); - switch_set_string(globals.SKYPIAX_INTERFACES[interface_id].X11_display, X11_display); - switch_set_string(globals.SKYPIAX_INTERFACES[interface_id].skype_user, skype_user); - switch_set_string(globals.SKYPIAX_INTERFACES[interface_id].skype_password, skype_password); + switch_set_string(globals.SKYPIAX_INTERFACES[interface_id].X11_display, + X11_display); + switch_set_string(globals.SKYPIAX_INTERFACES[interface_id].skype_user, + skype_user); + switch_set_string(globals.SKYPIAX_INTERFACES[interface_id].skype_password, + skype_password); switch_set_string(globals.SKYPIAX_INTERFACES[interface_id].context, context); switch_set_string(globals.SKYPIAX_INTERFACES[interface_id].dialplan, dialplan); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "interface_id=%d globals.SKYPIAX_INTERFACES[interface_id].X11_display=%s\n", - interface_id, globals.SKYPIAX_INTERFACES[interface_id].X11_display); + interface_id, + globals.SKYPIAX_INTERFACES[interface_id].X11_display); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "interface_id=%d globals.SKYPIAX_INTERFACES[interface_id].skype_user=%s\n", - interface_id, globals.SKYPIAX_INTERFACES[interface_id].skype_user); + interface_id, + globals.SKYPIAX_INTERFACES[interface_id].skype_user); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "interface_id=%d globals.SKYPIAX_INTERFACES[interface_id].skype_password=%s\n", - interface_id, globals.SKYPIAX_INTERFACES[interface_id].skype_password); + interface_id, + globals.SKYPIAX_INTERFACES[interface_id].skype_password); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "interface_id=%d globals.SKYPIAX_INTERFACES[interface_id].tcp_cli_port=%d\n", - interface_id, globals.SKYPIAX_INTERFACES[interface_id].tcp_cli_port); + interface_id, + globals.SKYPIAX_INTERFACES[interface_id].tcp_cli_port); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "interface_id=%d globals.SKYPIAX_INTERFACES[interface_id].tcp_srv_port=%d\n", - interface_id, globals.SKYPIAX_INTERFACES[interface_id].tcp_srv_port); + interface_id, + globals.SKYPIAX_INTERFACES[interface_id].tcp_srv_port); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "interface_id=%d globals.SKYPIAX_INTERFACES[interface_id].name=%s\n", interface_id, globals.SKYPIAX_INTERFACES[interface_id].name); @@ -866,15 +874,18 @@ interface_id, globals.SKYPIAX_INTERFACES[interface_id].context); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "interface_id=%d globals.SKYPIAX_INTERFACES[interface_id].dialplan=%s\n", - interface_id, globals.SKYPIAX_INTERFACES[interface_id].dialplan); + interface_id, + globals.SKYPIAX_INTERFACES[interface_id].dialplan); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "STARTING interface_id=%d\n", interface_id); switch_threadattr_create(&do_skype_thd_attr, skypiax_module_pool); //switch_threadattr_detach_set(do_skype_thd_attr, 1); switch_threadattr_stacksize_set(do_skype_thd_attr, SWITCH_THREAD_STACKSIZE); - switch_thread_create(&globals.SKYPIAX_INTERFACES[interface_id].skypiax_do_skype_thread_thread, do_skype_thd_attr, do_skype_thread, - &globals.SKYPIAX_INTERFACES[interface_id], skypiax_module_pool); + switch_thread_create(&globals.SKYPIAX_INTERFACES[interface_id]. + skypiax_do_skype_thread_thread, do_skype_thd_attr, + do_skype_thread, &globals.SKYPIAX_INTERFACES[interface_id], + skypiax_module_pool); switch_sleep(100000); @@ -883,10 +894,12 @@ //switch_threadattr_detach_set(skypiax_do_controldev_thread_thd_attr, 1); switch_threadattr_stacksize_set(skypiax_do_controldev_thread_thd_attr, SWITCH_THREAD_STACKSIZE); - switch_thread_create(&globals.SKYPIAX_INTERFACES[interface_id].skypiax_do_controldev_thread_thread, + switch_thread_create(&globals.SKYPIAX_INTERFACES[interface_id]. + skypiax_do_controldev_thread_thread, skypiax_do_controldev_thread_thd_attr, skypiax_do_controldev_thread, - &globals.SKYPIAX_INTERFACES[interface_id], skypiax_module_pool); + &globals.SKYPIAX_INTERFACES[interface_id], + skypiax_module_pool); switch_sleep(1000000); @@ -932,7 +945,7 @@ SWITCH_MODULE_LOAD_FUNCTION(mod_skypiax_load) { - struct skypiax_interface *p = NULL; //for logging + struct skypiax_interface *p = NULL; //for logging skypiax_module_pool = pool; @@ -966,58 +979,61 @@ struct skypiax_interface *p = NULL; switch_status_t status; unsigned int howmany = 8; -int interface_id; + int interface_id; //p = &globals.SKYPIAX_INTERFACES[2]; running = 0; -for(interface_id=0; interface_id < SKYPIAX_MAX_INTERFACES; interface_id++){ - p = &globals.SKYPIAX_INTERFACES[interface_id]; + for (interface_id = 0; interface_id < SKYPIAX_MAX_INTERFACES; interface_id++) { + p = &globals.SKYPIAX_INTERFACES[interface_id]; -if(globals.SKYPIAX_INTERFACES[interface_id].skypiax_do_controldev_thread_thread){ + if (globals.SKYPIAX_INTERFACES[interface_id].skypiax_do_controldev_thread_thread) { #ifdef WIN32 - switch_file_write(p->AsteriskHandlesAst.fdesc[1], "sciutati", &howmany); // let's the controldev_thread die + switch_file_write(p->AsteriskHandlesAst.fdesc[1], "sciutati", &howmany); // let's the controldev_thread die #else /* WIN32 */ - write(p->AsteriskHandlesAst.fdesc[1], "sciutati", howmany); + write(p->AsteriskHandlesAst.fdesc[1], "sciutati", howmany); #endif /* WIN32 */ - } + } -if(globals.SKYPIAX_INTERFACES[interface_id].skypiax_do_skype_thread_thread){ + if (globals.SKYPIAX_INTERFACES[interface_id].skypiax_do_skype_thread_thread) { #ifdef WIN32 - if (SendMessage(p->AsteriskHandlesAst.win32_hInit_MainWindowHandle, WM_DESTROY, 0, 0) == FALSE) { // let's the do_skype_thread die - ERRORA("WHY FALSE HERE? %d\n", SKYPIAX_P_LOG, GetLastError()); - } + if (SendMessage(p->AsteriskHandlesAst.win32_hInit_MainWindowHandle, WM_DESTROY, 0, 0) == FALSE) { // let's the do_skype_thread die + ERRORA("WHY FALSE HERE? %d\n", SKYPIAX_P_LOG, GetLastError()); + } #else - XEvent e; - Atom atom1 = - XInternAtom(p->AsteriskHandlesAst.disp, "SKYPECONTROLAPI_MESSAGE_BEGIN", False); - memset(&e, 0, sizeof(e)); - e.xclient.type = ClientMessage; - e.xclient.message_type = atom1; /* leading message */ - e.xclient.display = p->AsteriskHandlesAst.disp; - e.xclient.window = p->AsteriskHandlesAst.skype_win; - e.xclient.format = 8; + XEvent e; + Atom atom1 = + XInternAtom(p->AsteriskHandlesAst.disp, "SKYPECONTROLAPI_MESSAGE_BEGIN", False); + memset(&e, 0, sizeof(e)); + e.xclient.type = ClientMessage; + e.xclient.message_type = atom1; /* leading message */ + e.xclient.display = p->AsteriskHandlesAst.disp; + e.xclient.window = p->AsteriskHandlesAst.skype_win; + e.xclient.format = 8; - XSendEvent(p->AsteriskHandlesAst.disp, p->AsteriskHandlesAst.win, False, 0, &e); - XSync(p->AsteriskHandlesAst.disp, False); + XSendEvent(p->AsteriskHandlesAst.disp, p->AsteriskHandlesAst.win, False, 0, &e); + XSync(p->AsteriskHandlesAst.disp, False); #endif - } - while (x) { - x--; - switch_yield(20000); - } -if(globals.SKYPIAX_INTERFACES[interface_id].skypiax_do_controldev_thread_thread){ - switch_thread_join(&status, globals.SKYPIAX_INTERFACES[interface_id].skypiax_do_controldev_thread_thread); - } -if(globals.SKYPIAX_INTERFACES[interface_id].skypiax_do_skype_thread_thread){ - switch_thread_join(&status, globals.SKYPIAX_INTERFACES[interface_id].skypiax_do_skype_thread_thread); - } + } + while (x) { + x--; + switch_yield(20000); + } + if (globals.SKYPIAX_INTERFACES[interface_id].skypiax_do_controldev_thread_thread) { + switch_thread_join(&status, + globals.SKYPIAX_INTERFACES[interface_id]. + skypiax_do_controldev_thread_thread); + } + if (globals.SKYPIAX_INTERFACES[interface_id].skypiax_do_skype_thread_thread) { + switch_thread_join(&status, + globals.SKYPIAX_INTERFACES[interface_id]. + skypiax_do_skype_thread_thread); + } } return SWITCH_STATUS_SUCCESS; } - /* For Emacs: * Local Variables: * mode:c Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax.h ============================================================================== --- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax.h (original) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax.h Thu Jan 1 07:10:03 2009 @@ -136,7 +136,7 @@ Window skype_win; Display *disp; Window win; -int api_connected; + int api_connected; int fdesc[2]; }; #else //WIN32 @@ -144,11 +144,11 @@ struct AsteriskHandles { HWND win32_hInit_MainWindowHandle; HWND win32_hGlobal_SkypeAPIWindowHandle; -HINSTANCE win32_hInit_ProcessHandle; -char win32_acInit_WindowClassName[128]; -UINT win32_uiGlobal_MsgID_SkypeControlAPIAttach; -UINT win32_uiGlobal_MsgID_SkypeControlAPIDiscover; -int api_connected; + HINSTANCE win32_hInit_ProcessHandle; + char win32_acInit_WindowClassName[128]; + UINT win32_uiGlobal_MsgID_SkypeControlAPIAttach; + UINT win32_uiGlobal_MsgID_SkypeControlAPIDiscover; + int api_connected; switch_file_t *fdesc[2]; }; @@ -195,10 +195,10 @@ #ifdef WIN32 switch_file_t *audiopipe[2]; switch_file_t *audioskypepipe[2]; -#else /* WIN32 */ +#else /* WIN32 */ int audiopipe[2]; int audioskypepipe[2]; -#endif /* WIN32 */ +#endif /* WIN32 */ switch_thread_t *tcp_srv_thread; switch_thread_t *tcp_cli_thread; switch_thread_t *skypiax_do_controldev_thread_thread; @@ -247,4 +247,5 @@ int skypiax_skype_write(struct skypiax_interface *p, char *msg_to_skype); int skypiax_skype_read(struct skypiax_interface *p); -int skypiax_skype_call(struct skypiax_interface *p, char *idest, int timeout, switch_core_session_t * session); +int skypiax_skype_call(struct skypiax_interface *p, char *idest, int timeout, + switch_core_session_t * session); Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c Thu Jan 1 07:10:03 2009 @@ -6,23 +6,17 @@ extern switch_endpoint_interface_t *skypiax_endpoint_interface; extern int running; - - /**********************************************************/ /**********************************************************/ /**********************************************************/ - extern switch_core_session_t *global_session; - #ifdef WIN32 #else /* NOT WIN32 */ #define SKYPE_X11_BUF_SIZE 512 #endif /* WIN32 */ - - /**********************************************************/ /**********************************************************/ /**********************************************************/ @@ -57,27 +51,26 @@ short totalbuf[SAMPLES_PER_FRAME]; //int one = 1; - if (option_debug > 10) { - WARNINGA("ENTERING FUNC\n", SKYPIAX_P_LOG); + if (option_debug > 100) { + DEBUGA_SKYPE("ENTERING FUNC\n", SKYPIAX_P_LOG); } memset(&my_addr, 0, sizeof(my_addr)); my_addr.sin_family = AF_INET; my_addr.sin_addr.s_addr = htonl(0x7f000001); /* use the localhost */ - my_addr.sin_port = htons(p->tcp_srv_port); + my_addr.sin_port = htons(p->tcp_srv_port); if ((s = socket(AF_INET, SOCK_STREAM, 0)) < 0) { ERRORA("socket Error\n", SKYPIAX_P_LOG); - if (option_debug > 10) { + if (option_debug > 100) { DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); } return NULL; } - //setsockopt(s, IPPROTO_TCP, TCP_NODELAY, &one, sizeof(one)); if (bind(s, (struct sockaddr *) &my_addr, sizeof(struct sockaddr)) < 0) { ERRORA("bind Error\n", SKYPIAX_P_LOG); - if (option_debug > 10) { + if (option_debug > 100) { DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); } return NULL; @@ -111,152 +104,147 @@ fdselect = fd; FD_ZERO(&fs); FD_SET(fdselect, &fs); - to.tv_usec = 2000000; //20 msec + to.tv_usec = 2000000; //20 msec to.tv_sec = 0; rt = select(fdselect + 1, &fs, NULL, NULL, &to); - //rt=0; + //rt=0; if (rt > 0) { #ifdef WIN32 - len = recv(fd, (char *)srv_in, 320, 0); //seems that Skype only sends 320 bytes at time + len = recv(fd, (char *) srv_in, 320, 0); //seems that Skype only sends 320 bytes at time #else /* WIN32 */ - len = recv(fd, (char *)srv_in, 320, 0); //seems that Skype only sends 320 bytes at time + len = recv(fd, (char *) srv_in, 320, 0); //seems that Skype only sends 320 bytes at time #endif /* WIN32 */ - if ((SAMPLERATE_SKYPIAX - 8000) == 0) { + if ((SAMPLERATE_SKYPIAX - 8000) == 0) { - /****************************************************************/ - if (len > 0) { - a = 0; - for (i = 0; i < len / sizeof(short); i++) { - srv_out[a] = srv_in[i]; - i++; - a++; - } - - if (!p->audiobuf_is_loaded) { - for (i = 0; i < (len / sizeof(short)) / 2; i++) { - p->audiobuf[i] = srv_out[i]; - } - p->audiobuf_is_loaded = 1; - } else { - unsigned int howmany; - - howmany = len / 2 / 2; - for (i = 0; i < howmany; i++) - totalbuf[i] = p->audiobuf[i]; - - howmany = len / 2 / 2; - for (a = 0; a < howmany; a++) { - totalbuf[i] = srv_out[a]; - i++; - } + /****************************************************************/ + if (len > 0) { + a = 0; + for (i = 0; i < len / sizeof(short); i++) { + srv_out[a] = srv_in[i]; + i++; + a++; + } - howmany = len; + if (!p->audiobuf_is_loaded) { + for (i = 0; i < (len / sizeof(short)) / 2; i++) { + p->audiobuf[i] = srv_out[i]; + } + p->audiobuf_is_loaded = 1; + } else { + unsigned int howmany; -#ifdef WIN32 - switch_file_write(p->audiopipe[1], totalbuf, &howmany); -#else /* WIN32 */ - howmany = write(p->audiopipe[1], totalbuf, howmany); -#endif /* WIN32 */ - p->audiobuf_is_loaded = 0; - //DEBUGA_SKYPE("read=====> req=%d recv=%d to sent=%d sent=%d\n", SKYPIAX_P_LOG, sizeof(short)*SAMPLES_PER_FRAME, len, (len*sizeof(short))/2, howmany); - } - - } else if (len == 0) { - DEBUGA_SKYPE("Skype client GONE\n", SKYPIAX_P_LOG); - switch_sleep(1000); - } else { - ERRORA("len=%d\n", SKYPIAX_P_LOG, len); - exit = 1; - break; - } - /****************************************************************/ - } else if (SAMPLERATE_SKYPIAX == 16000) { - - - /****************************************************************/ - if (len > 0) { - if (len == SAMPLES_PER_FRAME * sizeof(short)) { - unsigned int howmany; - howmany = len; + howmany = len / 2 / 2; + for (i = 0; i < howmany; i++) + totalbuf[i] = p->audiobuf[i]; + + howmany = len / 2 / 2; + for (a = 0; a < howmany; a++) { + totalbuf[i] = srv_out[a]; + i++; + } - WARNINGA("SRV recv %d\n", SKYPIAX_P_LOG, len); + howmany = len; -#ifdef WIN32 - switch_file_write(p->audiopipe[1], srv_in, &howmany); +#ifdef WIN32 + switch_file_write(p->audiopipe[1], totalbuf, &howmany); #else /* WIN32 */ - howmany = write(p->audiopipe[1], srv_in, howmany); + howmany = write(p->audiopipe[1], totalbuf, howmany); #endif /* WIN32 */ - p->audiobuf_is_loaded = 0; - WARNINGA("SRV PIPE WRITE=====> req=%lu recv=%d to sent=%d sent=%u\n", SKYPIAX_P_LOG, sizeof(short)*SAMPLES_PER_FRAME, len, len, howmany); - }else if (len == SAMPLES_PER_FRAME * sizeof(short) / 2) { + p->audiobuf_is_loaded = 0; + //DEBUGA_SKYPE("read=====> req=%d recv=%d to sent=%d sent=%d\n", SKYPIAX_P_LOG, sizeof(short)*SAMPLES_PER_FRAME, len, (len*sizeof(short))/2, howmany); + } -#if 1 + } else if (len == 0) { + DEBUGA_SKYPE("Skype client GONE\n", SKYPIAX_P_LOG); + switch_sleep(1000); + } else { + ERRORA("len=%d\n", SKYPIAX_P_LOG, len); + exit = 1; + break; + } + /****************************************************************/ + } else if (SAMPLERATE_SKYPIAX == 16000) { + /****************************************************************/ + if (len > 0) { + if (len == SAMPLES_PER_FRAME * sizeof(short)) { + unsigned int howmany; + howmany = len; - if (!p->audiobuf_is_loaded) { - for (i = 0; i < (len / sizeof(short)); i++) { - p->audiobuf[i] = srv_in[i]; - } - p->audiobuf_is_loaded = 1; - } else { - unsigned int howmany = SAMPLES_PER_FRAME * sizeof(short); - //short totalbuf[SAMPLES_PER_FRAME]; - - for (i = 0; i < (len / sizeof(short)); i++) - totalbuf[i] = p->audiobuf[i]; - for (a = 0; a < (len / sizeof(short)); a++) { - totalbuf[i] = srv_in[a]; - i++; - } + WARNINGA("SRV recv %d\n", SKYPIAX_P_LOG, len); -#ifdef WIN32 - switch_file_write(p->audiopipe[1], totalbuf, &howmany); +#ifdef WIN32 + switch_file_write(p->audiopipe[1], srv_in, &howmany); #else /* WIN32 */ - howmany = write(p->audiopipe[1], totalbuf, howmany); + howmany = write(p->audiopipe[1], srv_in, howmany); #endif /* WIN32 */ - p->audiobuf_is_loaded = 0; - //NOTICA("SRV PIPE WRITE=====> req=%d recv=%d to sent=%d sent=%d\n", SKYPIAX_P_LOG, SAMPLES_PER_FRAME * sizeof(short), len, SAMPLES_PER_FRAME * sizeof(short), howmany); - } -#endif - + p->audiobuf_is_loaded = 0; + WARNINGA("SRV PIPE WRITE=====> req=%lu recv=%d to sent=%d sent=%u\n", + SKYPIAX_P_LOG, sizeof(short) * SAMPLES_PER_FRAME, len, len, + howmany); + } else if (len == SAMPLES_PER_FRAME * sizeof(short) / 2) { +#if 1 + if (!p->audiobuf_is_loaded) { + for (i = 0; i < (len / sizeof(short)); i++) { + p->audiobuf[i] = srv_in[i]; + } + p->audiobuf_is_loaded = 1; + } else { + unsigned int howmany = SAMPLES_PER_FRAME * sizeof(short); + //short totalbuf[SAMPLES_PER_FRAME]; - } else { + for (i = 0; i < (len / sizeof(short)); i++) + totalbuf[i] = p->audiobuf[i]; + for (a = 0; a < (len / sizeof(short)); a++) { + totalbuf[i] = srv_in[a]; + i++; + } - ERRORA("SRV len=%d\n", SKYPIAX_P_LOG, len); +#ifdef WIN32 + switch_file_write(p->audiopipe[1], totalbuf, &howmany); +#else /* WIN32 */ + howmany = write(p->audiopipe[1], totalbuf, howmany); +#endif /* WIN32 */ + p->audiobuf_is_loaded = 0; + //NOTICA("SRV PIPE WRITE=====> req=%d recv=%d to sent=%d sent=%d\n", SKYPIAX_P_LOG, SAMPLES_PER_FRAME * sizeof(short), len, SAMPLES_PER_FRAME * sizeof(short), howmany); + } +#endif - } + } else { - } else if (len == 0) { - DEBUGA_SKYPE("Skype client GONE\n", SKYPIAX_P_LOG); - switch_sleep(1000); - //break; - } else { - ERRORA("SRV len=%d\n", SKYPIAX_P_LOG, len); - exit = 1; - break; - } - /****************************************************************/ + ERRORA("SRV len=%d\n", SKYPIAX_P_LOG, len); + } + } else if (len == 0) { + DEBUGA_SKYPE("Skype client GONE\n", SKYPIAX_P_LOG); + switch_sleep(1000); + //break; + } else { + ERRORA("SRV len=%d\n", SKYPIAX_P_LOG, len); + exit = 1; + break; + } + /****************************************************************/ - } else { + } else { - ERRORA("SAMPLERATE_SKYPIAX can only be 8000 or 16000\n", SKYPIAX_P_LOG); - } + ERRORA("SAMPLERATE_SKYPIAX can only be 8000 or 16000\n", SKYPIAX_P_LOG); + } } else { - if(rt) - ERRORA("SRV rt=%d\n", SKYPIAX_P_LOG, rt); - switch_sleep(10000); - } + if (rt) + ERRORA("SRV rt=%d\n", SKYPIAX_P_LOG, rt); + switch_sleep(10000); + } } -#ifdef WIN32 +#ifdef WIN32 kill_cli_size = SAMPLES_PER_FRAME * sizeof(short); switch_file_write(p->audiopipe[1], kill_cli_buff, &kill_cli_size); kill_cli_size = SAMPLES_PER_FRAME * sizeof(short); @@ -295,7 +283,7 @@ #else closesocket(s); #endif - if (option_debug > 10) { + if (option_debug > 100) { DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); } return NULL; @@ -328,27 +316,26 @@ #endif /* WIN32 */ //int one = 1; - if (option_debug > 10) { - WARNINGA("ENTERING FUNC\n", SKYPIAX_P_LOG); + if (option_debug > 100) { + DEBUGA_SKYPE("ENTERING FUNC\n", SKYPIAX_P_LOG); } memset(&my_addr, 0, sizeof(my_addr)); my_addr.sin_family = AF_INET; my_addr.sin_addr.s_addr = htonl(0x7f000001); /* use the localhost */ - my_addr.sin_port = htons(p->tcp_cli_port); //FIXME configurable! + my_addr.sin_port = htons(p->tcp_cli_port); //FIXME configurable! if ((s = socket(AF_INET, SOCK_STREAM, 0)) < 0) { ERRORA("socket Error\n", SKYPIAX_P_LOG); - if (option_debug > 10) { + if (option_debug > 100) { DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); } return NULL; } - //setsockopt(s, IPPROTO_TCP, TCP_NODELAY, &one, sizeof(one)); if (bind(s, (struct sockaddr *) &my_addr, sizeof(struct sockaddr)) < 0) { ERRORA("bind Error\n", SKYPIAX_P_LOG); - if (option_debug > 10) { + if (option_debug > 100) { DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); } #ifndef WIN32 @@ -382,99 +369,99 @@ if (!running) break; #ifdef WIN32 - fdselect = fd; //cannot select on audioskypepipe, let's select on socket write + fdselect = fd; //cannot select on audioskypepipe, let's select on socket write #else /* WIN32 */ fdselect = p->audioskypepipe[0]; #endif /* WIN32 */ FD_ZERO(&fs); FD_SET(fdselect, &fs); - to.tv_usec = 2000000; //20 msec + to.tv_usec = 2000000; //20 msec to.tv_sec = 0; #ifdef WIN32 - rt = select(fdselect + 1, NULL, &fs, NULL, &to);//cannot select on audioskypepipe, let's select on socket write + rt = select(fdselect + 1, NULL, &fs, NULL, &to); //cannot select on audioskypepipe, let's select on socket write #else /* WIN32 */ rt = select(fdselect + 1, &fs, NULL, NULL, &to); #endif /* WIN32 */ - //switch_sleep(1000);//FIXME - //memset(cli_in, '\0', sizeof(cli_in)); + //switch_sleep(1000);//FIXME + //memset(cli_in, '\0', sizeof(cli_in)); //rt = 0; - if (rt > 0) { - /*********************************************/ - if ((SAMPLERATE_SKYPIAX - 8000) == 0) { - got = SAMPLES_PER_FRAME * sizeof(short); -#ifdef WIN32 - switch_file_read(p->audioskypepipe[0], cli_in, &got); + if (rt > 0) { + /*********************************************/ + if ((SAMPLERATE_SKYPIAX - 8000) == 0) { + got = SAMPLES_PER_FRAME * sizeof(short); +#ifdef WIN32 + switch_file_read(p->audioskypepipe[0], cli_in, &got); #else /* WIN32 */ - got = read(p->audioskypepipe[0], cli_in, got); + got = read(p->audioskypepipe[0], cli_in, got); #endif /* WIN32 */ - if (got > 0) { - //DEBUGA_SKYPE("CLI PIPE read %d\n", SKYPIAX_P_LOG, got); - a = 0; - for (i = 0; i < got / sizeof(short); i++) { - cli_out[a] = cli_in[i]; - a++; - cli_out[a] = cli_in[i]; - a++; - } + if (got > 0) { + //DEBUGA_SKYPE("CLI PIPE read %d\n", SKYPIAX_P_LOG, got); + a = 0; + for (i = 0; i < got / sizeof(short); i++) { + cli_out[a] = cli_in[i]; + a++; + cli_out[a] = cli_in[i]; + a++; + } #ifdef WIN32 - len = send(fd, (char *)cli_out, got * 2, 0); + len = send(fd, (char *) cli_out, got * 2, 0); #else /* WIN32 */ - len = send(fd, cli_out, got * 2, 0); + len = send(fd, cli_out, got * 2, 0); #endif /* WIN32 */ - //DEBUGA_SKYPE("CLI PIPE send %d\n", SKYPIAX_P_LOG, len); + //DEBUGA_SKYPE("CLI PIPE send %d\n", SKYPIAX_P_LOG, len); - if (len == 0) { - ERRORA("Skype server GONE\n", SKYPIAX_P_LOG); - break; - } - } else { - switch_sleep(1000); - ERRORA("CLI PIPE give us: %u\n", SKYPIAX_P_LOG, got); - //break; - } - } - /*********************************************/ - /*********************************************/ - else if (SAMPLERATE_SKYPIAX == 16000) { - got = SAMPLES_PER_FRAME * sizeof(short); -#ifdef WIN32 - switch_file_read(p->audioskypepipe[0], cli_in, &got); + if (len == 0) { + ERRORA("Skype server GONE\n", SKYPIAX_P_LOG); + break; + } + } else { + switch_sleep(1000); + ERRORA("CLI PIPE give us: %u\n", SKYPIAX_P_LOG, got); + //break; + } + } + /*********************************************/ + /*********************************************/ + else if (SAMPLERATE_SKYPIAX == 16000) { + got = SAMPLES_PER_FRAME * sizeof(short); +#ifdef WIN32 + switch_file_read(p->audioskypepipe[0], cli_in, &got); #else /* WIN32 */ - got = read(p->audioskypepipe[0], cli_in, got); + got = read(p->audioskypepipe[0], cli_in, got); #endif /* WIN32 */ - if (got > 0) { - if(got != SAMPLES_PER_FRAME * sizeof(short) ) - ERRORA("CLI PIPE read %d\n", SKYPIAX_P_LOG, got); + if (got > 0) { + if (got != SAMPLES_PER_FRAME * sizeof(short)) + ERRORA("CLI PIPE read %d\n", SKYPIAX_P_LOG, got); #ifdef WIN32 - len = send(fd, (char *)cli_in, got, 0); + len = send(fd, (char *) cli_in, got, 0); #else /* WIN32 */ - len = send(fd, cli_in, got, 0); + len = send(fd, cli_in, got, 0); #endif /* WIN32 */ - if(len != got ) - ERRORA("CLI PIPE send %d\n", SKYPIAX_P_LOG, len); + if (len != got && len != -1) + DEBUGA_SKYPE("CLI PIPE send %d\n", SKYPIAX_P_LOG, len); - if (len == 0) { - ERRORA("Skype server GONE\n", SKYPIAX_P_LOG); - break; - } - } else { - switch_sleep(1000); - ERRORA("CLI PIPE give us: %u\n", SKYPIAX_P_LOG, got); - } - } - /*********************************************/ - - } else { - switch_sleep(1000); - if(rt) - ERRORA("select give us: %u\n", SKYPIAX_P_LOG, rt); - } + if (len == 0) { + ERRORA("Skype server GONE\n", SKYPIAX_P_LOG); + break; + } + } else { + switch_sleep(1000); + ERRORA("CLI PIPE give us: %u\n", SKYPIAX_P_LOG, got); + } + } + /*********************************************/ + + } else { + switch_sleep(1000); + if (rt) + ERRORA("select give us: %u\n", SKYPIAX_P_LOG, rt); + } } DEBUGA_SKYPE("Skype server GONE\n", SKYPIAX_P_LOG); @@ -492,7 +479,7 @@ #else closesocket(s); #endif - if (option_debug > 10) { + if (option_debug > 100) { DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); } return NULL; @@ -501,13 +488,12 @@ int skypiax_skypeaudio_init(struct skypiax_interface *p) { - #ifdef WIN32 switch_status_t rv; + rv = switch_file_pipe_create(&p->audiopipe[0], &p->audiopipe[1], skypiax_module_pool); rv = - switch_file_pipe_create(&p->audiopipe[0], &p->audiopipe[1], skypiax_module_pool); - rv = - switch_file_pipe_create(&p->audioskypepipe[0], &p->audioskypepipe[1], skypiax_module_pool); + switch_file_pipe_create(&p->audioskypepipe[0], &p->audioskypepipe[1], + skypiax_module_pool); #else /* WIN32 */ pipe(p->audiopipe); fcntl(p->audiopipe[0], F_SETFL, O_NONBLOCK); @@ -539,7 +525,6 @@ struct timeval to; #endif /* WIN32 */ - p = tech_pvt->p; //DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); @@ -551,7 +536,7 @@ fdselect = p->audiopipe[0]; FD_ZERO(&fs); FD_SET(fdselect, &fs); - to.tv_usec = 2000000; //20 msec + to.tv_usec = 2000000; //20 msec to.tv_sec = 0; rt = select(fdselect + 1, &fs, NULL, NULL, &to); #endif /* WIN32 */ @@ -564,14 +549,14 @@ switch_file_read(p->audiopipe[0], tech_pvt->read_frame.data, &samples); #else /* WIN32 */ - //samples = read(p->audiopipe[0], buf, SAMPLES_PER_FRAME * sizeof(short)); + //samples = read(p->audiopipe[0], buf, SAMPLES_PER_FRAME * sizeof(short)); samples = read(p->audiopipe[0], tech_pvt->read_frame.data, samples); #endif /* WIN32 */ if (samples != SAMPLES_PER_FRAME * sizeof(short)) { if (samples) ERRORA("SRV PIPE READ=====> NOT GOOD samples=%u expected=%lu\n", SKYPIAX_P_LOG, - samples, SAMPLES_PER_FRAME * sizeof(short)); + samples, SAMPLES_PER_FRAME * sizeof(short)); //do nothing } else { tech_pvt->read_frame.datalen = samples; @@ -579,8 +564,8 @@ /* A real frame */ } } else { - if(rt) - DEBUGA_SKYPE("select returned %d\n", SKYPIAX_P_LOG, rt); + if (rt) + DEBUGA_SKYPE("select returned %d\n", SKYPIAX_P_LOG, rt); } @@ -589,38 +574,32 @@ return SWITCH_STATUS_SUCCESS; } - #ifdef WIN32 int LaunchSkype(struct skypiax_interface *p) { - LPTSTR pszMessage; - DWORD dwLastError; - char skypelogin[256]; - - memset(skypelogin, '\0', sizeof(skypelogin)); - sprintf(skypelogin, "/secondary /username:%s /password:%s", p->skype_user, p->skype_password); - - - ShellExecute(NULL, "open", "C:\\Program Files\\Skype\\Phone\\Skype.exe", skypelogin, ".", SW_SHOWNORMAL); - - dwLastError = GetLastError(); - - FormatMessage( - FORMAT_MESSAGE_ALLOCATE_BUFFER | - FORMAT_MESSAGE_FROM_SYSTEM | - FORMAT_MESSAGE_IGNORE_INSERTS, - NULL, - dwLastError, - MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), - (LPTSTR)&pszMessage, - 0, NULL ); - - NOTICA("ShellExecute gave: %s\n", SKYPIAX_P_LOG,pszMessage); - LocalFree(pszMessage); - return 1; + LPTSTR pszMessage; + DWORD dwLastError; + char skypelogin[256]; + + memset(skypelogin, '\0', sizeof(skypelogin)); + sprintf(skypelogin, "/secondary /username:%s /password:%s", p->skype_user, + p->skype_password); + + ShellExecute(NULL, "open", "C:\\Program Files\\Skype\\Phone\\Skype.exe", skypelogin, + ".", SW_SHOWNORMAL); + + dwLastError = GetLastError(); + + FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | + FORMAT_MESSAGE_IGNORE_INSERTS, NULL, dwLastError, MAKELANGID(LANG_NEUTRAL, + SUBLANG_DEFAULT), + (LPTSTR) & pszMessage, 0, NULL); -} + NOTICA("ShellExecute gave: %s\n", SKYPIAX_P_LOG, pszMessage); + LocalFree(pszMessage); + return 1; +} enum { SKYPECONTROLAPI_ATTACH_SUCCESS = 0, /* Client is successfully @@ -673,11 +652,11 @@ lReturnCode = 0; fIssueDefProc = 0; - p = ( struct skypiax_interface *)GetWindowLong(hWindow, GWL_USERDATA); + p = (struct skypiax_interface *) GetWindowLong(hWindow, GWL_USERDATA); switch (uiMessage) { case WM_CREATE: - p=( struct skypiax_interface *)((LPCREATESTRUCT)ulParam)->lpCreateParams; - SetWindowLong(hWindow, GWL_USERDATA, (LONG)p); + p = (struct skypiax_interface *) ((LPCREATESTRUCT) ulParam)->lpCreateParams; + SetWindowLong(hWindow, GWL_USERDATA, (LONG) p); DEBUGA_SKYPE("got CREATE\n", SKYPIAX_P_LOG); break; case WM_DESTROY: @@ -703,50 +682,52 @@ } break; default: - if(p && p->AsteriskHandlesAst.win32_uiGlobal_MsgID_SkypeControlAPIAttach) { - if (uiMessage == p->AsteriskHandlesAst.win32_uiGlobal_MsgID_SkypeControlAPIAttach) { - switch (ulParam) { - case SKYPECONTROLAPI_ATTACH_SUCCESS: - if(!p->AsteriskHandlesAst.api_connected){ - NOTICA("\n\n\tConnected to Skype API!\n", SKYPIAX_P_LOG); - p->AsteriskHandlesAst.win32_hGlobal_SkypeAPIWindowHandle = (HWND) uiParam; - //switch_sleep(5000); - p->AsteriskHandlesAst.win32_hGlobal_SkypeAPIWindowHandle = - p->AsteriskHandlesAst.win32_hGlobal_SkypeAPIWindowHandle; - } - break; - case SKYPECONTROLAPI_ATTACH_PENDING_AUTHORIZATION: - WARNINGA - ("\n\n\tIf I do not (almost) immediately connect to Skype API,\n\tplease give the Skype client authorization to be connected \n\tby Asterisk and to not ask you again.\n\n", - SKYPIAX_P_LOG); - switch_sleep(5000); - if(!p->AsteriskHandlesAst.api_connected){ - SendMessage - (HWND_BROADCAST, p->AsteriskHandlesAst.win32_uiGlobal_MsgID_SkypeControlAPIDiscover, - (WPARAM) p->AsteriskHandlesAst.win32_hInit_MainWindowHandle, 0); - } - break; - case SKYPECONTROLAPI_ATTACH_REFUSED: - ERRORA("Skype client refused to be connected by Skypiax!\n", SKYPIAX_P_LOG); - break; - case SKYPECONTROLAPI_ATTACH_NOT_AVAILABLE: - ERRORA("Skype API not (yet?) available\n", SKYPIAX_P_LOG); - break; - case SKYPECONTROLAPI_ATTACH_API_AVAILABLE: - DEBUGA_SKYPE("Skype API available\n", SKYPIAX_P_LOG); - switch_sleep(5000); - if(!p->AsteriskHandlesAst.api_connected){ - SendMessage - (HWND_BROADCAST, p->AsteriskHandlesAst.win32_uiGlobal_MsgID_SkypeControlAPIDiscover, - (WPARAM) p->AsteriskHandlesAst.win32_hInit_MainWindowHandle, 0); - } + if (p && p->AsteriskHandlesAst.win32_uiGlobal_MsgID_SkypeControlAPIAttach) { + if (uiMessage == p->AsteriskHandlesAst.win32_uiGlobal_MsgID_SkypeControlAPIAttach) { + switch (ulParam) { + case SKYPECONTROLAPI_ATTACH_SUCCESS: + if (!p->AsteriskHandlesAst.api_connected) { + NOTICA("\n\n\tConnected to Skype API!\n", SKYPIAX_P_LOG); + p->AsteriskHandlesAst.win32_hGlobal_SkypeAPIWindowHandle = (HWND) uiParam; + //switch_sleep(5000); + p->AsteriskHandlesAst.win32_hGlobal_SkypeAPIWindowHandle = + p->AsteriskHandlesAst.win32_hGlobal_SkypeAPIWindowHandle; + } + break; + case SKYPECONTROLAPI_ATTACH_PENDING_AUTHORIZATION: + WARNINGA + ("\n\n\tIf I do not (almost) immediately connect to Skype API,\n\tplease give the Skype client authorization to be connected \n\tby Asterisk and to not ask you again.\n\n", + SKYPIAX_P_LOG); + switch_sleep(5000); + if (!p->AsteriskHandlesAst.api_connected) { + SendMessage(HWND_BROADCAST, + p->AsteriskHandlesAst. + win32_uiGlobal_MsgID_SkypeControlAPIDiscover, + (WPARAM) p->AsteriskHandlesAst.win32_hInit_MainWindowHandle, 0); + } + break; + case SKYPECONTROLAPI_ATTACH_REFUSED: + ERRORA("Skype client refused to be connected by Skypiax!\n", SKYPIAX_P_LOG); + break; + case SKYPECONTROLAPI_ATTACH_NOT_AVAILABLE: + ERRORA("Skype API not (yet?) available\n", SKYPIAX_P_LOG); + break; + case SKYPECONTROLAPI_ATTACH_API_AVAILABLE: + DEBUGA_SKYPE("Skype API available\n", SKYPIAX_P_LOG); + switch_sleep(5000); + if (!p->AsteriskHandlesAst.api_connected) { + SendMessage(HWND_BROADCAST, + p->AsteriskHandlesAst. + win32_uiGlobal_MsgID_SkypeControlAPIDiscover, + (WPARAM) p->AsteriskHandlesAst.win32_hInit_MainWindowHandle, 0); + } + break; + default: + WARNINGA("GOT AN UNKNOWN SKYPE WINDOWS MSG\n", SKYPIAX_P_LOG); + } + lReturnCode = 1; break; - default: - WARNINGA("GOT AN UNKNOWN SKYPE WINDOWS MSG\n", SKYPIAX_P_LOG); } - lReturnCode = 1; - break; - } } fIssueDefProc = 1; break; @@ -793,20 +774,24 @@ } } if (fReturnStatus == 0) - CloseHandle(p->AsteriskHandlesAst.win32_hInit_ProcessHandle), p->AsteriskHandlesAst.win32_hInit_ProcessHandle = NULL; + CloseHandle(p->AsteriskHandlesAst.win32_hInit_ProcessHandle), + p->AsteriskHandlesAst.win32_hInit_ProcessHandle = NULL; return (fReturnStatus); } void win32_DeInitialize_DestroyWindowClass(struct skypiax_interface *p) { - UnregisterClass(p->AsteriskHandlesAst.win32_acInit_WindowClassName, p->AsteriskHandlesAst.win32_hInit_ProcessHandle); - CloseHandle(p->AsteriskHandlesAst.win32_hInit_ProcessHandle), p->AsteriskHandlesAst.win32_hInit_ProcessHandle = NULL; + UnregisterClass(p->AsteriskHandlesAst.win32_acInit_WindowClassName, + p->AsteriskHandlesAst.win32_hInit_ProcessHandle); + CloseHandle(p->AsteriskHandlesAst.win32_hInit_ProcessHandle), + p->AsteriskHandlesAst.win32_hInit_ProcessHandle = NULL; } int win32_Initialize_CreateMainWindow(struct skypiax_interface *p) { p->AsteriskHandlesAst.win32_hInit_MainWindowHandle = - CreateWindowEx(WS_EX_APPWINDOW | WS_EX_WINDOWEDGE, p->AsteriskHandlesAst.win32_acInit_WindowClassName, "", + CreateWindowEx(WS_EX_APPWINDOW | WS_EX_WINDOWEDGE, + p->AsteriskHandlesAst.win32_acInit_WindowClassName, "", WS_BORDER | WS_SYSMENU | WS_MINIMIZEBOX, CW_USEDEFAULT, CW_USEDEFAULT, 128, 128, NULL, 0, p->AsteriskHandlesAst.win32_hInit_ProcessHandle, p); return (p->AsteriskHandlesAst.win32_hInit_MainWindowHandle != NULL ? 1 : 0); @@ -815,7 +800,8 @@ void win32_DeInitialize_DestroyMainWindow(struct skypiax_interface *p) { if (p->AsteriskHandlesAst.win32_hInit_MainWindowHandle != NULL) - DestroyWindow(p->AsteriskHandlesAst.win32_hInit_MainWindowHandle), p->AsteriskHandlesAst.win32_hInit_MainWindowHandle = NULL; + DestroyWindow(p->AsteriskHandlesAst.win32_hInit_MainWindowHandle), + p->AsteriskHandlesAst.win32_hInit_MainWindowHandle = NULL; } DWORD win32_dwThreadId; @@ -835,19 +821,17 @@ //DWORD MsgWaitResult; p = obj; - - - switch_file_pipe_create(&p->AsteriskHandlesAst.fdesc[0], &p->AsteriskHandlesAst.fdesc[1], skypiax_module_pool); + switch_file_pipe_create(&p->AsteriskHandlesAst.fdesc[0], + &p->AsteriskHandlesAst.fdesc[1], skypiax_module_pool); //switch_file_pipe_timeout_set(p->AsteriskHandlesAst.fdesc[0], 100); - p->AsteriskHandlesAst.win32_uiGlobal_MsgID_SkypeControlAPIAttach = RegisterWindowMessage("SkypeControlAPIAttach"); p->AsteriskHandlesAst.win32_uiGlobal_MsgID_SkypeControlAPIDiscover = RegisterWindowMessage("SkypeControlAPIDiscover"); LaunchSkype(p); - switch_sleep(2000000); + switch_sleep(2000000); if (p->AsteriskHandlesAst.win32_uiGlobal_MsgID_SkypeControlAPIAttach != 0 && p->AsteriskHandlesAst.win32_uiGlobal_MsgID_SkypeControlAPIDiscover != 0) { @@ -855,7 +839,8 @@ if (win32_Initialize_CreateMainWindow(p)) { #if 1 if (SendMessage - (HWND_BROADCAST, p->AsteriskHandlesAst.win32_uiGlobal_MsgID_SkypeControlAPIDiscover, + (HWND_BROADCAST, + p->AsteriskHandlesAst.win32_uiGlobal_MsgID_SkypeControlAPIDiscover, (WPARAM) p->AsteriskHandlesAst.win32_hInit_MainWindowHandle, 0) != 0) { #else @@ -974,8 +959,10 @@ //X11_errors_trap(); //XLockDisplay(disp); status = - XGetWindowProperty(AsteriskHandlesAst->disp, DefaultRootWindow(AsteriskHandlesAst->disp), skype_inst, 0, 1, False, XA_WINDOW, - &type_ret, &format_ret, &nitems_ret, &bytes_after_ret, &prop); + XGetWindowProperty(AsteriskHandlesAst->disp, + DefaultRootWindow(AsteriskHandlesAst->disp), skype_inst, 0, 1, + False, XA_WINDOW, &type_ret, &format_ret, &nitems_ret, + &bytes_after_ret, &prop); //XUnlockDisplay(disp); //X11_errors_untrap(); @@ -1053,7 +1040,7 @@ //FIXME pthread_cleanup_push(skypiax_skype_clean_disp, &xfd); DEBUGA_SKYPE("PUSH disp %d\n", SKYPIAX_P_LOG, xfd); - AsteriskHandlesAst->disp = disp; + AsteriskHandlesAst->disp = disp; if (skypiax_skype_present(AsteriskHandlesAst)) { root = DefaultRootWindow(disp); @@ -1098,7 +1085,7 @@ b = buffer; while (1) { - //switch_sleep(10000); + //switch_sleep(10000); XNextEvent(disp, &an_event); if (!running) break; @@ -1158,7 +1145,7 @@ struct AsteriskHandles *AsteriskHandlesAst; #endif /* WIN32 */ - DEBUGA_SKYPE("SENDING: |||%s||||\n", SKYPIAX_P_LOG, msg_to_skype); + DEBUGA_SKYPE("SENDING: |||%s||||\n", SKYPIAX_P_LOG, msg_to_skype); #ifdef WIN32 @@ -1196,7 +1183,6 @@ } AsteriskHandlesAst = &p->AsteriskHandlesAst; - if (!skypiax_skype_send_message(AsteriskHandlesAst, msg_to_skype)) { ERRORA ("Sending message failed - probably Skype crashed.\n\nPlease shutdown Skypiax (Asterisk), then restart Skype from the menu, then launch Skypiax and try again.\n", @@ -1248,459 +1234,464 @@ fdselect = p->AsteriskHandlesAst.fdesc[0]; FD_ZERO(&fs); FD_SET(fdselect, &fs); - to.tv_usec = 2000000; //500 msec + to.tv_usec = 2000000; //500 msec to.tv_sec = 0; rt = select(fdselect + 1, &fs, NULL, NULL, &to); #endif /* WIN32 */ if (rt > 0) { - if (p->AsteriskHandlesAst.fdesc[0]) { - howmany = sizeof(read_from_pipe); + if (p->AsteriskHandlesAst.fdesc[0]) { + howmany = sizeof(read_from_pipe); #ifdef WIN32 - switch_file_read(p->AsteriskHandlesAst.fdesc[0], read_from_pipe, &howmany); + switch_file_read(p->AsteriskHandlesAst.fdesc[0], read_from_pipe, &howmany); #else /* WIN32 */ - howmany = - read(p->AsteriskHandlesAst.fdesc[0], read_from_pipe, sizeof(read_from_pipe)); + howmany = + read(p->AsteriskHandlesAst.fdesc[0], read_from_pipe, sizeof(read_from_pipe)); #endif /* WIN32 */ - a = 0; - for (i = 0; i < howmany; i++) { - messaggio[a] = read_from_pipe[i]; - a++; - - if (read_from_pipe[i] == '\0') { - - //if (option_debug > 101) - DEBUGA_SKYPE("read_skype: howmany=%d, i=%d, a=%d, |||%s||| \n", SKYPIAX_P_LOG, - howmany, i, a, messaggio); - - if (!strncasecmp(messaggio, "ERROR 92 CALL", 12)) { - ERRORA("Skype got ERROR: |||%s|||, the number we called was not recognized\n", - SKYPIAX_P_LOG, messaggio); - p->skype_callflow = CALLFLOW_STATUS_FINISHED; - if (option_debug) - DEBUGA_SKYPE("skype_call now is DOWN\n", SKYPIAX_P_LOG); - p->skype_call_id[0] = '\0'; - - if (p->interface_state != SKYPIAX_STATE_HANGUP_REQUESTED) { - if (option_debug > 100) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); + a = 0; + for (i = 0; i < howmany; i++) { + messaggio[a] = read_from_pipe[i]; + a++; + + if (read_from_pipe[i] == '\0') { + + //if (option_debug > 101) + DEBUGA_SKYPE("read_skype: howmany=%d, i=%d, a=%d, |||%s||| \n", SKYPIAX_P_LOG, + howmany, i, a, messaggio); + + if (!strncasecmp(messaggio, "ERROR 92 CALL", 12)) { + ERRORA("Skype got ERROR: |||%s|||, the number we called was not recognized\n", + SKYPIAX_P_LOG, messaggio); + p->skype_callflow = CALLFLOW_STATUS_FINISHED; + if (option_debug) + DEBUGA_SKYPE("skype_call now is DOWN\n", SKYPIAX_P_LOG); + p->skype_call_id[0] = '\0'; + + if (p->interface_state != SKYPIAX_STATE_HANGUP_REQUESTED) { + if (option_debug > 100) { + DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); + } + p->interface_state = SKYPIAX_STATE_DOWN; + return CALLFLOW_INCOMING_HANGUP; + } else { + p->interface_state = SKYPIAX_STATE_DOWN; } - p->interface_state = SKYPIAX_STATE_DOWN; - return CALLFLOW_INCOMING_HANGUP; - } else { - p->interface_state = SKYPIAX_STATE_DOWN; } - } - strncpy(messaggio_2, messaggio, sizeof(messaggio) - 1); + strncpy(messaggio_2, messaggio, sizeof(messaggio) - 1); - buf = messaggio; - stringp = &buf; - where = strsep(stringp, " "); - if (!where) { - WARNINGA("Skype MSG without spaces: %s\n", SKYPIAX_P_LOG, messaggio); - } + buf = messaggio; + stringp = &buf; + where = strsep(stringp, " "); + if (!where) { + WARNINGA("Skype MSG without spaces: %s\n", SKYPIAX_P_LOG, messaggio); + } - if (!strcasecmp(messaggio, "#333")) { - /* DEBUGA_SKYPE("Skype MSG: messaggio_2: %s, messaggio2[11]: %s\n", SKYPIAX_P_LOG, - * messaggio_2, &messaggio_2[11]); */ - memset(p->skype_friends, 0, 4096); - strncpy(p->skype_friends, &messaggio_2[11], 4095); - } - if (!strcasecmp(messaggio, "#222")) { - /* DEBUGA_SKYPE("Skype MSG: messaggio_2: %s, messaggio2[10]: %s\n", SKYPIAX_P_LOG, - * messaggio_2, &messaggio_2[10]); */ - memset(p->skype_fullname, 0, 512); - strncpy(p->skype_fullname, &messaggio_2[10], 511); - } - if (!strcasecmp(messaggio, "#765")) { - /* DEBUGA_SKYPE("Skype MSG: messaggio_2: %s, messaggio2[10]: %s\n", SKYPIAX_P_LOG, - * messaggio_2, &messaggio_2[10]); */ - memset(p->skype_displayname, 0, 512); - strncpy(p->skype_displayname, &messaggio_2[10], 511); - } - if (!strcasecmp(messaggio, "ERROR")) { - ERRORA("Skype got ERROR: |||%s|||\n", SKYPIAX_P_LOG, messaggio); - p->skype_callflow = CALLFLOW_STATUS_FINISHED; - if (option_debug) - DEBUGA_SKYPE("skype_call now is DOWN\n", SKYPIAX_P_LOG); - p->skype_call_id[0] = '\0'; - - if (p->interface_state != SKYPIAX_STATE_HANGUP_REQUESTED) { - if (option_debug > 100) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } - p->interface_state = SKYPIAX_STATE_DOWN; - return CALLFLOW_INCOMING_HANGUP; - } else { - p->interface_state = SKYPIAX_STATE_DOWN; + if (!strcasecmp(messaggio, "#333")) { + /* DEBUGA_SKYPE("Skype MSG: messaggio_2: %s, messaggio2[11]: %s\n", SKYPIAX_P_LOG, + * messaggio_2, &messaggio_2[11]); */ + memset(p->skype_friends, 0, 4096); + strncpy(p->skype_friends, &messaggio_2[11], 4095); } - } - if (!strcasecmp(messaggio, "CURRENTUSERHANDLE") ) { - strncpy(obj, where, sizeof(obj) - 1); + if (!strcasecmp(messaggio, "#222")) { + /* DEBUGA_SKYPE("Skype MSG: messaggio_2: %s, messaggio2[10]: %s\n", SKYPIAX_P_LOG, + * messaggio_2, &messaggio_2[10]); */ + memset(p->skype_fullname, 0, 512); + strncpy(p->skype_fullname, &messaggio_2[10], 511); + } + if (!strcasecmp(messaggio, "#765")) { + /* DEBUGA_SKYPE("Skype MSG: messaggio_2: %s, messaggio2[10]: %s\n", SKYPIAX_P_LOG, + * messaggio_2, &messaggio_2[10]); */ + memset(p->skype_displayname, 0, 512); + strncpy(p->skype_displayname, &messaggio_2[10], 511); + } + if (!strcasecmp(messaggio, "ERROR")) { + ERRORA("Skype got ERROR: |||%s|||\n", SKYPIAX_P_LOG, messaggio); + p->skype_callflow = CALLFLOW_STATUS_FINISHED; + if (option_debug) + DEBUGA_SKYPE("skype_call now is DOWN\n", SKYPIAX_P_LOG); + p->skype_call_id[0] = '\0'; - where = strsep(stringp, " "); + if (p->interface_state != SKYPIAX_STATE_HANGUP_REQUESTED) { + if (option_debug > 100) { + DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); + } + p->interface_state = SKYPIAX_STATE_DOWN; + return CALLFLOW_INCOMING_HANGUP; + } else { + p->interface_state = SKYPIAX_STATE_DOWN; + } + } + if (!strcasecmp(messaggio, "CURRENTUSERHANDLE")) { + strncpy(obj, where, sizeof(obj) - 1); - strncpy(id, where, sizeof(id) - 1); + where = strsep(stringp, " "); + strncpy(id, where, sizeof(id) - 1); - if (!strcasecmp(id, p->skype_user)) { - p->AsteriskHandlesAst.api_connected = 1; - //DEBUGA_SKYPE ("Skype MSG: messaggio: %s, currentuserhandle: %s, cuh: %s, skype_user: %s!\n", SKYPIAX_P_LOG, messaggio, obj, id, p->skype_user); - } + if (!strcasecmp(id, p->skype_user)) { + p->AsteriskHandlesAst.api_connected = 1; + //DEBUGA_SKYPE ("Skype MSG: messaggio: %s, currentuserhandle: %s, cuh: %s, skype_user: %s!\n", SKYPIAX_P_LOG, messaggio, obj, id, p->skype_user); + } } - if (!strcasecmp(messaggio, "CALL")) { - - strncpy(obj, where, sizeof(obj) - 1); + if (!strcasecmp(messaggio, "CALL")) { - where = strsep(stringp, " "); + strncpy(obj, where, sizeof(obj) - 1); - strncpy(id, where, sizeof(id) - 1); + where = strsep(stringp, " "); - where = strsep(stringp, " "); + strncpy(id, where, sizeof(id) - 1); - strncpy(prop, where, sizeof(prop) - 1); + where = strsep(stringp, " "); - where = strsep(stringp, " "); + strncpy(prop, where, sizeof(prop) - 1); - strncpy(value, where, sizeof(value) - 1); + where = strsep(stringp, " "); - where = strsep(stringp, " "); + strncpy(value, where, sizeof(value) - 1); - if (option_debug > 101) - DEBUGA_SKYPE - ("Skype MSG: messaggio: %s, obj: %s, id: %s, prop: %s, value: %s,where: %s!\n", - SKYPIAX_P_LOG, messaggio, obj, id, prop, value, where ? where : "NULL"); + where = strsep(stringp, " "); + if (option_debug > 101) + DEBUGA_SKYPE + ("Skype MSG: messaggio: %s, obj: %s, id: %s, prop: %s, value: %s,where: %s!\n", + SKYPIAX_P_LOG, messaggio, obj, id, prop, value, where ? where : "NULL"); - if (!strcasecmp(prop, "PARTNER_HANDLE")) { - strncpy(p->callid_number, value, sizeof(p->callid_number) - 1); - WARNINGA - ("the skype_call %s caller PARTNER_HANDLE (p->callid_number) is: %s\n", - SKYPIAX_P_LOG, id, p->callid_number); - return CALLFLOW_INCOMING_RING; - } - if (!strcasecmp(prop, "PARTNER_DISPNAME")) { - snprintf(p->callid_name, sizeof(p->callid_name) - 1, "%s%s%s", value, - where ? " " : "", where ? where : ""); - WARNINGA - ("the skype_call %s caller PARTNER_DISPNAME (p->callid_name) is: %s\n", - SKYPIAX_P_LOG, id, p->callid_name); - } - if (!strcasecmp(prop, "CONF_ID") && !strcasecmp(value, "0")) { - DEBUGA_SKYPE("the skype_call %s is NOT a conference call\n", SKYPIAX_P_LOG, - id); - if (p->interface_state == SKYPIAX_STATE_DOWN) - p->interface_state = SKYPIAX_STATE_PRERING; - } - if (!strcasecmp(prop, "CONF_ID") && strcasecmp(value, "0")) { - DEBUGA_SKYPE("the skype_call %s is a conference call\n", SKYPIAX_P_LOG, id); - if (p->interface_state == SKYPIAX_STATE_DOWN) - p->interface_state = SKYPIAX_STATE_PRERING; - } + if (!strcasecmp(prop, "PARTNER_HANDLE")) { + strncpy(p->callid_number, value, sizeof(p->callid_number) - 1); + WARNINGA + ("the skype_call %s caller PARTNER_HANDLE (p->callid_number) is: %s\n", + SKYPIAX_P_LOG, id, p->callid_number); + return CALLFLOW_INCOMING_RING; + } + if (!strcasecmp(prop, "PARTNER_DISPNAME")) { + snprintf(p->callid_name, sizeof(p->callid_name) - 1, "%s%s%s", value, + where ? " " : "", where ? where : ""); + WARNINGA + ("the skype_call %s caller PARTNER_DISPNAME (p->callid_name) is: %s\n", + SKYPIAX_P_LOG, id, p->callid_name); + } + if (!strcasecmp(prop, "CONF_ID") && !strcasecmp(value, "0")) { + DEBUGA_SKYPE("the skype_call %s is NOT a conference call\n", SKYPIAX_P_LOG, + id); + if (p->interface_state == SKYPIAX_STATE_DOWN) + p->interface_state = SKYPIAX_STATE_PRERING; + } + if (!strcasecmp(prop, "CONF_ID") && strcasecmp(value, "0")) { + DEBUGA_SKYPE("the skype_call %s is a conference call\n", SKYPIAX_P_LOG, id); + if (p->interface_state == SKYPIAX_STATE_DOWN) + p->interface_state = SKYPIAX_STATE_PRERING; + } - if (!strcasecmp(prop, "DTMF")) { - switch_core_session_t *session = NULL; - private_t *tech_pvt = NULL; - switch_channel_t *channel = NULL; - - DEBUGA_SKYPE("Call %s received a DTMF: %s\n", SKYPIAX_P_LOG, id, value); - - tech_pvt = p->tech_pvt; - //if(tech_pvt) - session = tech_pvt->session; - //if(session) - channel = switch_core_session_get_channel(session); - - if (channel) { - switch_dtmf_t dtmf = - { (char) value[0], switch_core_default_dtmf_duration(0) }; - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "%c DTMF %s\n", - dtmf.digit, switch_channel_get_name(channel)); - switch_mutex_lock(tech_pvt->flag_mutex); - switch_channel_queue_dtmf(channel, &dtmf); - switch_set_flag(tech_pvt, TFLAG_DTMF); - switch_mutex_unlock(tech_pvt->flag_mutex); + if (!strcasecmp(prop, "DTMF")) { + switch_core_session_t *session = NULL; + private_t *tech_pvt = NULL; + switch_channel_t *channel = NULL; + + DEBUGA_SKYPE("Call %s received a DTMF: %s\n", SKYPIAX_P_LOG, id, value); + + tech_pvt = p->tech_pvt; + //if(tech_pvt) + session = tech_pvt->session; + //if(session) + channel = switch_core_session_get_channel(session); + + if (channel) { + switch_dtmf_t dtmf = + { (char) value[0], switch_core_default_dtmf_duration(0) }; + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "%c DTMF %s\n", + dtmf.digit, switch_channel_get_name(channel)); + switch_mutex_lock(tech_pvt->flag_mutex); + switch_channel_queue_dtmf(channel, &dtmf); + switch_set_flag(tech_pvt, TFLAG_DTMF); + switch_mutex_unlock(tech_pvt->flag_mutex); + } } - } - if (!strcasecmp(prop, "FAILUREREASON")) { - DEBUGA_SKYPE - ("Skype has FAILED on skype_call %s. Let's wait for the FAILED message.\n", - SKYPIAX_P_LOG, id); - } - if (!strcasecmp(prop, "DURATION") && (!strcasecmp(value, "1"))) { - if (strcasecmp(id, p->skype_call_id)) { - strncpy(p->skype_call_id, id, sizeof(p->skype_call_id) - 1); - if (option_debug > 1) - DEBUGA_SKYPE - ("We called a Skype contact and he answered us on skype_call: %s.\n", - SKYPIAX_P_LOG, id); + if (!strcasecmp(prop, "FAILUREREASON")) { + DEBUGA_SKYPE + ("Skype has FAILED on skype_call %s. Let's wait for the FAILED message.\n", + SKYPIAX_P_LOG, id); } - } + if (!strcasecmp(prop, "DURATION") && (!strcasecmp(value, "1"))) { + if (strcasecmp(id, p->skype_call_id)) { + strncpy(p->skype_call_id, id, sizeof(p->skype_call_id) - 1); + if (option_debug > 1) + DEBUGA_SKYPE + ("We called a Skype contact and he answered us on skype_call: %s.\n", + SKYPIAX_P_LOG, id); + } + } + + if (!strcasecmp(prop, "STATUS")) { - if (!strcasecmp(prop, "STATUS")) { + if (!strcasecmp(value, "RINGING")) { + char msg_to_skype[1024]; + if (p->interface_state != SKYPIAX_STATE_DIALING) { + /* we are not calling out */ - if (!strcasecmp(value, "RINGING")) { - char msg_to_skype[1024]; - if (p->interface_state != SKYPIAX_STATE_DIALING) { - /* we are not calling out */ + if (!strlen(p->skype_call_id)) { //FIXME + /* we are not inside an active call */ + p->skype_callflow = CALLFLOW_STATUS_RINGING; + p->interface_state = SKYPIAX_STATE_RING; + /* no owner, no active call, let's answer */ + skypiax_skype_write(p, "SET AGC OFF"); + switch_sleep(10000); + skypiax_skype_write(p, "SET AEC OFF"); + switch_sleep(10000); + sprintf(msg_to_skype, "GET CALL %s PARTNER_DISPNAME", id); + skypiax_skype_write(p, msg_to_skype); + switch_sleep(10000); + sprintf(msg_to_skype, "GET CALL %s PARTNER_HANDLE", id); + skypiax_skype_write(p, msg_to_skype); + switch_sleep(10000); + sprintf(msg_to_skype, "ALTER CALL %s ANSWER", id); + skypiax_skype_write(p, msg_to_skype); + if (option_debug) + DEBUGA_SKYPE("We answered a Skype RING on skype_call %s\n", + SKYPIAX_P_LOG, id); + strncpy(p->skype_call_id, id, sizeof(p->skype_call_id) - 1); + } else { + /* we're owned, we're in a call, let's refuse */ + //sprintf(msg_to_skype, "SET CALL %s STATUS REFUSED", id); + sprintf(msg_to_skype, "ALTER CALL %s END HANGUP", id); + skypiax_skype_write(p, msg_to_skype); + switch_sleep(10000); + DEBUGA_SKYPE + ("We have NOT answered a Skype RING on skype_call %s, because we are already in a skypiax call\n", + SKYPIAX_P_LOG, id); - if (!strlen(p->skype_call_id)) { //FIXME - /* we are not inside an active call */ + } + } else { + /* we are calling out */ p->skype_callflow = CALLFLOW_STATUS_RINGING; - p->interface_state = SKYPIAX_STATE_RING; - /* no owner, no active call, let's answer */ - skypiax_skype_write(p, "SET AGC OFF"); - switch_sleep(10000); - skypiax_skype_write(p, "SET AEC OFF"); - switch_sleep(10000); - sprintf(msg_to_skype, "GET CALL %s PARTNER_DISPNAME", id); - skypiax_skype_write(p, msg_to_skype); - switch_sleep(10000); - sprintf(msg_to_skype, "GET CALL %s PARTNER_HANDLE", id); - skypiax_skype_write(p, msg_to_skype); - switch_sleep(10000); - sprintf(msg_to_skype, "ALTER CALL %s ANSWER", id); - skypiax_skype_write(p, msg_to_skype); - if (option_debug) - DEBUGA_SKYPE("We answered a Skype RING on skype_call %s\n", - SKYPIAX_P_LOG, id); + p->interface_state = SKYPIAX_STATE_RINGING; + //FIXME ast_queue_control(p->owner, SKYPIAX_CONTROL_RINGING); strncpy(p->skype_call_id, id, sizeof(p->skype_call_id) - 1); - } else { - /* we're owned, we're in a call, let's refuse */ - //sprintf(msg_to_skype, "SET CALL %s STATUS REFUSED", id); - sprintf(msg_to_skype, "ALTER CALL %s END HANGUP", id); - skypiax_skype_write(p, msg_to_skype); - switch_sleep(10000); - DEBUGA_SKYPE - ("We have NOT answered a Skype RING on skype_call %s, because we are already in a skypiax call\n", - SKYPIAX_P_LOG, id); - + DEBUGA_SKYPE("Our remote party in skype_call %s is RINGING\n", + SKYPIAX_P_LOG, id); } - } else { - /* we are calling out */ - p->skype_callflow = CALLFLOW_STATUS_RINGING; - p->interface_state = SKYPIAX_STATE_RINGING; + } else if (!strcasecmp(value, "EARLYMEDIA")) { + p->skype_callflow = CALLFLOW_STATUS_EARLYMEDIA; + p->interface_state = SKYPIAX_STATE_DIALING; //FIXME ast_queue_control(p->owner, SKYPIAX_CONTROL_RINGING); - strncpy(p->skype_call_id, id, sizeof(p->skype_call_id) - 1); - DEBUGA_SKYPE("Our remote party in skype_call %s is RINGING\n", + DEBUGA_SKYPE("Our remote party in skype_call %s is EARLYMEDIA\n", SKYPIAX_P_LOG, id); - } - } else if (!strcasecmp(value, "EARLYMEDIA")) { - p->skype_callflow = CALLFLOW_STATUS_EARLYMEDIA; - p->interface_state = SKYPIAX_STATE_DIALING; - //FIXME ast_queue_control(p->owner, SKYPIAX_CONTROL_RINGING); - DEBUGA_SKYPE("Our remote party in skype_call %s is EARLYMEDIA\n", - SKYPIAX_P_LOG, id); - } else if (!strcasecmp(value, "MISSED")) { - DEBUGA_SKYPE("We missed skype_call %s\n", SKYPIAX_P_LOG, id); - - } else if (!strcasecmp(value, "FINISHED")) { - //p->skype_callflow = CALLFLOW_STATUS_FINISHED; - if (option_debug) - DEBUGA_SKYPE("skype_call %s now is DOWN\n", SKYPIAX_P_LOG, id); - p->skype_call_id[0] = '\0'; + } else if (!strcasecmp(value, "MISSED")) { + DEBUGA_SKYPE("We missed skype_call %s\n", SKYPIAX_P_LOG, id); - if (p->interface_state != SKYPIAX_STATE_HANGUP_REQUESTED) { - if (option_debug > 100) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); + } else if (!strcasecmp(value, "FINISHED")) { + //p->skype_callflow = CALLFLOW_STATUS_FINISHED; + if (option_debug) + DEBUGA_SKYPE("skype_call %s now is DOWN\n", SKYPIAX_P_LOG, id); + p->skype_call_id[0] = '\0'; + + if (p->interface_state != SKYPIAX_STATE_HANGUP_REQUESTED) { + if (option_debug > 100) { + DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); + } + //p->interface_state = SKYPIAX_STATE_DOWN; + return CALLFLOW_INCOMING_HANGUP; + } else { + p->interface_state = SKYPIAX_STATE_DOWN; } - //p->interface_state = SKYPIAX_STATE_DOWN; - return CALLFLOW_INCOMING_HANGUP; - } else { - p->interface_state = SKYPIAX_STATE_DOWN; - } - } else if (!strcasecmp(value, "CANCELLED")) { - p->skype_callflow = CALLFLOW_STATUS_CANCELLED; - if (option_debug) - DEBUGA_SKYPE - ("we tried to call Skype on skype_call %s and Skype has now CANCELLED\n", - SKYPIAX_P_LOG, id); - p->skype_call_id[0] = '\0'; + } else if (!strcasecmp(value, "CANCELLED")) { + p->skype_callflow = CALLFLOW_STATUS_CANCELLED; + if (option_debug) + DEBUGA_SKYPE + ("we tried to call Skype on skype_call %s and Skype has now CANCELLED\n", + SKYPIAX_P_LOG, id); + p->skype_call_id[0] = '\0'; - if (p->interface_state != SKYPIAX_STATE_HANGUP_REQUESTED) { - if (option_debug > 100) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); + if (p->interface_state != SKYPIAX_STATE_HANGUP_REQUESTED) { + if (option_debug > 100) { + DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); + } + p->interface_state = SKYPIAX_STATE_DOWN; + return CALLFLOW_INCOMING_HANGUP; + } else { + p->interface_state = SKYPIAX_STATE_DOWN; } - p->interface_state = SKYPIAX_STATE_DOWN; - return CALLFLOW_INCOMING_HANGUP; - } else { - p->interface_state = SKYPIAX_STATE_DOWN; - } - } else if (!strcasecmp(value, "FAILED")) { - p->skype_callflow = CALLFLOW_STATUS_FAILED; - if (option_debug) - DEBUGA_SKYPE - ("we tried to call Skype on skype_call %s and Skype has now FAILED\n", - SKYPIAX_P_LOG, id); - p->skype_call_id[0] = '\0'; - strncpy(p->skype_call_id, id, sizeof(p->skype_call_id) - 1); - p->interface_state = SKYPIAX_STATE_DOWN; - if (option_debug > 100) { - DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - } - return CALLFLOW_INCOMING_HANGUP; - } else if (!strcasecmp(value, "REFUSED")) { - if (!strcasecmp(id, p->skype_call_id)) { - /* this is the id of the call we are in, probably we generated it */ - p->skype_callflow = CALLFLOW_STATUS_REFUSED; + } else if (!strcasecmp(value, "FAILED")) { + p->skype_callflow = CALLFLOW_STATUS_FAILED; if (option_debug) DEBUGA_SKYPE - ("we tried to call Skype on skype_call %s and Skype has now REFUSED\n", + ("we tried to call Skype on skype_call %s and Skype has now FAILED\n", SKYPIAX_P_LOG, id); + p->skype_call_id[0] = '\0'; strncpy(p->skype_call_id, id, sizeof(p->skype_call_id) - 1); p->interface_state = SKYPIAX_STATE_DOWN; - p->skype_call_id[0] = '\0'; if (option_debug > 100) { DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); } return CALLFLOW_INCOMING_HANGUP; - } else { - /* we're here because were us that refused an incoming call */ - DEBUGA_SKYPE("we REFUSED skype_call %s\n", SKYPIAX_P_LOG, id); - - } - } else if (!strcasecmp(value, "ROUTING")) { - p->skype_callflow = CALLFLOW_STATUS_ROUTING; - p->interface_state = SKYPIAX_STATE_DIALING; - strncpy(p->skype_call_id, id, sizeof(p->skype_call_id) - 1); - DEBUGA_SKYPE("skype_call: %s is now ROUTING\n", SKYPIAX_P_LOG, id); - } else if (!strcasecmp(value, "UNPLACED")) { - p->skype_callflow = CALLFLOW_STATUS_UNPLACED; - p->interface_state = SKYPIAX_STATE_DIALING; - strncpy(p->skype_call_id, id, sizeof(p->skype_call_id) - 1); - DEBUGA_SKYPE("skype_call: %s is now UNPLACED\n", SKYPIAX_P_LOG, id); - } else if (!strcasecmp(value, "INPROGRESS")) { - p->skype_callflow = CALLFLOW_STATUS_INPROGRESS; - strncpy(p->skype_call_id, id, sizeof(p->skype_call_id) - 1); - p->interface_state = SKYPIAX_STATE_UP; - if (option_debug > 1) - DEBUGA_SKYPE("skype_call: %s is now active\n", SKYPIAX_P_LOG, id); - - if (option_debug > 1) - DEBUGA_SKYPE("skype_call: %s SKYPIAX_CONTROL_ANSWER sent\n", - SKYPIAX_P_LOG, id); + } else if (!strcasecmp(value, "REFUSED")) { + if (!strcasecmp(id, p->skype_call_id)) { + /* this is the id of the call we are in, probably we generated it */ + p->skype_callflow = CALLFLOW_STATUS_REFUSED; + if (option_debug) + DEBUGA_SKYPE + ("we tried to call Skype on skype_call %s and Skype has now REFUSED\n", + SKYPIAX_P_LOG, id); + strncpy(p->skype_call_id, id, sizeof(p->skype_call_id) - 1); + p->interface_state = SKYPIAX_STATE_DOWN; + p->skype_call_id[0] = '\0'; + if (option_debug > 100) { + DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); + } + return CALLFLOW_INCOMING_HANGUP; + } else { + /* we're here because were us that refused an incoming call */ + DEBUGA_SKYPE("we REFUSED skype_call %s\n", SKYPIAX_P_LOG, id); - if (1) { //FIXME - char msg_to_skype[1024]; + } + } else if (!strcasecmp(value, "ROUTING")) { + p->skype_callflow = CALLFLOW_STATUS_ROUTING; + p->interface_state = SKYPIAX_STATE_DIALING; + strncpy(p->skype_call_id, id, sizeof(p->skype_call_id) - 1); + DEBUGA_SKYPE("skype_call: %s is now ROUTING\n", SKYPIAX_P_LOG, id); + } else if (!strcasecmp(value, "UNPLACED")) { + p->skype_callflow = CALLFLOW_STATUS_UNPLACED; + p->interface_state = SKYPIAX_STATE_DIALING; + strncpy(p->skype_call_id, id, sizeof(p->skype_call_id) - 1); + DEBUGA_SKYPE("skype_call: %s is now UNPLACED\n", SKYPIAX_P_LOG, id); + } else if (!strcasecmp(value, "INPROGRESS")) { + p->skype_callflow = CALLFLOW_STATUS_INPROGRESS; + strncpy(p->skype_call_id, id, sizeof(p->skype_call_id) - 1); + p->interface_state = SKYPIAX_STATE_UP; + if (option_debug > 1) + DEBUGA_SKYPE("skype_call: %s is now active\n", SKYPIAX_P_LOG, id); + + if (option_debug > 1) + DEBUGA_SKYPE("skype_call: %s SKYPIAX_CONTROL_ANSWER sent\n", + SKYPIAX_P_LOG, id); if (1) { //FIXME - switch_threadattr_t *thd_attr = NULL; + char msg_to_skype[1024]; - switch_threadattr_create(&thd_attr, skypiax_module_pool); - switch_threadattr_detach_set(thd_attr, 1); - switch_threadattr_stacksize_set(thd_attr, SWITCH_THREAD_STACKSIZE); - switch_thread_create(&p->tcp_srv_thread, thd_attr, - skypiax_do_tcp_srv_thread, p, skypiax_module_pool); - DEBUGA_SKYPE("started tcp_srv_thread thread.\n", SKYPIAX_P_LOG); - - switch_threadattr_create(&thd_attr, skypiax_module_pool); - switch_threadattr_detach_set(thd_attr, 1); - switch_threadattr_stacksize_set(thd_attr, SWITCH_THREAD_STACKSIZE); - switch_thread_create(&p->tcp_cli_thread, thd_attr, - skypiax_do_tcp_cli_thread, p, skypiax_module_pool); - DEBUGA_SKYPE("started tcp_cli_thread thread.\n", SKYPIAX_P_LOG); + if (1) { //FIXME + switch_threadattr_t *thd_attr = NULL; + + switch_threadattr_create(&thd_attr, skypiax_module_pool); + switch_threadattr_detach_set(thd_attr, 1); + switch_threadattr_stacksize_set(thd_attr, SWITCH_THREAD_STACKSIZE); + switch_thread_create(&p->tcp_srv_thread, thd_attr, + skypiax_do_tcp_srv_thread, p, + skypiax_module_pool); + DEBUGA_SKYPE("started tcp_srv_thread thread.\n", SKYPIAX_P_LOG); + + switch_threadattr_create(&thd_attr, skypiax_module_pool); + switch_threadattr_detach_set(thd_attr, 1); + switch_threadattr_stacksize_set(thd_attr, SWITCH_THREAD_STACKSIZE); + switch_thread_create(&p->tcp_cli_thread, thd_attr, + skypiax_do_tcp_cli_thread, p, + skypiax_module_pool); + DEBUGA_SKYPE("started tcp_cli_thread thread.\n", SKYPIAX_P_LOG); + } + switch_sleep(100000); + sprintf(msg_to_skype, "ALTER CALL %s SET_OUTPUT PORT=\"%d\"", id, + p->tcp_srv_port); + skypiax_skype_write(p, msg_to_skype); + switch_sleep(100000); + sprintf(msg_to_skype, "ALTER CALL %s SET_INPUT PORT=\"%d\"", id, + p->tcp_cli_port); + skypiax_skype_write(p, msg_to_skype); + switch_sleep(100000); } - switch_sleep(100000); - sprintf(msg_to_skype, "ALTER CALL %s SET_OUTPUT PORT=\"%d\"", id, p->tcp_srv_port); - skypiax_skype_write(p, msg_to_skype); - switch_sleep(100000); - sprintf(msg_to_skype, "ALTER CALL %s SET_INPUT PORT=\"%d\"", id, p->tcp_cli_port); - skypiax_skype_write(p, msg_to_skype); - switch_sleep(100000); - } - p->skype_callflow = SKYPIAX_STATE_UP; + p->skype_callflow = SKYPIAX_STATE_UP; /**************************/ - //FIXME switch_core_session_t **new_session; + //FIXME switch_core_session_t **new_session; - //FIXME *new_session=switch_loadable_module_create_interface(skypiax_endpoint_interface, pool); + //FIXME *new_session=switch_loadable_module_create_interface(skypiax_endpoint_interface, pool); - if (!global_session) { //FIXME FIXME FIXME - switch_core_session_t *session = NULL; - private_t *tech_pvt = NULL; - switch_channel_t *channel = NULL; - - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, - "New Inbound Channel!\n"); - - if ((session = - switch_core_session_request(skypiax_endpoint_interface, - NULL)) != 0) { - switch_core_session_add_stream(session, NULL); - if ((tech_pvt = - (private_t *) switch_core_session_alloc(session, - sizeof(private_t))) != 0) { - channel = switch_core_session_get_channel(session); - skypiax_tech_init(tech_pvt, session, p); - } else { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, - "Hey where is my memory pool?\n"); - switch_core_session_destroy(&session); - break; + if (!global_session) { //FIXME FIXME FIXME + switch_core_session_t *session = NULL; + private_t *tech_pvt = NULL; + switch_channel_t *channel = NULL; + + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, + "New Inbound Channel!\n"); + + if ((session = + switch_core_session_request(skypiax_endpoint_interface, + NULL)) != 0) { + switch_core_session_add_stream(session, NULL); + if ((tech_pvt = + (private_t *) switch_core_session_alloc(session, + sizeof(private_t))) != + 0) { + channel = switch_core_session_get_channel(session); + skypiax_tech_init(tech_pvt, session, p); + } else { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, + "Hey where is my memory pool?\n"); + switch_core_session_destroy(&session); + break; + } + + // if ((tech_pvt->caller_profile = switch_caller_profile_new(switch_core_session_get_pool(session), NULL, dialplan, cid_name, cid_num, ip, NULL, NULL, NULL, modname, NULL, dest)) != 0) + + if ((tech_pvt->caller_profile = + switch_caller_profile_new(switch_core_session_get_pool(session), + "skypiax", "XML", p->callid_name, + p->callid_number, NULL, "calling_ani", + NULL, NULL, "mod_skypiax", "public", + "5000")) != 0) { + char name[128]; + switch_snprintf(name, sizeof(name), "skypiax/%s-%04x", + tech_pvt->caller_profile->destination_number, + rand() & 0xffff); + switch_channel_set_name(channel, name); + switch_channel_set_caller_profile(channel, + tech_pvt->caller_profile); + } + switch_channel_set_state(channel, CS_INIT); + if (switch_core_session_thread_launch(session) != + SWITCH_STATUS_SUCCESS) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, + "Error spawning thread\n"); + switch_core_session_destroy(&session); + } } + //DEBUGA_SKYPE("skype_call: %s, answered\n", SKYPIAX_P_LOG, id); + switch_channel_mark_answered(channel); + } else { + switch_core_session_t *session = NULL; + private_t *tech_pvt = NULL; + switch_channel_t *channel = NULL; + + tech_pvt = p->tech_pvt; + //session = tech_pvt->session; + session = global_session; + channel = switch_core_session_get_channel(session); + //DEBUGA_SKYPE("skype_call: %s, answered\n", SKYPIAX_P_LOG, id); + switch_channel_mark_answered(channel); - // if ((tech_pvt->caller_profile = switch_caller_profile_new(switch_core_session_get_pool(session), NULL, dialplan, cid_name, cid_num, ip, NULL, NULL, NULL, modname, NULL, dest)) != 0) + //switch_channel_set_state(channel, CS_EXECUTE); - if ((tech_pvt->caller_profile = - switch_caller_profile_new(switch_core_session_get_pool(session), - "skypiax", "XML", p->callid_name, - p->callid_number, NULL, "calling_ani", - NULL, NULL, "mod_skypiax", "public", - "5000")) != 0) { - char name[128]; - switch_snprintf(name, sizeof(name), "skypiax/%s-%04x", - tech_pvt->caller_profile->destination_number, - rand() & 0xffff); - switch_channel_set_name(channel, name); - switch_channel_set_caller_profile(channel, tech_pvt->caller_profile); - } - switch_channel_set_state(channel, CS_INIT); - if (switch_core_session_thread_launch(session) != SWITCH_STATUS_SUCCESS) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, - "Error spawning thread\n"); - switch_core_session_destroy(&session); - } } - WARNINGA("skype_call: %s, answered\n", SKYPIAX_P_LOG, id); - switch_channel_mark_answered(channel); - } else { - switch_core_session_t *session = NULL; - private_t *tech_pvt = NULL; - switch_channel_t *channel = NULL; - - tech_pvt = p->tech_pvt; - //session = tech_pvt->session; - session = global_session; - channel = switch_core_session_get_channel(session); - WARNINGA("skype_call: %s, answered\n", SKYPIAX_P_LOG, id); - switch_channel_mark_answered(channel); - - //switch_channel_set_state(channel, CS_EXECUTE); - - } /**************************/ - } else { - WARNINGA("skype_call: %s, STATUS: %s is not recognized\n", SKYPIAX_P_LOG, - id, value); + } else { + WARNINGA("skype_call: %s, STATUS: %s is not recognized\n", SKYPIAX_P_LOG, + id, value); - } - } //STATUS + } + } //STATUS - } //CALL + } //CALL - a = 0; - } //message end - } //read_from_pipe + a = 0; + } //message end + } //read_from_pipe - } + } } if (option_debug > 100) { @@ -1710,7 +1701,8 @@ return 0; } -int skypiax_skype_call(struct skypiax_interface *p, char *idest, int timeout, switch_core_session_t * session) +int skypiax_skype_call(struct skypiax_interface *p, char *idest, int timeout, + switch_core_session_t * session) { char *rdest; char msg_to_skype[1024]; @@ -1745,5 +1737,3 @@ //FIXME ast_queue_control(p->owner, SKYPIAX_CONTROL_RINGING); return 0; } - - From gmaruzz at freeswitch.org Thu Jan 1 05:15:13 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Thu, 01 Jan 2009 08:15:13 -0500 Subject: [Freeswitch-branches] [commit] r11042 - freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax Message-ID: Author: gmaruzz Date: Thu Jan 1 08:15:13 2009 New Revision: 11042 Log: skypiax: all remaining switch_log_printf are now converted to skypiax equivalent funcs Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/mod_skypiax.c freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.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 Thu Jan 1 08:15:13 2009 @@ -63,11 +63,12 @@ static switch_status_t skypiax_codec(private_t * tech_pvt, int sample_rate, int codec_ms) { + skypiax_interface_t *p = NULL; if (switch_core_codec_init (&tech_pvt->read_codec, "L16", NULL, sample_rate, codec_ms, 1, SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE, NULL, NULL) != SWITCH_STATUS_SUCCESS) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Can't load codec?\n"); + ERRORA( "Can't load codec?\n", SKYPIAX_P_LOG); return SWITCH_STATUS_FALSE; } @@ -75,7 +76,7 @@ (&tech_pvt->write_codec, "L16", NULL, sample_rate, codec_ms, 1, SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE, NULL, NULL) != SWITCH_STATUS_SUCCESS) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Can't load codec?\n"); + ERRORA( "Can't load codec?\n", SKYPIAX_P_LOG); switch_core_codec_destroy(&tech_pvt->read_codec); return SWITCH_STATUS_FALSE; } @@ -109,9 +110,9 @@ } if (skypiax_codec(tech_pvt, SAMPLERATE_SKYPIAX, 20) != SWITCH_STATUS_SUCCESS) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "skypiax_docec FAILED\n"); + ERRORA( "skypiax_docec FAILED\n", SKYPIAX_P_LOG); } else { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "skypiax_codec SUCCESS\n"); + DEBUGA_SKYPE( "skypiax_codec SUCCESS\n", SKYPIAX_P_LOG); } DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); @@ -126,6 +127,7 @@ { switch_channel_t *channel; private_t *tech_pvt = NULL; + skypiax_interface_t *p = NULL; tech_pvt = switch_core_session_get_private(session); assert(tech_pvt != NULL); @@ -143,7 +145,7 @@ globals.calls++; switch_mutex_unlock(globals.mutex); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "%s CHANNEL INIT\n", + DEBUGA_SKYPE( "%s CHANNEL INIT\n", SKYPIAX_P_LOG, switch_channel_get_name(channel)); return SWITCH_STATUS_SUCCESS; } @@ -152,7 +154,7 @@ { switch_channel_t *channel = NULL; private_t *tech_pvt = NULL; - skypiax_interface_t *p; + skypiax_interface_t *p = NULL; char msg_to_skype[256]; channel = switch_core_session_get_channel(session); @@ -183,7 +185,7 @@ switch_core_codec_destroy(&tech_pvt->write_codec); } - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "%s CHANNEL HANGUP\n", + DEBUGA_SKYPE( "%s CHANNEL HANGUP\n", SKYPIAX_P_LOG, switch_channel_get_name(channel)); switch_mutex_lock(globals.mutex); globals.calls--; @@ -199,6 +201,7 @@ { switch_channel_t *channel = NULL; private_t *tech_pvt = NULL; + skypiax_interface_t *p = NULL; channel = switch_core_session_get_channel(session); assert(channel != NULL); @@ -206,7 +209,7 @@ tech_pvt = switch_core_session_get_private(session); assert(tech_pvt != NULL); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "%s CHANNEL ROUTING\n", + DEBUGA_SKYPE( "%s CHANNEL ROUTING\n", SKYPIAX_P_LOG, switch_channel_get_name(channel)); return SWITCH_STATUS_SUCCESS; @@ -217,6 +220,7 @@ switch_channel_t *channel = NULL; private_t *tech_pvt = NULL; + skypiax_interface_t *p = NULL; channel = switch_core_session_get_channel(session); assert(channel != NULL); @@ -224,7 +228,7 @@ tech_pvt = switch_core_session_get_private(session); assert(tech_pvt != NULL); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "%s CHANNEL EXECUTE\n", + DEBUGA_SKYPE( "%s CHANNEL EXECUTE\n", SKYPIAX_P_LOG, switch_channel_get_name(channel)); return SWITCH_STATUS_SUCCESS; @@ -234,6 +238,7 @@ { switch_channel_t *channel = NULL; private_t *tech_pvt = NULL; + skypiax_interface_t *p = NULL; channel = switch_core_session_get_channel(session); assert(channel != NULL); @@ -243,16 +248,16 @@ switch (sig) { case SWITCH_SIG_KILL: - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, - "%s CHANNEL got SWITCH_SIG_KILL\n", + DEBUGA_SKYPE( + "%s CHANNEL got SWITCH_SIG_KILL\n", SKYPIAX_P_LOG, switch_channel_get_name(channel)); switch_clear_flag_locked(tech_pvt, TFLAG_IO); switch_clear_flag_locked(tech_pvt, TFLAG_VOICE); switch_set_flag_locked(tech_pvt, TFLAG_HANGUP); break; case SWITCH_SIG_BREAK: - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, - "%s CHANNEL got SWITCH_SIG_BREAK\n", + DEBUGA_SKYPE( + "%s CHANNEL got SWITCH_SIG_BREAK\n", SKYPIAX_P_LOG, switch_channel_get_name(channel)); switch_set_flag_locked(tech_pvt, TFLAG_BREAK); break; @@ -265,13 +270,15 @@ static switch_status_t channel_on_exchange_media(switch_core_session_t * session) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "CHANNEL LOOPBACK\n"); + skypiax_interface_t *p = NULL; + DEBUGA_SKYPE( "CHANNEL LOOPBACK\n", SKYPIAX_P_LOG); return SWITCH_STATUS_SUCCESS; } static switch_status_t channel_on_soft_execute(switch_core_session_t * session) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "CHANNEL TRANSMIT\n"); + skypiax_interface_t *p = NULL; + DEBUGA_SKYPE( "CHANNEL TRANSMIT\n", SKYPIAX_P_LOG); return SWITCH_STATUS_SUCCESS; } @@ -291,6 +298,7 @@ switch_channel_t *channel = NULL; private_t *tech_pvt = NULL; switch_byte_t *data; + skypiax_interface_t *p = NULL; channel = switch_core_session_get_channel(session); assert(channel != NULL); @@ -302,35 +310,35 @@ if (skypiax_skypeaudio_read(tech_pvt) != SWITCH_STATUS_SUCCESS) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, - "skypiax_skypeaudio_read ERROR\n"); + ERRORA( + "skypiax_skypeaudio_read ERROR\n", SKYPIAX_P_LOG); } else { switch_set_flag_locked(tech_pvt, TFLAG_VOICE); - //switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "skypiax_skypeaudio_read SUCCESS\n"); + //ERRORA( "skypiax_skypeaudio_read SUCCESS\n"); } while (switch_test_flag(tech_pvt, TFLAG_IO)) { if (switch_test_flag(tech_pvt, TFLAG_BREAK)) { switch_clear_flag(tech_pvt, TFLAG_BREAK); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, - "CHANNEL READ FRAME goto CNG\n"); + DEBUGA_SKYPE( + "CHANNEL READ FRAME goto CNG\n", SKYPIAX_P_LOG); goto cng; } if (!switch_test_flag(tech_pvt, TFLAG_IO)) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, - "CHANNEL READ FRAME not IO\n"); + DEBUGA_SKYPE( + "CHANNEL READ FRAME not IO\n", SKYPIAX_P_LOG); return SWITCH_STATUS_FALSE; } - //switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "============>\n"); + //DEBUGA_SKYPE( "============>\n"); if (switch_test_flag(tech_pvt, TFLAG_IO) && switch_test_flag(tech_pvt, TFLAG_VOICE)) { switch_clear_flag_locked(tech_pvt, TFLAG_VOICE); if (!tech_pvt->read_frame.datalen) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, - "CHANNEL READ CONTINUE\n"); + DEBUGA_SKYPE( + "CHANNEL READ CONTINUE\n", SKYPIAX_P_LOG); continue; } *frame = &tech_pvt->read_frame; @@ -342,12 +350,12 @@ return SWITCH_STATUS_SUCCESS; } - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "CHANNEL READ no TFLAG_IO\n"); + DEBUGA_SKYPE( "CHANNEL READ no TFLAG_IO\n", SKYPIAX_P_LOG); return SWITCH_STATUS_FALSE; } - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "CHANNEL READ FALSE\n"); + DEBUGA_SKYPE( "CHANNEL READ FALSE\n", SKYPIAX_P_LOG); return SWITCH_STATUS_FALSE; cng: @@ -370,7 +378,7 @@ unsigned int sent; struct skypiax_interface *p = NULL; - //switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "CHANNEL WRITE FRAME\n"); + //DEBUGA_SKYPE( "CHANNEL WRITE FRAME\n"); channel = switch_core_session_get_channel(session); assert(channel != NULL); @@ -465,13 +473,14 @@ { struct private_object *tech_pvt = switch_core_session_get_private(session); char *body = switch_event_get_body(event); + skypiax_interface_t *p = NULL; switch_assert(tech_pvt != NULL); if (!body) { body = ""; } - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "event: |||%s|||\n", body); + WARNINGA( "event: |||%s|||\n", SKYPIAX_P_LOG, body); return SWITCH_STATUS_SUCCESS; } @@ -507,6 +516,7 @@ private_t *tech_pvt; switch_channel_t *channel; switch_caller_profile_t *caller_profile; + skypiax_interface_t *p = NULL; switch_core_session_add_stream(*new_session, NULL); if ((tech_pvt = @@ -516,8 +526,8 @@ channel = switch_core_session_get_channel(*new_session); skypiax_tech_init(tech_pvt, *new_session, NULL); } else { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, - "Hey where is my memory pool?\n"); + ERRORA( + "Hey where is my memory pool?\n", SKYPIAX_P_LOG); switch_core_session_destroy(new_session); return SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER; } @@ -532,7 +542,7 @@ switch_channel_set_caller_profile(channel, caller_profile); tech_pvt->caller_profile = caller_profile; } else { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Doh! no caller profile\n"); + ERRORA( "Doh! no caller profile\n", SKYPIAX_P_LOG); switch_core_session_destroy(new_session); return SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER; } @@ -632,44 +642,44 @@ char *val = (char *) switch_xml_attr_soft(param, "value"); if (!strcasecmp(var, "debug")) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "globals.debug=%d\n", + DEBUGA_SKYPE( "globals.debug=%d\n", SKYPIAX_P_LOG, globals.debug); globals.debug = atoi(val); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "globals.debug=%d\n", + DEBUGA_SKYPE( "globals.debug=%d\n", SKYPIAX_P_LOG, globals.debug); } else if (!strcasecmp(var, "hold-music")) { switch_set_string(globals.hold_music, val); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "globals.hold_music=%s\n", + DEBUGA_SKYPE( "globals.hold_music=%s\n", SKYPIAX_P_LOG, globals.hold_music); } else if (!strcmp(var, "port")) { globals.port = atoi(val); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "globals.port=%d\n", + DEBUGA_SKYPE( "globals.port=%d\n", SKYPIAX_P_LOG, globals.port); } else if (!strcmp(var, "ip")) { set_global_ip(val); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "globals.ip=%s\n", + DEBUGA_SKYPE( "globals.ip=%s\n", SKYPIAX_P_LOG, globals.ip); } else if (!strcmp(var, "codec-master")) { if (!strcasecmp(val, "us")) { switch_set_flag(&globals, GFLAG_MY_CODEC_PREFS); } - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, - "codec-master globals.debug=%d\n", globals.debug); + DEBUGA_SKYPE( + "codec-master globals.debug=%d\n", SKYPIAX_P_LOG, globals.debug); } else if (!strcmp(var, "dialplan")) { set_global_dialplan(val); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "globals.dialplan=%s\n", + DEBUGA_SKYPE( "globals.dialplan=%s\n", SKYPIAX_P_LOG, globals.dialplan); } else if (!strcmp(var, "codec-prefs")) { set_global_codec_string(val); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, - "globals.codec_string=%s\n", globals.codec_string); + DEBUGA_SKYPE( + "globals.codec_string=%s\n", SKYPIAX_P_LOG, globals.codec_string); globals.codec_order_last = switch_separate_string(globals.codec_string, ',', globals.codec_order, SWITCH_MAX_CODECS); } else if (!strcmp(var, "codec-rates")) { set_global_codec_rates_string(val); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, - "globals.codec_rates_string=%s\n", globals.codec_rates_string); + DEBUGA_SKYPE( + "globals.codec_rates_string=%s\n", SKYPIAX_P_LOG, globals.codec_rates_string); globals.codec_rates_last = switch_separate_string(globals.codec_rates_string, ',', globals.codec_rates, SWITCH_MAX_CODECS); @@ -741,50 +751,50 @@ } if (!skype_user) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, - "interface missing REQUIRED param 'skype_user'\n"); + ERRORA( + "interface missing REQUIRED param 'skype_user'\n", SKYPIAX_P_LOG); continue; } if (!skype_password) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, - "interface missing REQUIRED param 'skype_password'\n"); + ERRORA( + "interface missing REQUIRED param 'skype_password'\n", SKYPIAX_P_LOG); continue; } if (!X11_display) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, - "interface missing REQUIRED param 'X11_display'\n"); + ERRORA( + "interface missing REQUIRED param 'X11_display'\n", SKYPIAX_P_LOG); continue; } if (!tcp_cli_port) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, - "interface missing REQUIRED param 'tcp_cli_port'\n"); + ERRORA( + "interface missing REQUIRED param 'tcp_cli_port'\n", SKYPIAX_P_LOG); continue; } if (!tcp_srv_port) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, - "interface missing REQUIRED param 'tcp_srv_port'\n"); + ERRORA( + "interface missing REQUIRED param 'tcp_srv_port'\n", SKYPIAX_P_LOG); continue; } if (!id) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, - "interface missing REQUIRED param 'id'\n"); + ERRORA( + "interface missing REQUIRED param 'id'\n", SKYPIAX_P_LOG); continue; } if (switch_is_number(id)) { interface_id = atoi(id); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "interface_id=%d\n", + DEBUGA_SKYPE( "interface_id=%d\n", SKYPIAX_P_LOG, interface_id); } else { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, - "interface param 'id' MUST be a number, now id='%s'\n", id); + ERRORA( + "interface param 'id' MUST be a number, now id='%s'\n", SKYPIAX_P_LOG, id); continue; } if (!name) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, - "interface missing param 'name', not nice, but works\n"); + WARNINGA( + "interface missing param 'name', not nice, but works\n", SKYPIAX_P_LOG); } if (!tonegroup) { @@ -800,7 +810,7 @@ } if (name) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "name=%s\n", name); + DEBUGA_SKYPE( "name=%s\n", SKYPIAX_P_LOG, name); } #ifndef WIN32 if (!XInitThreads()) { @@ -818,8 +828,8 @@ memset(&newconf, '\0', sizeof(newconf)); globals.SKYPIAX_INTERFACES[interface_id] = newconf; - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, - "CONFIGURING interface_id=%d\n", interface_id); + DEBUGA_SKYPE( + "CONFIGURING interface_id=%d\n", SKYPIAX_P_LOG, interface_id); switch_set_string(globals.SKYPIAX_INTERFACES[interface_id].interface_id, id); if (name) { switch_set_string(globals.SKYPIAX_INTERFACES[interface_id].name, name); @@ -846,38 +856,38 @@ switch_set_string(globals.SKYPIAX_INTERFACES[interface_id].context, context); switch_set_string(globals.SKYPIAX_INTERFACES[interface_id].dialplan, dialplan); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, - "interface_id=%d globals.SKYPIAX_INTERFACES[interface_id].X11_display=%s\n", + DEBUGA_SKYPE( + "interface_id=%d globals.SKYPIAX_INTERFACES[interface_id].X11_display=%s\n", SKYPIAX_P_LOG, interface_id, globals.SKYPIAX_INTERFACES[interface_id].X11_display); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, - "interface_id=%d globals.SKYPIAX_INTERFACES[interface_id].skype_user=%s\n", + DEBUGA_SKYPE( + "interface_id=%d globals.SKYPIAX_INTERFACES[interface_id].skype_user=%s\n", SKYPIAX_P_LOG, interface_id, globals.SKYPIAX_INTERFACES[interface_id].skype_user); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, - "interface_id=%d globals.SKYPIAX_INTERFACES[interface_id].skype_password=%s\n", + DEBUGA_SKYPE( + "interface_id=%d globals.SKYPIAX_INTERFACES[interface_id].skype_password=%s\n", SKYPIAX_P_LOG, interface_id, globals.SKYPIAX_INTERFACES[interface_id].skype_password); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, - "interface_id=%d globals.SKYPIAX_INTERFACES[interface_id].tcp_cli_port=%d\n", + DEBUGA_SKYPE( + "interface_id=%d globals.SKYPIAX_INTERFACES[interface_id].tcp_cli_port=%d\n", SKYPIAX_P_LOG, interface_id, globals.SKYPIAX_INTERFACES[interface_id].tcp_cli_port); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, - "interface_id=%d globals.SKYPIAX_INTERFACES[interface_id].tcp_srv_port=%d\n", + DEBUGA_SKYPE( + "interface_id=%d globals.SKYPIAX_INTERFACES[interface_id].tcp_srv_port=%d\n", SKYPIAX_P_LOG, interface_id, globals.SKYPIAX_INTERFACES[interface_id].tcp_srv_port); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, - "interface_id=%d globals.SKYPIAX_INTERFACES[interface_id].name=%s\n", + DEBUGA_SKYPE( + "interface_id=%d globals.SKYPIAX_INTERFACES[interface_id].name=%s\n", SKYPIAX_P_LOG, interface_id, globals.SKYPIAX_INTERFACES[interface_id].name); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, - "interface_id=%d globals.SKYPIAX_INTERFACES[interface_id].context=%s\n", + DEBUGA_SKYPE( + "interface_id=%d globals.SKYPIAX_INTERFACES[interface_id].context=%s\n", SKYPIAX_P_LOG, interface_id, globals.SKYPIAX_INTERFACES[interface_id].context); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, - "interface_id=%d globals.SKYPIAX_INTERFACES[interface_id].dialplan=%s\n", + DEBUGA_SKYPE( + "interface_id=%d globals.SKYPIAX_INTERFACES[interface_id].dialplan=%s\n", SKYPIAX_P_LOG, interface_id, globals.SKYPIAX_INTERFACES[interface_id].dialplan); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, - "STARTING interface_id=%d\n", interface_id); + NOTICA( + "STARTING interface_id=%d\n", SKYPIAX_P_LOG, interface_id); switch_threadattr_create(&do_skype_thd_attr, skypiax_module_pool); //switch_threadattr_detach_set(do_skype_thd_attr, 1); @@ -905,12 +915,12 @@ skypiax_skypeaudio_init(&globals.SKYPIAX_INTERFACES[interface_id]); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, - "STARTED interface_id=%d\n", interface_id); + NOTICA( + "STARTED interface_id=%d\n", SKYPIAX_P_LOG, interface_id); } else { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, - "interface id %d is higher than SKYPIAX_MAX_INTERFACES (%d)\n", + ERRORA( + "interface id %d is higher than SKYPIAX_MAX_INTERFACES (%d)\n", SKYPIAX_P_LOG, interface_id, SKYPIAX_MAX_INTERFACES); continue; } @@ -919,20 +929,20 @@ for (i = 0; i < SKYPIAX_MAX_INTERFACES; i++) { if (strlen(globals.SKYPIAX_INTERFACES[i].name)) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, - "i=%d globals.SKYPIAX_INTERFACES[%d].interface_id=%s\n", i, i, + DEBUGA_SKYPE( + "i=%d globals.SKYPIAX_INTERFACES[%d].interface_id=%s\n", SKYPIAX_P_LOG, i, i, globals.SKYPIAX_INTERFACES[i].interface_id); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, - "i=%d globals.SKYPIAX_INTERFACES[%d].X11_display=%s\n", i, i, + DEBUGA_SKYPE( + "i=%d globals.SKYPIAX_INTERFACES[%d].X11_display=%s\n", SKYPIAX_P_LOG, i, i, globals.SKYPIAX_INTERFACES[i].X11_display); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, - "i=%d globals.SKYPIAX_INTERFACES[%d].name=%s\n", i, i, + DEBUGA_SKYPE( + "i=%d globals.SKYPIAX_INTERFACES[%d].name=%s\n", SKYPIAX_P_LOG, i, i, globals.SKYPIAX_INTERFACES[i].name); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, - "i=%d globals.SKYPIAX_INTERFACES[%d].context=%s\n", i, i, + DEBUGA_SKYPE( + "i=%d globals.SKYPIAX_INTERFACES[%d].context=%s\n", SKYPIAX_P_LOG, i, i, globals.SKYPIAX_INTERFACES[i].context); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, - "i=%d globals.SKYPIAX_INTERFACES[%d].dialplan=%s\n", i, i, + DEBUGA_SKYPE( + "i=%d globals.SKYPIAX_INTERFACES[%d].dialplan=%s\n", SKYPIAX_P_LOG, i, i, globals.SKYPIAX_INTERFACES[i].dialplan); } } Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c Thu Jan 1 08:15:13 2009 @@ -1024,12 +1024,12 @@ //disp = XOpenDisplay(getenv("DISPLAY")); disp = XOpenDisplay(p->X11_display); if (!disp) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, - "Cannot open X Display '%s', exiting skype thread\n", + ERRORA( + "Cannot open X Display '%s', exiting skype thread\n", SKYPIAX_P_LOG, p->X11_display); return NULL; } else { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "X Display '%s' opened\n", + DEBUGA_SKYPE( "X Display '%s' opened\n", SKYPIAX_P_LOG, p->X11_display); } @@ -1401,7 +1401,7 @@ if (channel) { switch_dtmf_t dtmf = { (char) value[0], switch_core_default_dtmf_duration(0) }; - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "%c DTMF %s\n", + NOTICA("%c DTMF %s\n", SKYPIAX_P_LOG, dtmf.digit, switch_channel_get_name(channel)); switch_mutex_lock(tech_pvt->flag_mutex); switch_channel_queue_dtmf(channel, &dtmf); @@ -1615,8 +1615,8 @@ private_t *tech_pvt = NULL; switch_channel_t *channel = NULL; - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, - "New Inbound Channel!\n"); + NOTICA( + "New Inbound Channel!\n", SKYPIAX_P_LOG); if ((session = switch_core_session_request(skypiax_endpoint_interface, @@ -1629,8 +1629,8 @@ channel = switch_core_session_get_channel(session); skypiax_tech_init(tech_pvt, session, p); } else { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, - "Hey where is my memory pool?\n"); + ERRORA( + "Hey where is my memory pool?\n", SKYPIAX_P_LOG); switch_core_session_destroy(&session); break; } @@ -1654,8 +1654,8 @@ switch_channel_set_state(channel, CS_INIT); if (switch_core_session_thread_launch(session) != SWITCH_STATUS_SUCCESS) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, - "Error spawning thread\n"); + ERRORA( + "Error spawning thread\n", SKYPIAX_P_LOG); switch_core_session_destroy(&session); } } From gmaruzz at freeswitch.org Thu Jan 1 09:14:54 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Thu, 01 Jan 2009 12:14:54 -0500 Subject: [Freeswitch-branches] [commit] r11043 - freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax Message-ID: Author: gmaruzz Date: Thu Jan 1 12:14:54 2009 New Revision: 11043 Log: skypiax: looping on recv, will not compile on win, needs to be finished Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c Thu Jan 1 12:14:54 2009 @@ -96,6 +96,7 @@ int rt; fd_set fs; struct timeval to; + int received = 0; if (!running) break; @@ -108,13 +109,25 @@ to.tv_sec = 0; rt = select(fdselect + 1, &fs, NULL, NULL, &to); - //rt=0; + //rt=1; if (rt > 0) { #ifdef WIN32 len = recv(fd, (char *) srv_in, 320, 0); //seems that Skype only sends 320 bytes at time #else /* WIN32 */ - len = recv(fd, (char *) srv_in, 320, 0); //seems that Skype only sends 320 bytes at time + while(received < SAMPLES_PER_FRAME * sizeof(short)){ + len = recv(fd, srv_in + (received / sizeof(short)), (SAMPLES_PER_FRAME * sizeof(short)) - received, 0); //seems that Skype only sends 320 bytes at time + received += len; + if(len == 0) + break; + } + if(len) + len = received; + + + + + //len = recv(fd, srv_in, SAMPLES_PER_FRAME * sizeof(short), 0); //seems that Skype only sends 320 bytes at time #endif /* WIN32 */ if ((SAMPLERATE_SKYPIAX - 8000) == 0) { @@ -171,20 +184,20 @@ /****************************************************************/ if (len > 0) { if (len == SAMPLES_PER_FRAME * sizeof(short)) { - unsigned int howmany; - howmany = len; + //unsigned int howmany; + //howmany = len; - WARNINGA("SRV recv %d\n", SKYPIAX_P_LOG, len); + //WARNINGA("SRV recv %d\n", SKYPIAX_P_LOG, len); #ifdef WIN32 switch_file_write(p->audiopipe[1], srv_in, &howmany); #else /* WIN32 */ - howmany = write(p->audiopipe[1], srv_in, howmany); + len = write(p->audiopipe[1], srv_in, len); #endif /* WIN32 */ - p->audiobuf_is_loaded = 0; - WARNINGA("SRV PIPE WRITE=====> req=%lu recv=%d to sent=%d sent=%u\n", - SKYPIAX_P_LOG, sizeof(short) * SAMPLES_PER_FRAME, len, len, - howmany); + //p->audiobuf_is_loaded = 0; + //WARNINGA("SRV PIPE WRITE=====> req=%lu recv=%d to sent=%d sent=%u\n", + //SKYPIAX_P_LOG, sizeof(short) * SAMPLES_PER_FRAME, len, len, + //howmany); } else if (len == SAMPLES_PER_FRAME * sizeof(short) / 2) { #if 1 From mikej at freeswitch.org Thu Jan 1 19:27:51 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Thu, 01 Jan 2009 22:27:51 -0500 Subject: [Freeswitch-branches] [commit] r11051 - freeswitch/branches/1.0 Message-ID: Author: mikej Date: Thu Jan 1 22:27:51 2009 New Revision: 11051 Log: create 1.0 branch from svn trunk revision 11050 Added: freeswitch/branches/1.0/ - copied from r11050, /freeswitch/trunk/ From mikej at freeswitch.org Thu Jan 1 19:30:34 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Thu, 01 Jan 2009 22:30:34 -0500 Subject: [Freeswitch-branches] [commit] r11052 - freeswitch/branches/1.1 Message-ID: Author: mikej Date: Thu Jan 1 22:30:34 2009 New Revision: 11052 Log: create 1.1 branch from svn trunk revision 11050 Added: freeswitch/branches/1.1/ - copied from r11051, /freeswitch/trunk/ From gmaruzz at freeswitch.org Wed Jan 7 08:17:00 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Wed, 07 Jan 2009 10:17:00 -0600 Subject: [Freeswitch-branches] [commit] r11086 - in freeswitch/branches/gmaruzz: . build conf conf/autoload_configs conf/dialplan conf/directory conf/directory/default conf/sip_profiles debian docs libs/esl libs/esl/getopt libs/esl/src libs/esl/src/include libs/libg722_1/src libs/portaudio/src/os/win libs/sofia-sip/libsofia-sip-ua/su libs/win32 libs/win32/flite libs/win32/pocketsphinx libs/win32/sphinxbase scripts src src/include src/mod/applications/mod_commands src/mod/applications/mod_conference src/mod/applications/mod_dptools src/mod/applications/mod_easyroute src/mod/applications/mod_limit src/mod/applications/mod_voicemail src/mod/endpoints/mod_iax src/mod/endpoints/mod_sofia src/mod/event_handlers/mod_erlang_event src/mod/event_handlers/mod_event_multicast src/mod/event_handlers/mod_event_socket src/mod/formats/mod_shout src/mod/languages/mod_managed src/mod/languages/mod_managed/managed src/mod/languages/mod_spidermonkey src/mod/xml_int/mod_xml_rpc support-d Message-ID: Author: gmaruzz Date: Wed Jan 7 10:17:00 2009 New Revision: 11086 Log: Merge of trunk revisions 10915:11043 into gmaruzz branch Added: freeswitch/branches/gmaruzz/Freeswitch.2008.express.sln - copied unchanged from r11085, /freeswitch/trunk/Freeswitch.2008.express.sln freeswitch/branches/gmaruzz/conf/autoload_configs/easyroute.conf.xml - copied unchanged from r11085, /freeswitch/trunk/conf/autoload_configs/easyroute.conf.xml freeswitch/branches/gmaruzz/libs/esl/fs_cli.conf - copied unchanged from r11085, /freeswitch/trunk/libs/esl/fs_cli.conf freeswitch/branches/gmaruzz/libs/esl/getopt/ - copied from r11085, /freeswitch/trunk/libs/esl/getopt/ freeswitch/branches/gmaruzz/libs/esl/getopt/getopt.h - copied unchanged from r11085, /freeswitch/trunk/libs/esl/getopt/getopt.h freeswitch/branches/gmaruzz/libs/esl/getopt/getopt_long.c - copied unchanged from r11085, /freeswitch/trunk/libs/esl/getopt/getopt_long.c freeswitch/branches/gmaruzz/scripts/easyroute_mysql.sql - copied unchanged from r11085, /freeswitch/trunk/scripts/easyroute_mysql.sql freeswitch/branches/gmaruzz/scripts/m4a-to-wav.sh - copied unchanged from r11085, /freeswitch/trunk/scripts/m4a-to-wav.sh freeswitch/branches/gmaruzz/src/mod/applications/mod_easyroute/ - copied from r11085, /freeswitch/trunk/src/mod/applications/mod_easyroute/ freeswitch/branches/gmaruzz/src/mod/applications/mod_easyroute/Makefile - copied unchanged from r11085, /freeswitch/trunk/src/mod/applications/mod_easyroute/Makefile freeswitch/branches/gmaruzz/src/mod/applications/mod_easyroute/mod_easyroute.c - copied unchanged from r11085, /freeswitch/trunk/src/mod/applications/mod_easyroute/mod_easyroute.c Modified: freeswitch/branches/gmaruzz/Freeswitch.2008.sln freeswitch/branches/gmaruzz/Makefile.am freeswitch/branches/gmaruzz/build/modules.conf.in freeswitch/branches/gmaruzz/build/sounds_version.txt freeswitch/branches/gmaruzz/conf/autoload_configs/conference.conf.xml freeswitch/branches/gmaruzz/conf/dialplan/default.xml freeswitch/branches/gmaruzz/conf/directory/default.xml freeswitch/branches/gmaruzz/conf/directory/default/brian.xml freeswitch/branches/gmaruzz/conf/sip_profiles/internal-ipv6.xml freeswitch/branches/gmaruzz/conf/vars.xml freeswitch/branches/gmaruzz/debian/changelog freeswitch/branches/gmaruzz/debian/freeswitch.install freeswitch/branches/gmaruzz/docs/ChangeLog freeswitch/branches/gmaruzz/docs/Doxygen.conf freeswitch/branches/gmaruzz/libs/esl/Makefile freeswitch/branches/gmaruzz/libs/esl/fs_cli.2008.vcproj freeswitch/branches/gmaruzz/libs/esl/fs_cli.c freeswitch/branches/gmaruzz/libs/esl/src/esl.2008.vcproj freeswitch/branches/gmaruzz/libs/esl/src/esl.c freeswitch/branches/gmaruzz/libs/esl/src/esl_event.c freeswitch/branches/gmaruzz/libs/esl/src/include/esl.h freeswitch/branches/gmaruzz/libs/esl/src/include/esl_config.h freeswitch/branches/gmaruzz/libs/esl/testclient.c freeswitch/branches/gmaruzz/libs/esl/testserver.c freeswitch/branches/gmaruzz/libs/libg722_1/src/dct4.h freeswitch/branches/gmaruzz/libs/portaudio/src/os/win/pa_win_wdmks_utils.c freeswitch/branches/gmaruzz/libs/portaudio/src/os/win/pa_x86_plain_converters.c freeswitch/branches/gmaruzz/libs/sofia-sip/libsofia-sip-ua/su/su_kqueue_port.c freeswitch/branches/gmaruzz/libs/win32/Dowload 32khz Sounds.2008.vcproj freeswitch/branches/gmaruzz/libs/win32/Download 16khz Sounds.2008.vcproj freeswitch/branches/gmaruzz/libs/win32/Download 8khz Sounds.2008.vcproj freeswitch/branches/gmaruzz/libs/win32/flite/flite.2008.vcproj freeswitch/branches/gmaruzz/libs/win32/pocketsphinx/pocketsphinx.2008.vcproj freeswitch/branches/gmaruzz/libs/win32/sphinxbase/sphinxbase.2008.vcproj freeswitch/branches/gmaruzz/src/include/switch_channel.h freeswitch/branches/gmaruzz/src/include/switch_dso.h freeswitch/branches/gmaruzz/src/include/switch_ivr.h freeswitch/branches/gmaruzz/src/include/switch_rtp.h freeswitch/branches/gmaruzz/src/include/switch_types.h freeswitch/branches/gmaruzz/src/include/switch_xml.h freeswitch/branches/gmaruzz/src/mod/applications/mod_commands/mod_commands.c freeswitch/branches/gmaruzz/src/mod/applications/mod_conference/mod_conference.c freeswitch/branches/gmaruzz/src/mod/applications/mod_dptools/mod_dptools.c freeswitch/branches/gmaruzz/src/mod/applications/mod_limit/mod_limit.c freeswitch/branches/gmaruzz/src/mod/applications/mod_voicemail/mod_voicemail.c freeswitch/branches/gmaruzz/src/mod/endpoints/mod_iax/mod_iax.c freeswitch/branches/gmaruzz/src/mod/endpoints/mod_sofia/mod_sofia.c freeswitch/branches/gmaruzz/src/mod/endpoints/mod_sofia/mod_sofia.h freeswitch/branches/gmaruzz/src/mod/endpoints/mod_sofia/sofia.c freeswitch/branches/gmaruzz/src/mod/endpoints/mod_sofia/sofia_glue.c freeswitch/branches/gmaruzz/src/mod/endpoints/mod_sofia/sofia_reg.c freeswitch/branches/gmaruzz/src/mod/event_handlers/mod_erlang_event/mod_erlang_event.c freeswitch/branches/gmaruzz/src/mod/event_handlers/mod_event_multicast/mod_event_multicast.c freeswitch/branches/gmaruzz/src/mod/event_handlers/mod_event_socket/mod_event_socket.c freeswitch/branches/gmaruzz/src/mod/formats/mod_shout/Makefile freeswitch/branches/gmaruzz/src/mod/languages/mod_managed/freeswitch_wrap.cxx freeswitch/branches/gmaruzz/src/mod/languages/mod_managed/managed/swig.cs freeswitch/branches/gmaruzz/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c freeswitch/branches/gmaruzz/src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.c freeswitch/branches/gmaruzz/src/switch_apr.c freeswitch/branches/gmaruzz/src/switch_channel.c freeswitch/branches/gmaruzz/src/switch_console.c freeswitch/branches/gmaruzz/src/switch_core.c freeswitch/branches/gmaruzz/src/switch_core_io.c freeswitch/branches/gmaruzz/src/switch_core_session.c freeswitch/branches/gmaruzz/src/switch_core_state_machine.c freeswitch/branches/gmaruzz/src/switch_dso.c freeswitch/branches/gmaruzz/src/switch_event.c freeswitch/branches/gmaruzz/src/switch_ivr.c freeswitch/branches/gmaruzz/src/switch_ivr_async.c freeswitch/branches/gmaruzz/src/switch_ivr_bridge.c freeswitch/branches/gmaruzz/src/switch_ivr_originate.c freeswitch/branches/gmaruzz/src/switch_log.c freeswitch/branches/gmaruzz/src/switch_rtp.c freeswitch/branches/gmaruzz/src/switch_xml.c freeswitch/branches/gmaruzz/support-d/.screenrc Modified: freeswitch/branches/gmaruzz/Freeswitch.2008.sln ============================================================================== --- freeswitch/branches/gmaruzz/Freeswitch.2008.sln (original) +++ freeswitch/branches/gmaruzz/Freeswitch.2008.sln Wed Jan 7 10:17:00 2009 @@ -831,6 +831,10 @@ EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "aprtoolkit", "libs\openmrcp\aprtoolkit\aprtoolkit.2008.vcproj", "{13DEECA0-BDD4-4744-A1A2-8EB0A44DF3D2}" + ProjectSection(ProjectDependencies) = postProject + {F057DA7F-79E5-4B00-845C-EF446EF055E3} = {F057DA7F-79E5-4B00-845C-EF446EF055E3} + {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} = {F6C55D93-B927-4483-BB69-15AEF3DD2DFF} + EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_fsv", "src\mod\applications\mod_fsv\mod_fsv.2008.vcproj", "{E3246D17-E29B-4AB5-962A-C69B0C5837BB}" ProjectSection(ProjectDependencies) = postProject @@ -1726,6 +1730,7 @@ {834E2B2F-5483-4B80-8FE3-FE48FF76E5C0}.Debug|Win32.Build.0 = Debug|Any CPU {834E2B2F-5483-4B80-8FE3-FE48FF76E5C0}.Debug|x64.ActiveCfg = Debug|Any CPU {834E2B2F-5483-4B80-8FE3-FE48FF76E5C0}.Release|Win32.ActiveCfg = Release|Any CPU + {834E2B2F-5483-4B80-8FE3-FE48FF76E5C0}.Release|Win32.Build.0 = Release|Any CPU {834E2B2F-5483-4B80-8FE3-FE48FF76E5C0}.Release|x64.ActiveCfg = Release|Any CPU {E796E337-DE78-4303-8614-9A590862EE95}.Debug|Win32.ActiveCfg = Debug|Win32 {E796E337-DE78-4303-8614-9A590862EE95}.Debug|Win32.Build.0 = Debug|Win32 @@ -1770,8 +1775,10 @@ {CF405366-9558-4AE8-90EF-5E21B51CCB4E}.Release|Win32.Build.0 = Release|Win32 {CF405366-9558-4AE8-90EF-5E21B51CCB4E}.Release|x64.ActiveCfg = Release|Win32 {D2FB8043-D208-4AEE-8F18-3B5857C871B9}.Debug|Win32.ActiveCfg = Debug|Win32 + {D2FB8043-D208-4AEE-8F18-3B5857C871B9}.Debug|Win32.Build.0 = Debug|Win32 {D2FB8043-D208-4AEE-8F18-3B5857C871B9}.Debug|x64.ActiveCfg = Debug|Win32 {D2FB8043-D208-4AEE-8F18-3B5857C871B9}.Release|Win32.ActiveCfg = Release|Win32 + {D2FB8043-D208-4AEE-8F18-3B5857C871B9}.Release|Win32.Build.0 = Release|Win32 {D2FB8043-D208-4AEE-8F18-3B5857C871B9}.Release|x64.ActiveCfg = Release|Win32 {C6E78A4C-DB1E-47F4-9B63-4DC27D86343F}.Debug|Win32.ActiveCfg = Debug|Win32 {C6E78A4C-DB1E-47F4-9B63-4DC27D86343F}.Debug|Win32.Build.0 = Debug|Win32 Modified: freeswitch/branches/gmaruzz/Makefile.am ============================================================================== --- freeswitch/branches/gmaruzz/Makefile.am (original) +++ freeswitch/branches/gmaruzz/Makefile.am Wed Jan 7 10:17:00 2009 @@ -158,13 +158,18 @@ CLEANFILES = src/include/switch_version.h src/include/switch_swigable_cpp.h BUILT_SOURCES = src/include/switch_version.h src/include/switch_swigable_cpp.h -bin_PROGRAMS = freeswitch +bin_PROGRAMS = freeswitch fs_cli +fs_cli_SOURCES = libs/esl/src/esl.c libs/esl/src/esl_config.c libs/esl/src/esl_event.c libs/esl/src/esl_threadmutex.c libs/esl/fs_cli.c freeswitch_SOURCES = src/switch.c -nodist_freeswitch_SOURCES = src/include/switch_version.h +nodist_freeswitch_SOURCES = src/include/switch_version.h +fs_cli_CFLAGS = $(AM_CFLAGS) -Ilibs/esl/src/include +fs_cli_LDFLAGS = $(AM_LDFLAGS) -lpthread freeswitch_CFLAGS = $(AM_CFLAGS) $(CORE_CFLAGS) freeswitch_LDFLAGS = $(AM_LDFLAGS) -rpath $(libdir) freeswitch_LDADD = libfreeswitch.la libs/apr/libapr-1.la if ADD_LIBEDIT +fs_cli_CFLAGS += -DHAVE_EDITLINE -Ilibs/libedit/src +fs_cli_LDADD = libs/libedit/src/.libs/libedit.a freeswitch_CFLAGS += -Ilibs/libedit/src -DSWITCH_HAVE_LIBEDIT freeswitch_LDADD += libs/libedit/src/.libs/libedit.a endif Modified: freeswitch/branches/gmaruzz/build/modules.conf.in ============================================================================== --- freeswitch/branches/gmaruzz/build/modules.conf.in (original) +++ freeswitch/branches/gmaruzz/build/modules.conf.in Wed Jan 7 10:17:00 2009 @@ -11,6 +11,7 @@ applications/mod_limit applications/mod_expr applications/mod_esf +#applications/mod_easyroute applications/mod_fsv #applications/mod_soundtouch #applications/mod_rss Modified: freeswitch/branches/gmaruzz/build/sounds_version.txt ============================================================================== --- freeswitch/branches/gmaruzz/build/sounds_version.txt (original) +++ freeswitch/branches/gmaruzz/build/sounds_version.txt Wed Jan 7 10:17:00 2009 @@ -1 +1 @@ -1.0.6 +1.0.7 Modified: freeswitch/branches/gmaruzz/conf/autoload_configs/conference.conf.xml ============================================================================== --- freeswitch/branches/gmaruzz/conf/autoload_configs/conference.conf.xml (original) +++ freeswitch/branches/gmaruzz/conf/autoload_configs/conference.conf.xml Wed Jan 7 10:17:00 2009 @@ -150,7 +150,7 @@ - + Modified: freeswitch/branches/gmaruzz/conf/dialplan/default.xml ============================================================================== --- freeswitch/branches/gmaruzz/conf/dialplan/default.xml (original) +++ freeswitch/branches/gmaruzz/conf/dialplan/default.xml Wed Jan 7 10:17:00 2009 @@ -188,13 +188,8 @@ - - - - ;answer-after=0]]> - @@ -240,6 +235,24 @@ + + + + + + + + + + + + + + + + + + @@ -287,30 +300,69 @@ + + + + + + + - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + Modified: freeswitch/branches/gmaruzz/conf/directory/default.xml ============================================================================== --- freeswitch/branches/gmaruzz/conf/directory/default.xml (original) +++ freeswitch/branches/gmaruzz/conf/directory/default.xml Wed Jan 7 10:17:00 2009 @@ -31,7 +31,48 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Modified: freeswitch/branches/gmaruzz/conf/directory/default/brian.xml ============================================================================== --- freeswitch/branches/gmaruzz/conf/directory/default/brian.xml (original) +++ freeswitch/branches/gmaruzz/conf/directory/default/brian.xml Wed Jan 7 10:17:00 2009 @@ -1,7 +1,7 @@ - + Modified: freeswitch/branches/gmaruzz/conf/sip_profiles/internal-ipv6.xml ============================================================================== --- freeswitch/branches/gmaruzz/conf/sip_profiles/internal-ipv6.xml (original) +++ freeswitch/branches/gmaruzz/conf/sip_profiles/internal-ipv6.xml Wed Jan 7 10:17:00 2009 @@ -115,17 +115,6 @@ - - - - - - - - - - - Modified: freeswitch/branches/gmaruzz/conf/vars.xml ============================================================================== --- freeswitch/branches/gmaruzz/conf/vars.xml (original) +++ freeswitch/branches/gmaruzz/conf/vars.xml Wed Jan 7 10:17:00 2009 @@ -80,6 +80,12 @@ --> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ;answer-after=0]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/skypiax.conf.xml ============================================================================== --- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/skypiax.conf.xml (original) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/skypiax.conf.xml Thu Jan 8 05:29:20 2009 @@ -4,7 +4,8 @@ - + + @@ -14,7 +15,7 @@ - + @@ -24,7 +25,7 @@ - + @@ -35,7 +36,7 @@ - + @@ -46,7 +47,7 @@ - + @@ -57,7 +58,7 @@ - + @@ -67,7 +68,7 @@ - + @@ -77,7 +78,7 @@ - + @@ -88,7 +89,7 @@ - + @@ -99,7 +100,7 @@ - + @@ -110,7 +111,7 @@ - + @@ -121,7 +122,7 @@ - + @@ -132,7 +133,7 @@ - + @@ -143,7 +144,7 @@ - + @@ -154,7 +155,7 @@ - + @@ -165,7 +166,7 @@ - + @@ -176,7 +177,7 @@ - + @@ -187,7 +188,7 @@ - + @@ -198,7 +199,7 @@ - + @@ -209,7 +210,7 @@ - + @@ -220,7 +221,7 @@ - + @@ -237,7 +238,7 @@ - + @@ -249,7 +250,7 @@ - + @@ -260,7 +261,7 @@ - + @@ -272,7 +273,7 @@ - + @@ -284,7 +285,7 @@ - + Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/startskype.sh ============================================================================== --- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/startskype.sh (original) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/startskype.sh Thu Jan 8 05:29:20 2009 @@ -3,7 +3,7 @@ # you need three dummy soundcard for 20 Skype client instances, because each dummy soundcard can handle a max of 8 Skype instances # the enable= module parameter tells how many cards to start. For each additional card, add a comma and a 1 -# configure the first 8 Skype client instances to use the hw:Dummy_0, the next 8 instances to use hw:Dummy_1, etc for all three devices (Play, Capture, Ring) +# manually configure the first 8 Skype client instances to use the hw:Dummy_0, the next 8 instances to use hw:Dummy_1, etc for all three devices (Play, Capture, Ring) modprobe snd-dummy enable=1,1,1 sleep 5 From gmaruzz at freeswitch.org Thu Jan 8 04:10:51 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Thu, 08 Jan 2009 06:10:51 -0600 Subject: [Freeswitch-branches] [commit] r11093 - freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax Message-ID: Author: gmaruzz Date: Thu Jan 8 06:10:51 2009 New Revision: 11093 Log: skypiax: compiles on win32 Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c Thu Jan 8 06:10:51 2009 @@ -91,12 +91,12 @@ #ifdef WIN32 unsigned int fdselect; #else + int received = 0; int fdselect; #endif /* WIN32 */ int rt; fd_set fs; struct timeval to; - int received = 0; if (!running) break; @@ -184,12 +184,12 @@ /****************************************************************/ if (len > 0) { if (len == SAMPLES_PER_FRAME * sizeof(short)) { - //unsigned int howmany; - //howmany = len; +#ifdef WIN32 + unsigned int howmany; + howmany = len; //WARNINGA("SRV recv %d\n", SKYPIAX_P_LOG, len); -#ifdef WIN32 switch_file_write(p->audiopipe[1], srv_in, &howmany); #else /* WIN32 */ len = write(p->audiopipe[1], srv_in, len); From gmaruzz at freeswitch.org Thu Jan 8 04:32:05 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Thu, 08 Jan 2009 06:32:05 -0600 Subject: [Freeswitch-branches] [commit] r11094 - freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs Message-ID: Author: gmaruzz Date: Thu Jan 8 06:32:05 2009 New Revision: 11094 Log: skypiax: added conf/dialplan/public.xml to configs dir Added: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/public.xml (contents, props changed) Added: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/public.xml ============================================================================== --- (empty file) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/public.xml Thu Jan 8 06:32:05 2009 @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From gmaruzz at freeswitch.org Thu Jan 8 06:49:45 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Thu, 08 Jan 2009 08:49:45 -0600 Subject: [Freeswitch-branches] [commit] r11095 - freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs Message-ID: Author: gmaruzz Date: Thu Jan 8 08:49:45 2009 New Revision: 11095 Log: skypiax: added startskype.bat and wait.bat to configs dir Added: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/startskype.bat freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/wait.bat Added: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/startskype.bat ============================================================================== --- (empty file) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/startskype.bat Thu Jan 8 08:49:45 2009 @@ -0,0 +1,45 @@ +echo off +REM you have to adjust MYPATH to where the Skype executable is +set MYPATH=%PATH%;C:\Program Files\Skype\Phone + +echo %MYPATH% + +start Skype.exe /secondary /username:skypiax1 /password:xxx +call wait 5 +start Skype.exe /secondary /username:skypiax2 /password:xxx +call wait 5 +start Skype.exe /secondary /username:skypiax3 /password:xxx +call wait 5 +start Skype.exe /secondary /username:skypiax4 /password:xxx +call wait 5 +start Skype.exe /secondary /username:skypiax5 /password:xxx +call wait 5 +start Skype.exe /secondary /username:skypiax6 /password:xxx +call wait 5 +start Skype.exe /secondary /username:skypiax7 /password:xxx +call wait 5 +start Skype.exe /secondary /username:skypiax8 /password:xxx +call wait 5 +start Skype.exe /secondary /username:skypiax9 /password:xxx +call wait 5 +start Skype.exe /secondary /username:skypiax10 /password:xxx +call wait 5 +start Skype.exe /secondary /username:skypiax11 /password:xxx +call wait 5 +start Skype.exe /secondary /username:skypiax12 /password:xxx +call wait 5 +start Skype.exe /secondary /username:skypiax13 /password:xxx +call wait 5 +start Skype.exe /secondary /username:skypiax14 /password:xxx +call wait 5 +start Skype.exe /secondary /username:skypiax15 /password:xxx +call wait 5 +start Skype.exe /secondary /username:skypiax16 /password:xxx +call wait 5 +start Skype.exe /secondary /username:skypiax17 /password:xxx +call wait 5 +start Skype.exe /secondary /username:skypiax18 /password:xxx +call wait 5 +start Skype.exe /secondary /username:skypiax19 /password:xxx +call wait 5 +start Skype.exe /secondary /username:skypiax20 /password:xxx Added: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/wait.bat ============================================================================== --- (empty file) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/wait.bat Thu Jan 8 08:49:45 2009 @@ -0,0 +1,4 @@ +echo off + at ping 127.0.0.1 -n 2 -w 1000 > nul + at ping 127.0.0.1 -n %1% -w 1000> nul + From gmaruzz at freeswitch.org Thu Jan 8 08:18:56 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Thu, 08 Jan 2009 10:18:56 -0600 Subject: [Freeswitch-branches] [commit] r11096 - freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax Message-ID: Author: gmaruzz Date: Thu Jan 8 10:18:56 2009 New Revision: 11096 Log: skypiax: for win32, no more LaunchSkype, use startskype.bat for this. Wait for each interface to have its own API connection active Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/mod_skypiax.c freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.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 Thu Jan 8 10:18:56 2009 @@ -967,6 +967,9 @@ skypiax_skypeaudio_init(&globals.SKYPIAX_INTERFACES[interface_id]); + + while(globals.SKYPIAX_INTERFACES[interface_id].AsteriskHandlesAst.api_connected == 0) + switch_sleep(1000); NOTICA( "STARTED interface_id=%d\n", SKYPIAX_P_LOG, interface_id); Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c Thu Jan 8 10:18:56 2009 @@ -588,6 +588,7 @@ } #ifdef WIN32 +#if 0 int LaunchSkype(struct skypiax_interface *p) { LPTSTR pszMessage; @@ -613,6 +614,7 @@ return 1; } +#endif enum { SKYPECONTROLAPI_ATTACH_SUCCESS = 0, /* Client is successfully @@ -708,9 +710,7 @@ } break; case SKYPECONTROLAPI_ATTACH_PENDING_AUTHORIZATION: - WARNINGA - ("\n\n\tIf I do not (almost) immediately connect to Skype API,\n\tplease give the Skype client authorization to be connected \n\tby Asterisk and to not ask you again.\n\n", - SKYPIAX_P_LOG); + //WARNINGA ("\n\n\tIf I do not (almost) immediately connect to Skype API,\n\tplease give the Skype client authorization to be connected \n\tby Asterisk and to not ask you again.\n\n", SKYPIAX_P_LOG); switch_sleep(5000); if (!p->AsteriskHandlesAst.api_connected) { SendMessage(HWND_BROADCAST, @@ -843,7 +843,7 @@ p->AsteriskHandlesAst.win32_uiGlobal_MsgID_SkypeControlAPIDiscover = RegisterWindowMessage("SkypeControlAPIDiscover"); - LaunchSkype(p); + //LaunchSkype(p); switch_sleep(2000000); if (p->AsteriskHandlesAst.win32_uiGlobal_MsgID_SkypeControlAPIAttach != 0 From gmaruzz at freeswitch.org Fri Jan 9 15:46:12 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Fri, 09 Jan 2009 17:46:12 -0600 Subject: [Freeswitch-branches] [commit] r11107 - freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax Message-ID: Author: gmaruzz Date: Fri Jan 9 17:46:12 2009 New Revision: 11107 Log: skypiax: let's compile on the new gcc (Intrepid version) Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/mod_skypiax.c freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.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 Fri Jan 9 17:46:12 2009 @@ -1057,7 +1057,7 @@ #ifdef WIN32 switch_file_write(p->AsteriskHandlesAst.fdesc[1], "sciutati", &howmany); // let's the controldev_thread die #else /* WIN32 */ - write(p->AsteriskHandlesAst.fdesc[1], "sciutati", howmany); + howmany = write(p->AsteriskHandlesAst.fdesc[1], "sciutati", howmany); #endif /* WIN32 */ } Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c Fri Jan 9 17:46:12 2009 @@ -269,14 +269,14 @@ switch_file_write(p->audioskypepipe[1], kill_cli_buff, &kill_cli_size); #else /* WIN32 */ kill_cli_size = SAMPLES_PER_FRAME * sizeof(short); - write(p->audiopipe[1], kill_cli_buff, kill_cli_size); + len = write(p->audiopipe[1], kill_cli_buff, kill_cli_size); kill_cli_size = SAMPLES_PER_FRAME * sizeof(short); - write(p->audioskypepipe[1], kill_cli_buff, kill_cli_size); + len = write(p->audioskypepipe[1], kill_cli_buff, kill_cli_size); p->interface_state = SKYPIAX_STATE_DOWN; kill_cli_size = SAMPLES_PER_FRAME * sizeof(short); - write(p->audiopipe[1], kill_cli_buff, kill_cli_size); + len = write(p->audiopipe[1], kill_cli_buff, kill_cli_size); kill_cli_size = SAMPLES_PER_FRAME * sizeof(short); - write(p->audioskypepipe[1], kill_cli_buff, kill_cli_size); + len = write(p->audioskypepipe[1], kill_cli_buff, kill_cli_size); #endif /* WIN32 */ DEBUGA_SKYPE("Skype client GONE\n", SKYPIAX_P_LOG); @@ -508,12 +508,14 @@ switch_file_pipe_create(&p->audioskypepipe[0], &p->audioskypepipe[1], skypiax_module_pool); #else /* WIN32 */ - pipe(p->audiopipe); + if(pipe(p->audiopipe)){ fcntl(p->audiopipe[0], F_SETFL, O_NONBLOCK); fcntl(p->audiopipe[1], F_SETFL, O_NONBLOCK); - pipe(p->audioskypepipe); +} + if (pipe(p->audioskypepipe)){ fcntl(p->audioskypepipe[0], F_SETFL, O_NONBLOCK); fcntl(p->audioskypepipe[1], F_SETFL, O_NONBLOCK); +} #endif /* WIN32 */ //rv = switch_file_pipe_timeout_set(p->audiopipe[0], 100); @@ -568,7 +570,7 @@ if (samples != SAMPLES_PER_FRAME * sizeof(short)) { if (samples) - ERRORA("SRV PIPE READ=====> NOT GOOD samples=%u expected=%lu\n", SKYPIAX_P_LOG, + ERRORA("SRV PIPE READ=====> NOT GOOD samples=%u expected=%u\n", SKYPIAX_P_LOG, samples, SAMPLES_PER_FRAME * sizeof(short)); //do nothing } else { @@ -1028,9 +1030,10 @@ DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); //switch_file_pipe_create(&p->AsteriskHandlesAst.fdesc[0], &p->AsteriskHandlesAst.fdesc[1], skypiax_module_pool); - pipe(p->AsteriskHandlesAst.fdesc); +if(pipe(p->AsteriskHandlesAst.fdesc)){ fcntl(p->AsteriskHandlesAst.fdesc[0], F_SETFL, O_NONBLOCK); fcntl(p->AsteriskHandlesAst.fdesc[1], F_SETFL, O_NONBLOCK); +} //switch_file_pipe_timeout_set(p->AsteriskHandlesAst.fdesc[0], 100); AsteriskHandlesAst = &p->AsteriskHandlesAst; @@ -1125,7 +1128,7 @@ howmany = strlen(b) + 1; //switch_file_write(AsteriskHandlesAst->fdesc[1], b, &howmany); - write(AsteriskHandlesAst->fdesc[1], b, howmany); + howmany = write(AsteriskHandlesAst->fdesc[1], b, howmany); //write(AsteriskHandlesAst->fdesc[1], "\0", 1); //FIXME DEBUGA_SKYPE("SKYPE pipewrite: |||%s|||len=%d serial=%ld\n\n\n", SKYPIAX_P_LOG, b, strlen(b) + 1, an_event.xclient.serial); //switch_sleep(1000); From gmaruzz at freeswitch.org Sat Jan 10 01:55:23 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Sat, 10 Jan 2009 03:55:23 -0600 Subject: [Freeswitch-branches] [commit] r11109 - freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax Message-ID: Author: gmaruzz Date: Sat Jan 10 03:55:23 2009 New Revision: 11109 Log: skypiax: handle the case when Skype client is asking for the user authorization to be connected by Skypiax (it was removed, don't know why) Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c Sat Jan 10 03:55:23 2009 @@ -1280,6 +1280,15 @@ DEBUGA_SKYPE("read_skype: howmany=%d, i=%d, a=%d, |||%s||| \n", SKYPIAX_P_LOG, howmany, i, a, messaggio); + if (!strcasecmp(messaggio, "ERROR 68")) { /* not yet protocol specified, + just authorized */ + DEBUGA_SKYPE ("If I don't connect immediately, please give the Skype client authorization to be connected by Skypiax (and to not ask you again)\n", SKYPIAX_P_LOG); + switch_sleep(1000000); + skypiax_skype_write(p, "PROTOCOL 6"); + switch_sleep(10000); + return 0; + } + if (!strncasecmp(messaggio, "ERROR 92 CALL", 12)) { ERRORA("Skype got ERROR: |||%s|||, the number we called was not recognized\n", SKYPIAX_P_LOG, messaggio); From gmaruzz at freeswitch.org Sat Jan 10 03:16:41 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Sat, 10 Jan 2009 05:16:41 -0600 Subject: [Freeswitch-branches] [commit] r11110 - freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax Message-ID: Author: gmaruzz Date: Sat Jan 10 05:16:41 2009 New Revision: 11110 Log: skypiax: always (will be under config param) authorize to be added as a contact and seen online Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c Sat Jan 10 05:16:41 2009 @@ -1365,6 +1365,28 @@ } } + if (!strcasecmp(messaggio, "USER")) { + strncpy(obj, where, sizeof(obj) - 1); + + where = strsep(stringp, " "); + + strncpy(id, where, sizeof(id) - 1); + + where = strsep(stringp, " "); + + strncpy(prop, where, sizeof(prop) - 1); + + if (!strcasecmp(prop,"RECEIVEDAUTHREQUEST" )) { + char msg_to_skype[256]; + DEBUGA_SKYPE ("Skype MSG: messaggio: %s, obj: %s, id: %s, prop: %s!\n", SKYPIAX_P_LOG, messaggio, obj, id, prop); + + //FIXME: TODO: allow authorization based on config param + sprintf(msg_to_skype, "SET USER %s ISAUTHORIZED TRUE", id); + skypiax_skype_write(p, msg_to_skype); + } + } + + if (!strcasecmp(messaggio, "CALL")) { strncpy(obj, where, sizeof(obj) - 1); From gmaruzz at freeswitch.org Sat Jan 10 04:18:35 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Sat, 10 Jan 2009 06:18:35 -0600 Subject: [Freeswitch-branches] [commit] r11111 - freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax Message-ID: Author: gmaruzz Date: Sat Jan 10 06:18:35 2009 New Revision: 11111 Log: skypiax: always (will be under config param) mark the MESSAGE received by Skype client as SEEN (READ) and so deleting them from the unread list Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c Sat Jan 10 06:18:35 2009 @@ -1365,26 +1365,65 @@ } } - if (!strcasecmp(messaggio, "USER")) { - strncpy(obj, where, sizeof(obj) - 1); + if (!strcasecmp(messaggio, "USER")) { + strncpy(obj, where, sizeof(obj) - 1); - where = strsep(stringp, " "); + where = strsep(stringp, " "); - strncpy(id, where, sizeof(id) - 1); + strncpy(id, where, sizeof(id) - 1); - where = strsep(stringp, " "); + where = strsep(stringp, " "); - strncpy(prop, where, sizeof(prop) - 1); + strncpy(prop, where, sizeof(prop) - 1); - if (!strcasecmp(prop,"RECEIVEDAUTHREQUEST" )) { - char msg_to_skype[256]; - DEBUGA_SKYPE ("Skype MSG: messaggio: %s, obj: %s, id: %s, prop: %s!\n", SKYPIAX_P_LOG, messaggio, obj, id, prop); + if (!strcasecmp(prop,"RECEIVEDAUTHREQUEST" )) { + char msg_to_skype[256]; + DEBUGA_SKYPE ("Skype MSG: messaggio: %s, obj: %s, id: %s, prop: %s!\n", SKYPIAX_P_LOG, messaggio, obj, id, prop); - //FIXME: TODO: allow authorization based on config param - sprintf(msg_to_skype, "SET USER %s ISAUTHORIZED TRUE", id); - skypiax_skype_write(p, msg_to_skype); - } - } + //FIXME: TODO: allow authorization based on config param + sprintf(msg_to_skype, "SET USER %s ISAUTHORIZED TRUE", id); + skypiax_skype_write(p, msg_to_skype); + } + } + + + if (!strcasecmp(messaggio, "MESSAGE")) { + strncpy(obj, where, sizeof(obj) - 1); + + where = strsep(stringp, " "); + + strncpy(id, where, sizeof(id) - 1); + + where = strsep(stringp, " "); + + strncpy(prop, where, sizeof(prop) - 1); + + if (!strcasecmp(prop,"STATUS" )) { + + where = strsep(stringp, " "); + + strncpy(value, where, sizeof(value) - 1); + + + if (!strcasecmp(value,"RECEIVED" )) { + char msg_to_skype[256]; + DEBUGA_SKYPE ("Skype MSG: messaggio: %s, obj: %s, id: %s, prop: %s value: %s!\n", SKYPIAX_P_LOG, messaggio, obj, id, prop, value); + + //FIXME: TODO: allow authorization based on config param + sprintf(msg_to_skype, "SET MESSAGE %s SEEN", id); + skypiax_skype_write(p, msg_to_skype); + } + } else if (!strcasecmp(prop,"BODY" )) { + char msg_to_skype[256]; + + DEBUGA_SKYPE ("Skype MSG: messaggio: %s, obj: %s, id: %s, prop: %s!\n", SKYPIAX_P_LOG, messaggio, obj, id, prop); + + //FIXME: TODO: on config param ??? + sprintf(msg_to_skype, "SET MESSAGE %s SEEN", id); + skypiax_skype_write(p, msg_to_skype); + } + + } if (!strcasecmp(messaggio, "CALL")) { From gmaruzz at freeswitch.org Sat Jan 10 10:54:35 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Sat, 10 Jan 2009 12:54:35 -0600 Subject: [Freeswitch-branches] [commit] r11114 - freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax Message-ID: Author: gmaruzz Date: Sat Jan 10 12:54:35 2009 New Revision: 11114 Log: skypiax: various minor adjustments Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/mod_skypiax.c freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.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 Sat Jan 10 12:54:35 2009 @@ -540,7 +540,7 @@ char *slash; strncpy(interface_name, outbound_profile->destination_number, 255); - slash=strchr(interface_name, '/'); + slash=strrchr(interface_name, '/'); *slash='\0'; @@ -584,11 +584,12 @@ char name[128]; snprintf(name, sizeof(name), "skypiax/%s", outbound_profile->destination_number); + //snprintf(name, sizeof(name), "skypiax/%s", p->name); switch_channel_set_name(channel, name); - //NOTICA( "outbound_profile->destination_number=|||%s|||\n", SKYPIAX_P_LOG, outbound_profile->destination_number); - //NOTICA( "outbound_profile->username=|||%s|||\n", SKYPIAX_P_LOG, outbound_profile->username); - //NOTICA( "outbound_profile->caller_id_name=|||%s|||\n", SKYPIAX_P_LOG, outbound_profile->caller_id_name); - //NOTICA( "outbound_profile->caller_id_number=|||%s|||\n", SKYPIAX_P_LOG, outbound_profile->caller_id_number); + NOTICA( "outbound_profile->destination_number=|||%s|||\n", SKYPIAX_P_LOG, outbound_profile->destination_number); + NOTICA( "outbound_profile->username=|||%s|||\n", SKYPIAX_P_LOG, outbound_profile->username); + NOTICA( "outbound_profile->caller_id_name=|||%s|||\n", SKYPIAX_P_LOG, outbound_profile->caller_id_name); + NOTICA( "outbound_profile->caller_id_number=|||%s|||\n", SKYPIAX_P_LOG, outbound_profile->caller_id_number); caller_profile = switch_caller_profile_clone(*new_session, outbound_profile); switch_channel_set_caller_profile(channel, caller_profile); @@ -601,6 +602,7 @@ skypiax_skype_call(tech_pvt->p, caller_profile->destination_number, 30, *new_session); + switch_channel_set_flag(channel, CF_OUTBOUND); switch_set_flag_locked(tech_pvt, TFLAG_OUTBOUND); switch_channel_set_state(channel, CS_INIT); Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c Sat Jan 10 12:54:35 2009 @@ -570,7 +570,7 @@ if (samples != SAMPLES_PER_FRAME * sizeof(short)) { if (samples) - ERRORA("SRV PIPE READ=====> NOT GOOD samples=%u expected=%u\n", SKYPIAX_P_LOG, + ERRORA("SRV PIPE READ=====> NOT GOOD samples=%u expected=%lu\n", SKYPIAX_P_LOG, samples, SAMPLES_PER_FRAME * sizeof(short)); //do nothing } else { @@ -1734,9 +1734,8 @@ NULL, NULL, "mod_skypiax", "public", "5000")) != 0) { char name[128]; - switch_snprintf(name, sizeof(name), "skypiax/%s-%04x", - tech_pvt->caller_profile->destination_number, - rand() & 0xffff); + //switch_snprintf(name, sizeof(name), "skypiax/%s/%s", p->name, tech_pvt->caller_profile->destination_number); + switch_snprintf(name, sizeof(name), "skypiax/%s", p->name); switch_channel_set_name(channel, name); switch_channel_set_caller_profile(channel, tech_pvt->caller_profile); @@ -1756,12 +1755,27 @@ private_t *tech_pvt = NULL; switch_channel_t *channel = NULL; + if(p->tech_pvt){ tech_pvt = p->tech_pvt; + } else { + ERRORA("No p->tech_pvt???\n", SKYPIAX_P_LOG); + } + if(tech_pvt->session){ session = tech_pvt->session; + }else { + ERRORA("No tech_pvt->session???\n", SKYPIAX_P_LOG); + + } //session = global_session; + if(session){ channel = switch_core_session_get_channel(session); //DEBUGA_SKYPE("skype_call: %s, answered\n", SKYPIAX_P_LOG, id); switch_channel_mark_answered(channel); + }else { + + ERRORA("No session???\n", SKYPIAX_P_LOG); + + } //switch_channel_set_state(channel, CS_EXECUTE); @@ -1816,6 +1830,7 @@ char *rdest; char msg_to_skype[1024]; private_t *tech_pvt; + switch_caller_profile_t *caller_profile; tech_pvt = p->tech_pvt; @@ -1845,6 +1860,9 @@ return -1; } tech_pvt->session = session; + caller_profile = tech_pvt->caller_profile; + caller_profile->destination_number = rdest; + //FIXME ast_queue_control(p->owner, SKYPIAX_CONTROL_RINGING); return 0; From gmaruzz at freeswitch.org Sat Jan 10 23:56:56 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Sun, 11 Jan 2009 01:56:56 -0600 Subject: [Freeswitch-branches] [commit] r11115 - freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax Message-ID: Author: gmaruzz Date: Sun Jan 11 01:56:56 2009 New Revision: 11115 Log: skypiax: indent -gnu -ts4 -br -brs -cdw -lp -ce -nbfda -npcs -nprs -npsl -nbbo -saf -sai -saw -cs -bbo -nhnl -nut -sob -l90 Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/mod_skypiax.c freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.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 Sun Jan 11 01:56:56 2009 @@ -1,6 +1,5 @@ #include "skypiax.h" - SWITCH_MODULE_LOAD_FUNCTION(mod_skypiax_load); SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_skypiax_shutdown); SWITCH_MODULE_DEFINITION(mod_skypiax, mod_skypiax_load, mod_skypiax_shutdown, NULL); //mod_skypiax_runtime); @@ -69,7 +68,7 @@ (&tech_pvt->read_codec, "L16", NULL, sample_rate, codec_ms, 1, SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE, NULL, NULL) != SWITCH_STATUS_SUCCESS) { - ERRORA( "Can't load codec?\n", SKYPIAX_P_LOG); + ERRORA("Can't load codec?\n", SKYPIAX_P_LOG); return SWITCH_STATUS_FALSE; } @@ -77,7 +76,7 @@ (&tech_pvt->write_codec, "L16", NULL, sample_rate, codec_ms, 1, SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE, NULL, NULL) != SWITCH_STATUS_SUCCESS) { - ERRORA( "Can't load codec?\n", SKYPIAX_P_LOG); + ERRORA("Can't load codec?\n", SKYPIAX_P_LOG); switch_core_codec_destroy(&tech_pvt->read_codec); return SWITCH_STATUS_FALSE; } @@ -111,9 +110,9 @@ } if (skypiax_codec(tech_pvt, SAMPLERATE_SKYPIAX, 20) != SWITCH_STATUS_SUCCESS) { - ERRORA( "skypiax_docec FAILED\n", SKYPIAX_P_LOG); + ERRORA("skypiax_docec FAILED\n", SKYPIAX_P_LOG); } else { - DEBUGA_SKYPE( "skypiax_codec SUCCESS\n", SKYPIAX_P_LOG); + DEBUGA_SKYPE("skypiax_codec SUCCESS\n", SKYPIAX_P_LOG); } DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); @@ -146,8 +145,7 @@ globals.calls++; switch_mutex_unlock(globals.mutex); - DEBUGA_SKYPE( "%s CHANNEL INIT\n", SKYPIAX_P_LOG, - switch_channel_get_name(channel)); + DEBUGA_SKYPE("%s CHANNEL INIT\n", SKYPIAX_P_LOG, switch_channel_get_name(channel)); return SWITCH_STATUS_SUCCESS; } @@ -186,8 +184,7 @@ switch_core_codec_destroy(&tech_pvt->write_codec); } - DEBUGA_SKYPE( "%s CHANNEL HANGUP\n", SKYPIAX_P_LOG, - switch_channel_get_name(channel)); + DEBUGA_SKYPE("%s CHANNEL HANGUP\n", SKYPIAX_P_LOG, switch_channel_get_name(channel)); switch_mutex_lock(globals.mutex); globals.calls--; if (globals.calls < 0) { @@ -210,8 +207,7 @@ tech_pvt = switch_core_session_get_private(session); assert(tech_pvt != NULL); - DEBUGA_SKYPE( "%s CHANNEL ROUTING\n", SKYPIAX_P_LOG, - switch_channel_get_name(channel)); + DEBUGA_SKYPE("%s CHANNEL ROUTING\n", SKYPIAX_P_LOG, switch_channel_get_name(channel)); return SWITCH_STATUS_SUCCESS; } @@ -229,8 +225,7 @@ tech_pvt = switch_core_session_get_private(session); assert(tech_pvt != NULL); - DEBUGA_SKYPE( "%s CHANNEL EXECUTE\n", SKYPIAX_P_LOG, - switch_channel_get_name(channel)); + DEBUGA_SKYPE("%s CHANNEL EXECUTE\n", SKYPIAX_P_LOG, switch_channel_get_name(channel)); return SWITCH_STATUS_SUCCESS; } @@ -249,17 +244,15 @@ switch (sig) { case SWITCH_SIG_KILL: - DEBUGA_SKYPE( - "%s CHANNEL got SWITCH_SIG_KILL\n", SKYPIAX_P_LOG, - switch_channel_get_name(channel)); + DEBUGA_SKYPE("%s CHANNEL got SWITCH_SIG_KILL\n", SKYPIAX_P_LOG, + switch_channel_get_name(channel)); switch_clear_flag_locked(tech_pvt, TFLAG_IO); switch_clear_flag_locked(tech_pvt, TFLAG_VOICE); switch_set_flag_locked(tech_pvt, TFLAG_HANGUP); break; case SWITCH_SIG_BREAK: - DEBUGA_SKYPE( - "%s CHANNEL got SWITCH_SIG_BREAK\n", SKYPIAX_P_LOG, - switch_channel_get_name(channel)); + DEBUGA_SKYPE("%s CHANNEL got SWITCH_SIG_BREAK\n", SKYPIAX_P_LOG, + switch_channel_get_name(channel)); switch_set_flag_locked(tech_pvt, TFLAG_BREAK); break; default: @@ -272,14 +265,14 @@ static switch_status_t channel_on_exchange_media(switch_core_session_t * session) { skypiax_interface_t *p = NULL; - DEBUGA_SKYPE( "CHANNEL LOOPBACK\n", SKYPIAX_P_LOG); + DEBUGA_SKYPE("CHANNEL LOOPBACK\n", SKYPIAX_P_LOG); return SWITCH_STATUS_SUCCESS; } static switch_status_t channel_on_soft_execute(switch_core_session_t * session) { skypiax_interface_t *p = NULL; - DEBUGA_SKYPE( "CHANNEL TRANSMIT\n", SKYPIAX_P_LOG); + DEBUGA_SKYPE("CHANNEL TRANSMIT\n", SKYPIAX_P_LOG); return SWITCH_STATUS_SUCCESS; } @@ -292,9 +285,9 @@ p = tech_pvt->p; - NOTICA( "DTMF: %c\n", SKYPIAX_P_LOG, dtmf->digit); + NOTICA("DTMF: %c\n", SKYPIAX_P_LOG, dtmf->digit); -skypiax_skype_senddigit(p, dtmf->digit); + skypiax_skype_senddigit(p, dtmf->digit); return SWITCH_STATUS_SUCCESS; } @@ -318,8 +311,7 @@ if (skypiax_skypeaudio_read(tech_pvt) != SWITCH_STATUS_SUCCESS) { - ERRORA( - "skypiax_skypeaudio_read ERROR\n", SKYPIAX_P_LOG); + ERRORA("skypiax_skypeaudio_read ERROR\n", SKYPIAX_P_LOG); } else { switch_set_flag_locked(tech_pvt, TFLAG_VOICE); @@ -330,14 +322,12 @@ while (switch_test_flag(tech_pvt, TFLAG_IO)) { if (switch_test_flag(tech_pvt, TFLAG_BREAK)) { switch_clear_flag(tech_pvt, TFLAG_BREAK); - DEBUGA_SKYPE( - "CHANNEL READ FRAME goto CNG\n", SKYPIAX_P_LOG); + DEBUGA_SKYPE("CHANNEL READ FRAME goto CNG\n", SKYPIAX_P_LOG); goto cng; } if (!switch_test_flag(tech_pvt, TFLAG_IO)) { - DEBUGA_SKYPE( - "CHANNEL READ FRAME not IO\n", SKYPIAX_P_LOG); + DEBUGA_SKYPE("CHANNEL READ FRAME not IO\n", SKYPIAX_P_LOG); return SWITCH_STATUS_FALSE; } //DEBUGA_SKYPE( "============>\n"); @@ -345,8 +335,7 @@ if (switch_test_flag(tech_pvt, TFLAG_IO) && switch_test_flag(tech_pvt, TFLAG_VOICE)) { switch_clear_flag_locked(tech_pvt, TFLAG_VOICE); if (!tech_pvt->read_frame.datalen) { - DEBUGA_SKYPE( - "CHANNEL READ CONTINUE\n", SKYPIAX_P_LOG); + DEBUGA_SKYPE("CHANNEL READ CONTINUE\n", SKYPIAX_P_LOG); continue; } *frame = &tech_pvt->read_frame; @@ -358,12 +347,12 @@ return SWITCH_STATUS_SUCCESS; } - DEBUGA_SKYPE( "CHANNEL READ no TFLAG_IO\n", SKYPIAX_P_LOG); + DEBUGA_SKYPE("CHANNEL READ no TFLAG_IO\n", SKYPIAX_P_LOG); return SWITCH_STATUS_FALSE; } - DEBUGA_SKYPE( "CHANNEL READ FALSE\n", SKYPIAX_P_LOG); + DEBUGA_SKYPE("CHANNEL READ FALSE\n", SKYPIAX_P_LOG); return SWITCH_STATUS_FALSE; cng: @@ -488,7 +477,7 @@ body = ""; } - WARNINGA( "event: |||%s|||\n", SKYPIAX_P_LOG, body); + WARNINGA("event: |||%s|||\n", SKYPIAX_P_LOG, body); return SWITCH_STATUS_SUCCESS; } @@ -524,58 +513,60 @@ private_t *tech_pvt; switch_channel_t *channel; switch_caller_profile_t *caller_profile; - skypiax_interface_t *p = NULL; + skypiax_interface_t *p = NULL; switch_core_session_add_stream(*new_session, NULL); - if ((tech_pvt = (private_t *) switch_core_session_alloc(*new_session, sizeof(private_t))) != 0) { - int found=0; - char interface_name[256]; - - - if (strlen(outbound_profile->destination_number)) { - int i; - char *slash; - - strncpy(interface_name, outbound_profile->destination_number, 255); - slash=strrchr(interface_name, '/'); - *slash='\0'; + int found = 0; + char interface_name[256]; + if (strlen(outbound_profile->destination_number)) { + int i; + char *slash; + + strncpy(interface_name, outbound_profile->destination_number, 255); + slash = strrchr(interface_name, '/'); + *slash = '\0'; + + for (i = 0; i < SKYPIAX_MAX_INTERFACES; i++) { + + if (strlen(globals.SKYPIAX_INTERFACES[i].name) + && + (strncmp + (globals.SKYPIAX_INTERFACES[i].name, interface_name, + strlen(interface_name)) == 0)) { + + DEBUGA_SKYPE("globals.SKYPIAX_INTERFACES[%d].name=|||%s|||?\n", SKYPIAX_P_LOG, + i, globals.SKYPIAX_INTERFACES[i].name); + tech_pvt->p = &globals.SKYPIAX_INTERFACES[i]; //FIXME + globals.SKYPIAX_INTERFACES[i].tech_pvt = tech_pvt; //FIXME + found = 1; + break; + } - for(i=0; i< SKYPIAX_MAX_INTERFACES; i++){ - - if( strlen(globals.SKYPIAX_INTERFACES[i].name) && (strncmp(globals.SKYPIAX_INTERFACES[i].name, interface_name, strlen(interface_name)) == 0 )) { - - DEBUGA_SKYPE( "globals.SKYPIAX_INTERFACES[%d].name=|||%s|||?\n", SKYPIAX_P_LOG, i, globals.SKYPIAX_INTERFACES[i].name); - tech_pvt->p = &globals.SKYPIAX_INTERFACES[i]; //FIXME - globals.SKYPIAX_INTERFACES[i].tech_pvt = tech_pvt; //FIXME - found=1; - break; - } - - } + } - } else { - ERRORA( "Doh! no destination number?\n", SKYPIAX_P_LOG); - switch_core_session_destroy(new_session); - return SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER; - } + } else { + ERRORA("Doh! no destination number?\n", SKYPIAX_P_LOG); + switch_core_session_destroy(new_session); + return SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER; + } - if(!found){ - ERRORA( "Doh! no matching interface for |||%s|||?\n", SKYPIAX_P_LOG, interface_name); - switch_core_session_destroy(new_session); - return SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER; + if (!found) { + ERRORA("Doh! no matching interface for |||%s|||?\n", SKYPIAX_P_LOG, + interface_name); + switch_core_session_destroy(new_session); + return SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER; - } + } //tech_pvt->p = &globals.SKYPIAX_INTERFACES[19]; //FIXME //globals.SKYPIAX_INTERFACES[19].tech_pvt = tech_pvt; //FIXME channel = switch_core_session_get_channel(*new_session); skypiax_tech_init(tech_pvt, *new_session, NULL); } else { - ERRORA( - "Hey where is my memory pool?\n", SKYPIAX_P_LOG); + ERRORA("Hey where is my memory pool?\n", SKYPIAX_P_LOG); switch_core_session_destroy(new_session); return SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER; } @@ -586,23 +577,26 @@ snprintf(name, sizeof(name), "skypiax/%s", outbound_profile->destination_number); //snprintf(name, sizeof(name), "skypiax/%s", p->name); switch_channel_set_name(channel, name); - NOTICA( "outbound_profile->destination_number=|||%s|||\n", SKYPIAX_P_LOG, outbound_profile->destination_number); - NOTICA( "outbound_profile->username=|||%s|||\n", SKYPIAX_P_LOG, outbound_profile->username); - NOTICA( "outbound_profile->caller_id_name=|||%s|||\n", SKYPIAX_P_LOG, outbound_profile->caller_id_name); - NOTICA( "outbound_profile->caller_id_number=|||%s|||\n", SKYPIAX_P_LOG, outbound_profile->caller_id_number); + NOTICA("outbound_profile->destination_number=|||%s|||\n", SKYPIAX_P_LOG, + outbound_profile->destination_number); + NOTICA("outbound_profile->username=|||%s|||\n", SKYPIAX_P_LOG, + outbound_profile->username); + NOTICA("outbound_profile->caller_id_name=|||%s|||\n", SKYPIAX_P_LOG, + outbound_profile->caller_id_name); + NOTICA("outbound_profile->caller_id_number=|||%s|||\n", SKYPIAX_P_LOG, + outbound_profile->caller_id_number); caller_profile = switch_caller_profile_clone(*new_session, outbound_profile); switch_channel_set_caller_profile(channel, caller_profile); tech_pvt->caller_profile = caller_profile; } else { - ERRORA( "Doh! no caller profile\n", SKYPIAX_P_LOG); + ERRORA("Doh! no caller profile\n", SKYPIAX_P_LOG); switch_core_session_destroy(new_session); return SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER; } skypiax_skype_call(tech_pvt->p, caller_profile->destination_number, 30, *new_session); - switch_channel_set_flag(channel, CF_OUTBOUND); switch_set_flag_locked(tech_pvt, TFLAG_OUTBOUND); switch_channel_set_state(channel, CS_INIT); @@ -667,7 +661,7 @@ ERRORA("no tech_pvt?\n", SKYPIAX_P_LOG); } p->interface_state = SKYPIAX_STATE_DOWN; - tech_pvt->session = NULL; //FIXME + tech_pvt->session = NULL; //FIXME } } @@ -696,44 +690,36 @@ char *val = (char *) switch_xml_attr_soft(param, "value"); if (!strcasecmp(var, "debug")) { - DEBUGA_SKYPE( "globals.debug=%d\n", SKYPIAX_P_LOG, - globals.debug); + DEBUGA_SKYPE("globals.debug=%d\n", SKYPIAX_P_LOG, globals.debug); globals.debug = atoi(val); - DEBUGA_SKYPE( "globals.debug=%d\n", SKYPIAX_P_LOG, - globals.debug); + DEBUGA_SKYPE("globals.debug=%d\n", SKYPIAX_P_LOG, globals.debug); } else if (!strcasecmp(var, "hold-music")) { switch_set_string(globals.hold_music, val); - DEBUGA_SKYPE( "globals.hold_music=%s\n", SKYPIAX_P_LOG, - globals.hold_music); + DEBUGA_SKYPE("globals.hold_music=%s\n", SKYPIAX_P_LOG, globals.hold_music); } else if (!strcmp(var, "port")) { globals.port = atoi(val); - DEBUGA_SKYPE( "globals.port=%d\n", SKYPIAX_P_LOG, - globals.port); + DEBUGA_SKYPE("globals.port=%d\n", SKYPIAX_P_LOG, globals.port); } else if (!strcmp(var, "ip")) { set_global_ip(val); - DEBUGA_SKYPE( "globals.ip=%s\n", SKYPIAX_P_LOG, - globals.ip); + DEBUGA_SKYPE("globals.ip=%s\n", SKYPIAX_P_LOG, globals.ip); } else if (!strcmp(var, "codec-master")) { if (!strcasecmp(val, "us")) { switch_set_flag(&globals, GFLAG_MY_CODEC_PREFS); } - DEBUGA_SKYPE( - "codec-master globals.debug=%d\n", SKYPIAX_P_LOG, globals.debug); + DEBUGA_SKYPE("codec-master globals.debug=%d\n", SKYPIAX_P_LOG, globals.debug); } else if (!strcmp(var, "dialplan")) { set_global_dialplan(val); - DEBUGA_SKYPE( "globals.dialplan=%s\n", SKYPIAX_P_LOG, - globals.dialplan); + DEBUGA_SKYPE("globals.dialplan=%s\n", SKYPIAX_P_LOG, globals.dialplan); } else if (!strcmp(var, "codec-prefs")) { set_global_codec_string(val); - DEBUGA_SKYPE( - "globals.codec_string=%s\n", SKYPIAX_P_LOG, globals.codec_string); + DEBUGA_SKYPE("globals.codec_string=%s\n", SKYPIAX_P_LOG, globals.codec_string); globals.codec_order_last = switch_separate_string(globals.codec_string, ',', globals.codec_order, SWITCH_MAX_CODECS); } else if (!strcmp(var, "codec-rates")) { set_global_codec_rates_string(val); - DEBUGA_SKYPE( - "globals.codec_rates_string=%s\n", SKYPIAX_P_LOG, globals.codec_rates_string); + DEBUGA_SKYPE("globals.codec_rates_string=%s\n", SKYPIAX_P_LOG, + globals.codec_rates_string); globals.codec_rates_last = switch_separate_string(globals.codec_rates_string, ',', globals.codec_rates, SWITCH_MAX_CODECS); @@ -805,50 +791,41 @@ } if (!skype_user) { - ERRORA( - "interface missing REQUIRED param 'skype_user'\n", SKYPIAX_P_LOG); + ERRORA("interface missing REQUIRED param 'skype_user'\n", SKYPIAX_P_LOG); continue; } if (!skype_password) { - ERRORA( - "interface missing REQUIRED param 'skype_password'\n", SKYPIAX_P_LOG); + ERRORA("interface missing REQUIRED param 'skype_password'\n", SKYPIAX_P_LOG); continue; } if (!X11_display) { - ERRORA( - "interface missing REQUIRED param 'X11_display'\n", SKYPIAX_P_LOG); + ERRORA("interface missing REQUIRED param 'X11_display'\n", SKYPIAX_P_LOG); continue; } if (!tcp_cli_port) { - ERRORA( - "interface missing REQUIRED param 'tcp_cli_port'\n", SKYPIAX_P_LOG); + ERRORA("interface missing REQUIRED param 'tcp_cli_port'\n", SKYPIAX_P_LOG); continue; } if (!tcp_srv_port) { - ERRORA( - "interface missing REQUIRED param 'tcp_srv_port'\n", SKYPIAX_P_LOG); + ERRORA("interface missing REQUIRED param 'tcp_srv_port'\n", SKYPIAX_P_LOG); continue; } if (!id) { - ERRORA( - "interface missing REQUIRED param 'id'\n", SKYPIAX_P_LOG); + ERRORA("interface missing REQUIRED param 'id'\n", SKYPIAX_P_LOG); continue; } if (switch_is_number(id)) { interface_id = atoi(id); - DEBUGA_SKYPE( "interface_id=%d\n", SKYPIAX_P_LOG, - interface_id); + DEBUGA_SKYPE("interface_id=%d\n", SKYPIAX_P_LOG, interface_id); } else { - ERRORA( - "interface param 'id' MUST be a number, now id='%s'\n", SKYPIAX_P_LOG, id); + ERRORA("interface param 'id' MUST be a number, now id='%s'\n", SKYPIAX_P_LOG, id); continue; } if (!name) { - WARNINGA( - "interface missing param 'name', not nice, but works\n", SKYPIAX_P_LOG); + WARNINGA("interface missing param 'name', not nice, but works\n", SKYPIAX_P_LOG); } if (!tonegroup) { @@ -864,7 +841,7 @@ } if (name) { - DEBUGA_SKYPE( "name=%s\n", SKYPIAX_P_LOG, name); + DEBUGA_SKYPE("name=%s\n", SKYPIAX_P_LOG, name); } #ifndef WIN32 if (!XInitThreads()) { @@ -882,8 +859,7 @@ memset(&newconf, '\0', sizeof(newconf)); globals.SKYPIAX_INTERFACES[interface_id] = newconf; - DEBUGA_SKYPE( - "CONFIGURING interface_id=%d\n", SKYPIAX_P_LOG, interface_id); + DEBUGA_SKYPE("CONFIGURING interface_id=%d\n", SKYPIAX_P_LOG, interface_id); switch_set_string(globals.SKYPIAX_INTERFACES[interface_id].interface_id, id); if (name) { switch_set_string(globals.SKYPIAX_INTERFACES[interface_id].name, name); @@ -910,38 +886,37 @@ switch_set_string(globals.SKYPIAX_INTERFACES[interface_id].context, context); switch_set_string(globals.SKYPIAX_INTERFACES[interface_id].dialplan, dialplan); - DEBUGA_SKYPE( - "interface_id=%d globals.SKYPIAX_INTERFACES[interface_id].X11_display=%s\n", SKYPIAX_P_LOG, - interface_id, - globals.SKYPIAX_INTERFACES[interface_id].X11_display); - DEBUGA_SKYPE( - "interface_id=%d globals.SKYPIAX_INTERFACES[interface_id].skype_user=%s\n", SKYPIAX_P_LOG, - interface_id, - globals.SKYPIAX_INTERFACES[interface_id].skype_user); - DEBUGA_SKYPE( - "interface_id=%d globals.SKYPIAX_INTERFACES[interface_id].skype_password=%s\n", SKYPIAX_P_LOG, - interface_id, - globals.SKYPIAX_INTERFACES[interface_id].skype_password); - DEBUGA_SKYPE( - "interface_id=%d globals.SKYPIAX_INTERFACES[interface_id].tcp_cli_port=%d\n", SKYPIAX_P_LOG, - interface_id, - globals.SKYPIAX_INTERFACES[interface_id].tcp_cli_port); - DEBUGA_SKYPE( - "interface_id=%d globals.SKYPIAX_INTERFACES[interface_id].tcp_srv_port=%d\n", SKYPIAX_P_LOG, - interface_id, - globals.SKYPIAX_INTERFACES[interface_id].tcp_srv_port); - DEBUGA_SKYPE( - "interface_id=%d globals.SKYPIAX_INTERFACES[interface_id].name=%s\n", SKYPIAX_P_LOG, - interface_id, globals.SKYPIAX_INTERFACES[interface_id].name); - DEBUGA_SKYPE( - "interface_id=%d globals.SKYPIAX_INTERFACES[interface_id].context=%s\n", SKYPIAX_P_LOG, - interface_id, globals.SKYPIAX_INTERFACES[interface_id].context); - DEBUGA_SKYPE( - "interface_id=%d globals.SKYPIAX_INTERFACES[interface_id].dialplan=%s\n", SKYPIAX_P_LOG, - interface_id, - globals.SKYPIAX_INTERFACES[interface_id].dialplan); - NOTICA( - "STARTING interface_id=%d\n", SKYPIAX_P_LOG, interface_id); + DEBUGA_SKYPE + ("interface_id=%d globals.SKYPIAX_INTERFACES[interface_id].X11_display=%s\n", + SKYPIAX_P_LOG, interface_id, + globals.SKYPIAX_INTERFACES[interface_id].X11_display); + DEBUGA_SKYPE + ("interface_id=%d globals.SKYPIAX_INTERFACES[interface_id].skype_user=%s\n", + SKYPIAX_P_LOG, interface_id, + globals.SKYPIAX_INTERFACES[interface_id].skype_user); + DEBUGA_SKYPE + ("interface_id=%d globals.SKYPIAX_INTERFACES[interface_id].skype_password=%s\n", + SKYPIAX_P_LOG, interface_id, + globals.SKYPIAX_INTERFACES[interface_id].skype_password); + DEBUGA_SKYPE + ("interface_id=%d globals.SKYPIAX_INTERFACES[interface_id].tcp_cli_port=%d\n", + SKYPIAX_P_LOG, interface_id, + globals.SKYPIAX_INTERFACES[interface_id].tcp_cli_port); + DEBUGA_SKYPE + ("interface_id=%d globals.SKYPIAX_INTERFACES[interface_id].tcp_srv_port=%d\n", + SKYPIAX_P_LOG, interface_id, + globals.SKYPIAX_INTERFACES[interface_id].tcp_srv_port); + DEBUGA_SKYPE("interface_id=%d globals.SKYPIAX_INTERFACES[interface_id].name=%s\n", + SKYPIAX_P_LOG, interface_id, + globals.SKYPIAX_INTERFACES[interface_id].name); + DEBUGA_SKYPE + ("interface_id=%d globals.SKYPIAX_INTERFACES[interface_id].context=%s\n", + SKYPIAX_P_LOG, interface_id, globals.SKYPIAX_INTERFACES[interface_id].context); + DEBUGA_SKYPE + ("interface_id=%d globals.SKYPIAX_INTERFACES[interface_id].dialplan=%s\n", + SKYPIAX_P_LOG, interface_id, + globals.SKYPIAX_INTERFACES[interface_id].dialplan); + NOTICA("STARTING interface_id=%d\n", SKYPIAX_P_LOG, interface_id); switch_threadattr_create(&do_skype_thd_attr, skypiax_module_pool); //switch_threadattr_detach_set(do_skype_thd_attr, 1); @@ -969,16 +944,14 @@ skypiax_skypeaudio_init(&globals.SKYPIAX_INTERFACES[interface_id]); - - while(globals.SKYPIAX_INTERFACES[interface_id].AsteriskHandlesAst.api_connected == 0) - switch_sleep(1000); - NOTICA( - "STARTED interface_id=%d\n", SKYPIAX_P_LOG, interface_id); + while (globals.SKYPIAX_INTERFACES[interface_id].AsteriskHandlesAst. + api_connected == 0) + switch_sleep(1000); + NOTICA("STARTED interface_id=%d\n", SKYPIAX_P_LOG, interface_id); } else { - ERRORA( - "interface id %d is higher than SKYPIAX_MAX_INTERFACES (%d)\n", SKYPIAX_P_LOG, - interface_id, SKYPIAX_MAX_INTERFACES); + ERRORA("interface id %d is higher than SKYPIAX_MAX_INTERFACES (%d)\n", + SKYPIAX_P_LOG, interface_id, SKYPIAX_MAX_INTERFACES); continue; } @@ -986,21 +959,16 @@ for (i = 0; i < SKYPIAX_MAX_INTERFACES; i++) { if (strlen(globals.SKYPIAX_INTERFACES[i].name)) { - DEBUGA_SKYPE( - "i=%d globals.SKYPIAX_INTERFACES[%d].interface_id=%s\n", SKYPIAX_P_LOG, i, i, - globals.SKYPIAX_INTERFACES[i].interface_id); - DEBUGA_SKYPE( - "i=%d globals.SKYPIAX_INTERFACES[%d].X11_display=%s\n", SKYPIAX_P_LOG, i, i, - globals.SKYPIAX_INTERFACES[i].X11_display); - DEBUGA_SKYPE( - "i=%d globals.SKYPIAX_INTERFACES[%d].name=%s\n", SKYPIAX_P_LOG, i, i, - globals.SKYPIAX_INTERFACES[i].name); - DEBUGA_SKYPE( - "i=%d globals.SKYPIAX_INTERFACES[%d].context=%s\n", SKYPIAX_P_LOG, i, i, - globals.SKYPIAX_INTERFACES[i].context); - DEBUGA_SKYPE( - "i=%d globals.SKYPIAX_INTERFACES[%d].dialplan=%s\n", SKYPIAX_P_LOG, i, i, - globals.SKYPIAX_INTERFACES[i].dialplan); + DEBUGA_SKYPE("i=%d globals.SKYPIAX_INTERFACES[%d].interface_id=%s\n", + SKYPIAX_P_LOG, i, i, globals.SKYPIAX_INTERFACES[i].interface_id); + DEBUGA_SKYPE("i=%d globals.SKYPIAX_INTERFACES[%d].X11_display=%s\n", + SKYPIAX_P_LOG, i, i, globals.SKYPIAX_INTERFACES[i].X11_display); + DEBUGA_SKYPE("i=%d globals.SKYPIAX_INTERFACES[%d].name=%s\n", SKYPIAX_P_LOG, i, i, + globals.SKYPIAX_INTERFACES[i].name); + DEBUGA_SKYPE("i=%d globals.SKYPIAX_INTERFACES[%d].context=%s\n", SKYPIAX_P_LOG, i, + i, globals.SKYPIAX_INTERFACES[i].context); + DEBUGA_SKYPE("i=%d globals.SKYPIAX_INTERFACES[%d].dialplan=%s\n", SKYPIAX_P_LOG, + i, i, globals.SKYPIAX_INTERFACES[i].dialplan); } } } Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c Sun Jan 11 01:56:56 2009 @@ -115,17 +115,14 @@ #ifdef WIN32 len = recv(fd, (char *) srv_in, 320, 0); //seems that Skype only sends 320 bytes at time #else /* WIN32 */ - while(received < SAMPLES_PER_FRAME * sizeof(short)){ - len = recv(fd, srv_in + (received / sizeof(short)), (SAMPLES_PER_FRAME * sizeof(short)) - received, 0); //seems that Skype only sends 320 bytes at time - received += len; - if(len == 0) - break; - } - if(len) - len = received; - - - + while (received < SAMPLES_PER_FRAME * sizeof(short)) { + len = recv(fd, srv_in + (received / sizeof(short)), (SAMPLES_PER_FRAME * sizeof(short)) - received, 0); //seems that Skype only sends 320 bytes at time + received += len; + if (len == 0) + break; + } + if (len) + len = received; //len = recv(fd, srv_in, SAMPLES_PER_FRAME * sizeof(short), 0); //seems that Skype only sends 320 bytes at time #endif /* WIN32 */ @@ -196,8 +193,8 @@ #endif /* WIN32 */ //p->audiobuf_is_loaded = 0; //WARNINGA("SRV PIPE WRITE=====> req=%lu recv=%d to sent=%d sent=%u\n", - //SKYPIAX_P_LOG, sizeof(short) * SAMPLES_PER_FRAME, len, len, - //howmany); + //SKYPIAX_P_LOG, sizeof(short) * SAMPLES_PER_FRAME, len, len, + //howmany); } else if (len == SAMPLES_PER_FRAME * sizeof(short) / 2) { #if 1 @@ -508,14 +505,14 @@ switch_file_pipe_create(&p->audioskypepipe[0], &p->audioskypepipe[1], skypiax_module_pool); #else /* WIN32 */ - if(pipe(p->audiopipe)){ - fcntl(p->audiopipe[0], F_SETFL, O_NONBLOCK); - fcntl(p->audiopipe[1], F_SETFL, O_NONBLOCK); -} - if (pipe(p->audioskypepipe)){ - fcntl(p->audioskypepipe[0], F_SETFL, O_NONBLOCK); - fcntl(p->audioskypepipe[1], F_SETFL, O_NONBLOCK); -} + if (pipe(p->audiopipe)) { + fcntl(p->audiopipe[0], F_SETFL, O_NONBLOCK); + fcntl(p->audiopipe[1], F_SETFL, O_NONBLOCK); + } + if (pipe(p->audioskypepipe)) { + fcntl(p->audioskypepipe[0], F_SETFL, O_NONBLOCK); + fcntl(p->audioskypepipe[1], F_SETFL, O_NONBLOCK); + } #endif /* WIN32 */ //rv = switch_file_pipe_timeout_set(p->audiopipe[0], 100); @@ -1030,23 +1027,20 @@ DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); //switch_file_pipe_create(&p->AsteriskHandlesAst.fdesc[0], &p->AsteriskHandlesAst.fdesc[1], skypiax_module_pool); -if(pipe(p->AsteriskHandlesAst.fdesc)){ - fcntl(p->AsteriskHandlesAst.fdesc[0], F_SETFL, O_NONBLOCK); - fcntl(p->AsteriskHandlesAst.fdesc[1], F_SETFL, O_NONBLOCK); -} - + if (pipe(p->AsteriskHandlesAst.fdesc)) { + fcntl(p->AsteriskHandlesAst.fdesc[0], F_SETFL, O_NONBLOCK); + fcntl(p->AsteriskHandlesAst.fdesc[1], F_SETFL, O_NONBLOCK); + } //switch_file_pipe_timeout_set(p->AsteriskHandlesAst.fdesc[0], 100); AsteriskHandlesAst = &p->AsteriskHandlesAst; //disp = XOpenDisplay(getenv("DISPLAY")); disp = XOpenDisplay(p->X11_display); if (!disp) { - ERRORA( - "Cannot open X Display '%s', exiting skype thread\n", SKYPIAX_P_LOG, - p->X11_display); + ERRORA("Cannot open X Display '%s', exiting skype thread\n", SKYPIAX_P_LOG, + p->X11_display); return NULL; } else { - DEBUGA_SKYPE( "X Display '%s' opened\n", SKYPIAX_P_LOG, - p->X11_display); + DEBUGA_SKYPE("X Display '%s' opened\n", SKYPIAX_P_LOG, p->X11_display); } int xfd; @@ -1234,10 +1228,9 @@ fd_set fs; struct timeval to; #endif /* WIN32 */ - private_t *tech_pvt = NULL; - - tech_pvt = p->tech_pvt; + private_t *tech_pvt = NULL; + tech_pvt = p->tech_pvt; if (option_debug > 100) { DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); @@ -1280,15 +1273,17 @@ DEBUGA_SKYPE("read_skype: howmany=%d, i=%d, a=%d, |||%s||| \n", SKYPIAX_P_LOG, howmany, i, a, messaggio); - if (!strcasecmp(messaggio, "ERROR 68")) { /* not yet protocol specified, - just authorized */ - DEBUGA_SKYPE ("If I don't connect immediately, please give the Skype client authorization to be connected by Skypiax (and to not ask you again)\n", SKYPIAX_P_LOG); + if (!strcasecmp(messaggio, "ERROR 68")) { /* not yet protocol specified, + just authorized */ + DEBUGA_SKYPE + ("If I don't connect immediately, please give the Skype client authorization to be connected by Skypiax (and to not ask you again)\n", + SKYPIAX_P_LOG); switch_sleep(1000000); skypiax_skype_write(p, "PROTOCOL 6"); switch_sleep(10000); return 0; } - + if (!strncasecmp(messaggio, "ERROR 92 CALL", 12)) { ERRORA("Skype got ERROR: |||%s|||, the number we called was not recognized\n", SKYPIAX_P_LOG, messaggio); @@ -1365,66 +1360,67 @@ } } - if (!strcasecmp(messaggio, "USER")) { - strncpy(obj, where, sizeof(obj) - 1); - - where = strsep(stringp, " "); - - strncpy(id, where, sizeof(id) - 1); - - where = strsep(stringp, " "); - - strncpy(prop, where, sizeof(prop) - 1); - - if (!strcasecmp(prop,"RECEIVEDAUTHREQUEST" )) { - char msg_to_skype[256]; - DEBUGA_SKYPE ("Skype MSG: messaggio: %s, obj: %s, id: %s, prop: %s!\n", SKYPIAX_P_LOG, messaggio, obj, id, prop); + if (!strcasecmp(messaggio, "USER")) { + strncpy(obj, where, sizeof(obj) - 1); - //FIXME: TODO: allow authorization based on config param - sprintf(msg_to_skype, "SET USER %s ISAUTHORIZED TRUE", id); - skypiax_skype_write(p, msg_to_skype); - } - } + where = strsep(stringp, " "); + strncpy(id, where, sizeof(id) - 1); - if (!strcasecmp(messaggio, "MESSAGE")) { - strncpy(obj, where, sizeof(obj) - 1); + where = strsep(stringp, " "); - where = strsep(stringp, " "); + strncpy(prop, where, sizeof(prop) - 1); - strncpy(id, where, sizeof(id) - 1); + if (!strcasecmp(prop, "RECEIVEDAUTHREQUEST")) { + char msg_to_skype[256]; + DEBUGA_SKYPE("Skype MSG: messaggio: %s, obj: %s, id: %s, prop: %s!\n", + SKYPIAX_P_LOG, messaggio, obj, id, prop); + + //FIXME: TODO: allow authorization based on config param + sprintf(msg_to_skype, "SET USER %s ISAUTHORIZED TRUE", id); + skypiax_skype_write(p, msg_to_skype); + } + } - where = strsep(stringp, " "); + if (!strcasecmp(messaggio, "MESSAGE")) { + strncpy(obj, where, sizeof(obj) - 1); - strncpy(prop, where, sizeof(prop) - 1); + where = strsep(stringp, " "); - if (!strcasecmp(prop,"STATUS" )) { + strncpy(id, where, sizeof(id) - 1); - where = strsep(stringp, " "); + where = strsep(stringp, " "); - strncpy(value, where, sizeof(value) - 1); + strncpy(prop, where, sizeof(prop) - 1); + if (!strcasecmp(prop, "STATUS")) { - if (!strcasecmp(value,"RECEIVED" )) { - char msg_to_skype[256]; - DEBUGA_SKYPE ("Skype MSG: messaggio: %s, obj: %s, id: %s, prop: %s value: %s!\n", SKYPIAX_P_LOG, messaggio, obj, id, prop, value); + where = strsep(stringp, " "); - //FIXME: TODO: allow authorization based on config param - sprintf(msg_to_skype, "SET MESSAGE %s SEEN", id); - skypiax_skype_write(p, msg_to_skype); - } - } else if (!strcasecmp(prop,"BODY" )) { - char msg_to_skype[256]; + strncpy(value, where, sizeof(value) - 1); - DEBUGA_SKYPE ("Skype MSG: messaggio: %s, obj: %s, id: %s, prop: %s!\n", SKYPIAX_P_LOG, messaggio, obj, id, prop); + if (!strcasecmp(value, "RECEIVED")) { + char msg_to_skype[256]; + DEBUGA_SKYPE + ("Skype MSG: messaggio: %s, obj: %s, id: %s, prop: %s value: %s!\n", + SKYPIAX_P_LOG, messaggio, obj, id, prop, value); + + //FIXME: TODO: allow authorization based on config param + sprintf(msg_to_skype, "SET MESSAGE %s SEEN", id); + skypiax_skype_write(p, msg_to_skype); + } + } else if (!strcasecmp(prop, "BODY")) { + char msg_to_skype[256]; - //FIXME: TODO: on config param ??? - sprintf(msg_to_skype, "SET MESSAGE %s SEEN", id); - skypiax_skype_write(p, msg_to_skype); - } + DEBUGA_SKYPE("Skype MSG: messaggio: %s, obj: %s, id: %s, prop: %s!\n", + SKYPIAX_P_LOG, messaggio, obj, id, prop); - } + //FIXME: TODO: on config param ??? + sprintf(msg_to_skype, "SET MESSAGE %s SEEN", id); + skypiax_skype_write(p, msg_to_skype); + } + } if (!strcasecmp(messaggio, "CALL")) { @@ -1491,8 +1487,8 @@ if (channel) { switch_dtmf_t dtmf = { (char) value[0], switch_core_default_dtmf_duration(0) }; - NOTICA("%c DTMF %s\n", SKYPIAX_P_LOG, - dtmf.digit, switch_channel_get_name(channel)); + NOTICA("%c DTMF %s\n", SKYPIAX_P_LOG, dtmf.digit, + switch_channel_get_name(channel)); switch_mutex_lock(tech_pvt->flag_mutex); switch_channel_queue_dtmf(channel, &dtmf); switch_set_flag(tech_pvt, TFLAG_DTMF); @@ -1700,13 +1696,12 @@ //FIXME *new_session=switch_loadable_module_create_interface(skypiax_endpoint_interface, pool); - if (!p->tech_pvt || !tech_pvt->session) { //FIXME FIXME FIXME + if (!p->tech_pvt || !tech_pvt->session) { //FIXME FIXME FIXME switch_core_session_t *session = NULL; private_t *tech_pvt = NULL; switch_channel_t *channel = NULL; - NOTICA( - "New Inbound Channel!\n", SKYPIAX_P_LOG); + NOTICA("New Inbound Channel!\n", SKYPIAX_P_LOG); if ((session = switch_core_session_request(skypiax_endpoint_interface, @@ -1719,8 +1714,7 @@ channel = switch_core_session_get_channel(session); skypiax_tech_init(tech_pvt, session, p); } else { - ERRORA( - "Hey where is my memory pool?\n", SKYPIAX_P_LOG); + ERRORA("Hey where is my memory pool?\n", SKYPIAX_P_LOG); switch_core_session_destroy(&session); break; } @@ -1743,8 +1737,7 @@ switch_channel_set_state(channel, CS_INIT); if (switch_core_session_thread_launch(session) != SWITCH_STATUS_SUCCESS) { - ERRORA( - "Error spawning thread\n", SKYPIAX_P_LOG); + ERRORA("Error spawning thread\n", SKYPIAX_P_LOG); switch_core_session_destroy(&session); } } @@ -1755,27 +1748,27 @@ private_t *tech_pvt = NULL; switch_channel_t *channel = NULL; - if(p->tech_pvt){ - tech_pvt = p->tech_pvt; - } else { - ERRORA("No p->tech_pvt???\n", SKYPIAX_P_LOG); - } - if(tech_pvt->session){ - session = tech_pvt->session; - }else { - ERRORA("No tech_pvt->session???\n", SKYPIAX_P_LOG); + if (p->tech_pvt) { + tech_pvt = p->tech_pvt; + } else { + ERRORA("No p->tech_pvt???\n", SKYPIAX_P_LOG); + } + if (tech_pvt->session) { + session = tech_pvt->session; + } else { + ERRORA("No tech_pvt->session???\n", SKYPIAX_P_LOG); - } + } //session = global_session; - if(session){ - channel = switch_core_session_get_channel(session); - //DEBUGA_SKYPE("skype_call: %s, answered\n", SKYPIAX_P_LOG, id); - switch_channel_mark_answered(channel); - }else { + if (session) { + channel = switch_core_session_get_channel(session); + //DEBUGA_SKYPE("skype_call: %s, answered\n", SKYPIAX_P_LOG, id); + switch_channel_mark_answered(channel); + } else { - ERRORA("No session???\n", SKYPIAX_P_LOG); + ERRORA("No session???\n", SKYPIAX_P_LOG); - } + } //switch_channel_set_state(channel, CS_EXECUTE); @@ -1830,7 +1823,7 @@ char *rdest; char msg_to_skype[1024]; private_t *tech_pvt; - switch_caller_profile_t *caller_profile; + switch_caller_profile_t *caller_profile; tech_pvt = p->tech_pvt; @@ -1863,7 +1856,6 @@ caller_profile = tech_pvt->caller_profile; caller_profile->destination_number = rdest; - //FIXME ast_queue_control(p->owner, SKYPIAX_CONTROL_RINGING); return 0; } From gmaruzz at freeswitch.org Sun Jan 11 00:47:02 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Sun, 11 Jan 2009 02:47:02 -0600 Subject: [Freeswitch-branches] [commit] r11116 - freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax Message-ID: Author: gmaruzz Date: Sun Jan 11 02:47:02 2009 New Revision: 11116 Log: skypiax: cosmetics Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c Sun Jan 11 02:47:02 2009 @@ -1,26 +1,10 @@ #include "skypiax.h" -//#include extern switch_memory_pool_t *skypiax_module_pool; extern int option_debug; extern switch_endpoint_interface_t *skypiax_endpoint_interface; extern int running; -/**********************************************************/ -/**********************************************************/ -/**********************************************************/ - -//extern switch_core_session_t *global_session; - -#ifdef WIN32 -#else /* NOT WIN32 */ -#define SKYPE_X11_BUF_SIZE 512 -#endif /* WIN32 */ - -/**********************************************************/ -/**********************************************************/ -/**********************************************************/ - static void *SWITCH_THREAD_FUNC skypiax_do_tcp_srv_thread(switch_thread_t * thread, void *obj) { @@ -49,7 +33,6 @@ unsigned int kill_cli_size; short kill_cli_buff[SAMPLES_PER_FRAME]; short totalbuf[SAMPLES_PER_FRAME]; - //int one = 1; if (option_debug > 100) { DEBUGA_SKYPE("ENTERING FUNC\n", SKYPIAX_P_LOG); @@ -66,7 +49,6 @@ } return NULL; } - //setsockopt(s, IPPROTO_TCP, TCP_NODELAY, &one, sizeof(one)); if (bind(s, (struct sockaddr *) &my_addr, sizeof(struct sockaddr)) < 0) { ERRORA("bind Error\n", SKYPIAX_P_LOG); @@ -105,11 +87,10 @@ fdselect = fd; FD_ZERO(&fs); FD_SET(fdselect, &fs); - to.tv_usec = 2000000; //20 msec + to.tv_usec = 2000000; //2000 msec to.tv_sec = 0; rt = select(fdselect + 1, &fs, NULL, NULL, &to); - //rt=1; if (rt > 0) { #ifdef WIN32 @@ -123,13 +104,10 @@ } if (len) len = received; - - //len = recv(fd, srv_in, SAMPLES_PER_FRAME * sizeof(short), 0); //seems that Skype only sends 320 bytes at time #endif /* WIN32 */ if ((SAMPLERATE_SKYPIAX - 8000) == 0) { - /****************************************************************/ if (len > 0) { a = 0; for (i = 0; i < len / sizeof(short); i++) { @@ -164,7 +142,6 @@ howmany = write(p->audiopipe[1], totalbuf, howmany); #endif /* WIN32 */ p->audiobuf_is_loaded = 0; - //DEBUGA_SKYPE("read=====> req=%d recv=%d to sent=%d sent=%d\n", SKYPIAX_P_LOG, sizeof(short)*SAMPLES_PER_FRAME, len, (len*sizeof(short))/2, howmany); } } else if (len == 0) { @@ -175,30 +152,19 @@ exit = 1; break; } - /****************************************************************/ } else if (SAMPLERATE_SKYPIAX == 16000) { - /****************************************************************/ if (len > 0) { if (len == SAMPLES_PER_FRAME * sizeof(short)) { #ifdef WIN32 unsigned int howmany; - howmany = len; - - //WARNINGA("SRV recv %d\n", SKYPIAX_P_LOG, len); + howmany = len; switch_file_write(p->audiopipe[1], srv_in, &howmany); #else /* WIN32 */ len = write(p->audiopipe[1], srv_in, len); #endif /* WIN32 */ - //p->audiobuf_is_loaded = 0; - //WARNINGA("SRV PIPE WRITE=====> req=%lu recv=%d to sent=%d sent=%u\n", - //SKYPIAX_P_LOG, sizeof(short) * SAMPLES_PER_FRAME, len, len, - //howmany); } else if (len == SAMPLES_PER_FRAME * sizeof(short) / 2) { - -#if 1 - if (!p->audiobuf_is_loaded) { for (i = 0; i < (len / sizeof(short)); i++) { p->audiobuf[i] = srv_in[i]; @@ -206,7 +172,6 @@ p->audiobuf_is_loaded = 1; } else { unsigned int howmany = SAMPLES_PER_FRAME * sizeof(short); - //short totalbuf[SAMPLES_PER_FRAME]; for (i = 0; i < (len / sizeof(short)); i++) totalbuf[i] = p->audiobuf[i]; @@ -221,39 +186,30 @@ howmany = write(p->audiopipe[1], totalbuf, howmany); #endif /* WIN32 */ p->audiobuf_is_loaded = 0; - //NOTICA("SRV PIPE WRITE=====> req=%d recv=%d to sent=%d sent=%d\n", SKYPIAX_P_LOG, SAMPLES_PER_FRAME * sizeof(short), len, SAMPLES_PER_FRAME * sizeof(short), howmany); } -#endif } else { - ERRORA("SRV len=%d\n", SKYPIAX_P_LOG, len); - } } else if (len == 0) { DEBUGA_SKYPE("Skype client GONE\n", SKYPIAX_P_LOG); switch_sleep(1000); - //break; } else { ERRORA("SRV len=%d\n", SKYPIAX_P_LOG, len); exit = 1; break; } - /****************************************************************/ } else { - ERRORA("SAMPLERATE_SKYPIAX can only be 8000 or 16000\n", SKYPIAX_P_LOG); } } else { - if (rt) ERRORA("SRV rt=%d\n", SKYPIAX_P_LOG, rt); switch_sleep(10000); } } - #ifdef WIN32 kill_cli_size = SAMPLES_PER_FRAME * sizeof(short); switch_file_write(p->audiopipe[1], kill_cli_buff, &kill_cli_size); @@ -275,9 +231,7 @@ kill_cli_size = SAMPLES_PER_FRAME * sizeof(short); len = write(p->audioskypepipe[1], kill_cli_buff, kill_cli_size); #endif /* WIN32 */ - DEBUGA_SKYPE("Skype client GONE\n", SKYPIAX_P_LOG); - #ifndef WIN32 close(fd); #else @@ -300,7 +254,6 @@ } static void *SWITCH_THREAD_FUNC skypiax_do_tcp_cli_thread(switch_thread_t * thread, void *obj) -//void *skypiax_do_tcp_cli_thread(void *data) { struct skypiax_interface *p = obj; int s; @@ -324,7 +277,6 @@ short cli_out[SAMPLES_PER_FRAME * 2]; short cli_in[SAMPLES_PER_FRAME]; #endif /* WIN32 */ - //int one = 1; if (option_debug > 100) { DEBUGA_SKYPE("ENTERING FUNC\n", SKYPIAX_P_LOG); @@ -341,7 +293,6 @@ } return NULL; } - //setsockopt(s, IPPROTO_TCP, TCP_NODELAY, &one, sizeof(one)); if (bind(s, (struct sockaddr *) &my_addr, sizeof(struct sockaddr)) < 0) { ERRORA("bind Error\n", SKYPIAX_P_LOG); @@ -385,7 +336,7 @@ #endif /* WIN32 */ FD_ZERO(&fs); FD_SET(fdselect, &fs); - to.tv_usec = 2000000; //20 msec + to.tv_usec = 2000000; //2000 msec to.tv_sec = 0; #ifdef WIN32 @@ -393,11 +344,7 @@ #else /* WIN32 */ rt = select(fdselect + 1, &fs, NULL, NULL, &to); #endif /* WIN32 */ - //switch_sleep(1000);//FIXME - //memset(cli_in, '\0', sizeof(cli_in)); - //rt = 0; if (rt > 0) { - /*********************************************/ if ((SAMPLERATE_SKYPIAX - 8000) == 0) { got = SAMPLES_PER_FRAME * sizeof(short); #ifdef WIN32 @@ -407,7 +354,6 @@ #endif /* WIN32 */ if (got > 0) { - //DEBUGA_SKYPE("CLI PIPE read %d\n", SKYPIAX_P_LOG, got); a = 0; for (i = 0; i < got / sizeof(short); i++) { cli_out[a] = cli_in[i]; @@ -421,8 +367,6 @@ #else /* WIN32 */ len = send(fd, cli_out, got * 2, 0); #endif /* WIN32 */ - //DEBUGA_SKYPE("CLI PIPE send %d\n", SKYPIAX_P_LOG, len); - if (len == 0) { ERRORA("Skype server GONE\n", SKYPIAX_P_LOG); break; @@ -430,12 +374,8 @@ } else { switch_sleep(1000); ERRORA("CLI PIPE give us: %u\n", SKYPIAX_P_LOG, got); - //break; } - } - /*********************************************/ - /*********************************************/ - else if (SAMPLERATE_SKYPIAX == 16000) { + } else if (SAMPLERATE_SKYPIAX == 16000) { got = SAMPLES_PER_FRAME * sizeof(short); #ifdef WIN32 switch_file_read(p->audioskypepipe[0], cli_in, &got); @@ -465,7 +405,6 @@ ERRORA("CLI PIPE give us: %u\n", SKYPIAX_P_LOG, got); } } - /*********************************************/ } else { switch_sleep(1000); @@ -514,12 +453,6 @@ fcntl(p->audioskypepipe[1], F_SETFL, O_NONBLOCK); } #endif /* WIN32 */ - //rv = switch_file_pipe_timeout_set(p->audiopipe[0], 100); - -/* the pipe is our audio fd for pbx to poll on */ - //p->skypiax_sound_capt_fd = p->audiopipe[0]; - - //rv = switch_file_pipe_timeout_set(p->audioskypepipe[0], 20000); if (option_debug > 10) { DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); } @@ -538,30 +471,21 @@ #endif /* WIN32 */ p = tech_pvt->p; - - //DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); - #ifdef WIN32 rt = 1; #else /* WIN32 */ - fdselect = p->audiopipe[0]; FD_ZERO(&fs); FD_SET(fdselect, &fs); - to.tv_usec = 2000000; //20 msec + to.tv_usec = 2000000; //2000 msec to.tv_sec = 0; rt = select(fdselect + 1, &fs, NULL, NULL, &to); #endif /* WIN32 */ - if (rt > 0) { - samples = SAMPLES_PER_FRAME * sizeof(short); - #ifdef WIN32 switch_file_read(p->audiopipe[0], tech_pvt->read_frame.data, &samples); #else /* WIN32 */ - - //samples = read(p->audiopipe[0], buf, SAMPLES_PER_FRAME * sizeof(short)); samples = read(p->audiopipe[0], tech_pvt->read_frame.data, samples); #endif /* WIN32 */ @@ -571,49 +495,17 @@ samples, SAMPLES_PER_FRAME * sizeof(short)); //do nothing } else { - tech_pvt->read_frame.datalen = samples; - //NOTICA("SRV PIPE READ=====> GOOD samples=%d\n", SKYPIAX_P_LOG, samples); /* A real frame */ + tech_pvt->read_frame.datalen = samples; } } else { if (rt) DEBUGA_SKYPE("select returned %d\n", SKYPIAX_P_LOG, rt); - } - - //DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - return SWITCH_STATUS_SUCCESS; } #ifdef WIN32 -#if 0 -int LaunchSkype(struct skypiax_interface *p) -{ - LPTSTR pszMessage; - DWORD dwLastError; - char skypelogin[256]; - - memset(skypelogin, '\0', sizeof(skypelogin)); - sprintf(skypelogin, "/secondary /username:%s /password:%s", p->skype_user, - p->skype_password); - - ShellExecute(NULL, "open", "C:\\Program Files\\Skype\\Phone\\Skype.exe", skypelogin, - ".", SW_SHOWNORMAL); - - dwLastError = GetLastError(); - - FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | - FORMAT_MESSAGE_IGNORE_INSERTS, NULL, dwLastError, MAKELANGID(LANG_NEUTRAL, - SUBLANG_DEFAULT), - (LPTSTR) & pszMessage, 0, NULL); - - NOTICA("ShellExecute gave: %s\n", SKYPIAX_P_LOG, pszMessage); - LocalFree(pszMessage); - return 1; - -} -#endif enum { SKYPECONTROLAPI_ATTACH_SUCCESS = 0, /* Client is successfully @@ -703,13 +595,14 @@ if (!p->AsteriskHandlesAst.api_connected) { NOTICA("\n\n\tConnected to Skype API!\n", SKYPIAX_P_LOG); p->AsteriskHandlesAst.win32_hGlobal_SkypeAPIWindowHandle = (HWND) uiParam; - //switch_sleep(5000); p->AsteriskHandlesAst.win32_hGlobal_SkypeAPIWindowHandle = p->AsteriskHandlesAst.win32_hGlobal_SkypeAPIWindowHandle; } break; case SKYPECONTROLAPI_ATTACH_PENDING_AUTHORIZATION: - //WARNINGA ("\n\n\tIf I do not (almost) immediately connect to Skype API,\n\tplease give the Skype client authorization to be connected \n\tby Asterisk and to not ask you again.\n\n", SKYPIAX_P_LOG); + DEBUGA_SKYPE + ("\n\n\tIf I do not (almost) immediately connect to Skype API,\n\tplease give the Skype client authorization to be connected \n\tby Asterisk and to not ask you again.\n\n", + SKYPIAX_P_LOG); switch_sleep(5000); if (!p->AsteriskHandlesAst.api_connected) { SendMessage(HWND_BROADCAST, @@ -830,34 +723,25 @@ /* destroy window class */ struct skypiax_interface *p; - //DWORD MsgWaitResult; - p = obj; + p = obj; switch_file_pipe_create(&p->AsteriskHandlesAst.fdesc[0], &p->AsteriskHandlesAst.fdesc[1], skypiax_module_pool); - //switch_file_pipe_timeout_set(p->AsteriskHandlesAst.fdesc[0], 100); - p->AsteriskHandlesAst.win32_uiGlobal_MsgID_SkypeControlAPIAttach = RegisterWindowMessage("SkypeControlAPIAttach"); p->AsteriskHandlesAst.win32_uiGlobal_MsgID_SkypeControlAPIDiscover = RegisterWindowMessage("SkypeControlAPIDiscover"); - //LaunchSkype(p); switch_sleep(2000000); if (p->AsteriskHandlesAst.win32_uiGlobal_MsgID_SkypeControlAPIAttach != 0 && p->AsteriskHandlesAst.win32_uiGlobal_MsgID_SkypeControlAPIDiscover != 0) { if (win32_Initialize_CreateWindowClass(p)) { if (win32_Initialize_CreateMainWindow(p)) { -#if 1 if (SendMessage (HWND_BROADCAST, p->AsteriskHandlesAst.win32_uiGlobal_MsgID_SkypeControlAPIDiscover, (WPARAM) p->AsteriskHandlesAst.win32_hInit_MainWindowHandle, 0) != 0) { -#else - - if (1) { -#endif p->AsteriskHandlesAst.win32_hInit_MainWindowHandle = p->AsteriskHandlesAst.win32_hInit_MainWindowHandle; while (1) { @@ -865,7 +749,6 @@ if (!running) break; while (GetMessage(&oMessage, 0, 0, 0)) { - //break; TranslateMessage(&oMessage); DispatchMessage(&oMessage); } @@ -883,30 +766,6 @@ } #else /* NOT WIN32 */ -#if 0 -int X11_errors_handler(Display * dpy, XErrorEvent * err) -{ - (void) dpy; - struct skypiax_interface *p = NULL; - - xerror = err->error_code; - DEBUGA_SKYPE("Received error code %d from X Server\n", SKYPIAX_P_LOG, xerror); - return 0; /* ignore the error */ -} - -static void X11_errors_trap(void) -{ - xerror = 0; - old_handler = XSetErrorHandler(X11_errors_handler); -} - -static int X11_errors_untrap(void) -{ - XSetErrorHandler(old_handler); - return (xerror != BadValue) && (xerror != BadWindow); -} -#endif - int skypiax_skype_send_message(struct AsteriskHandles *AsteriskHandlesAst, const char *message_P) { @@ -914,7 +773,6 @@ Window w_P; Display *disp; Window handle_P; - //struct skypiax_interface *p = NULL; w_P = AsteriskHandlesAst->skype_win; disp = AsteriskHandlesAst->disp; @@ -925,7 +783,6 @@ unsigned int pos = 0; unsigned int len = strlen(message_P); XEvent e; - //int ok; memset(&e, 0, sizeof(e)); e.xclient.type = ClientMessage; @@ -934,7 +791,6 @@ e.xclient.window = handle_P; e.xclient.format = 8; - //X11_errors_trap(); //XLockDisplay(disp); do { unsigned int i; @@ -948,11 +804,7 @@ XSync(disp, False); //XUnlockDisplay(disp); - //ok = X11_errors_untrap(); - - //if (!ok) DEBUGA_SKYPE("Sending message failed with status %d\n", SKYPIAX_P_LOG, xerror); - //return ok; return 1; } @@ -968,7 +820,6 @@ int status; struct skypiax_interface *p = NULL; - //X11_errors_trap(); //XLockDisplay(disp); status = XGetWindowProperty(AsteriskHandlesAst->disp, @@ -976,7 +827,6 @@ False, XA_WINDOW, &type_ret, &format_ret, &nitems_ret, &bytes_after_ret, &prop); //XUnlockDisplay(disp); - //X11_errors_untrap(); /* sanity check */ if (status != Success || format_ret != 32 || nitems_ret != 1) { @@ -986,7 +836,6 @@ } AsteriskHandlesAst->skype_win = *(const unsigned long *) prop & 0xffffffff; - //DEBUGA_SKYPE("Skype instance found with id #%x\n", SKYPIAX_P_LOG, DEBUGA_SKYPE("Skype instance found with id #%d\n", SKYPIAX_P_LOG, (unsigned int) AsteriskHandlesAst->skype_win); return 1; @@ -1018,7 +867,7 @@ struct skypiax_interface *p; struct AsteriskHandles *AsteriskHandlesAst; - char buf[SKYPE_X11_BUF_SIZE]; + char buf[512]; Display *disp = NULL; Window root = -1; Window win = -1; @@ -1026,14 +875,11 @@ p = obj; DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); - //switch_file_pipe_create(&p->AsteriskHandlesAst.fdesc[0], &p->AsteriskHandlesAst.fdesc[1], skypiax_module_pool); if (pipe(p->AsteriskHandlesAst.fdesc)) { fcntl(p->AsteriskHandlesAst.fdesc[0], F_SETFL, O_NONBLOCK); fcntl(p->AsteriskHandlesAst.fdesc[1], F_SETFL, O_NONBLOCK); } - //switch_file_pipe_timeout_set(p->AsteriskHandlesAst.fdesc[0], 100); AsteriskHandlesAst = &p->AsteriskHandlesAst; - //disp = XOpenDisplay(getenv("DISPLAY")); disp = XOpenDisplay(p->X11_display); if (!disp) { ERRORA("Cannot open X Display '%s', exiting skype thread\n", SKYPIAX_P_LOG, @@ -1048,7 +894,6 @@ fcntl(xfd, F_SETFD, FD_CLOEXEC); //FIXME pthread_cleanup_push(skypiax_skype_clean_disp, &xfd); - DEBUGA_SKYPE("PUSH disp %d\n", SKYPIAX_P_LOG, xfd); AsteriskHandlesAst->disp = disp; @@ -1060,13 +905,9 @@ DefaultScreen (disp))); - //DEBUGA_SKYPE("skype_win=%d win=%d\n", SKYPIAX_P_LOG, (unsigned int) skype_win, (unsigned int) win); - - //AsteriskHandlesAst->skype_win = skype_win; - //AsteriskHandlesAst->disp = disp; AsteriskHandlesAst->win = win; - snprintf(buf, SKYPE_X11_BUF_SIZE, "NAME skypiax"); + snprintf(buf, 512, "NAME skypiax"); if (!skypiax_skype_send_message(AsteriskHandlesAst, buf)) { ERRORA @@ -1076,7 +917,7 @@ return NULL; } - snprintf(buf, SKYPE_X11_BUF_SIZE, "PROTOCOL 6"); + snprintf(buf, 512, "PROTOCOL 6"); if (!skypiax_skype_send_message(AsteriskHandlesAst, buf)) { ERRORA ("Sending message failed - probably Skype crashed. Please run/restart Skype manually and launch Skypiax again\n", @@ -1095,7 +936,6 @@ b = buffer; while (1) { - //switch_sleep(10000); XNextEvent(disp, &an_event); if (!running) break; @@ -1110,10 +950,6 @@ buf[i] = '\0'; - //NOTICA("ClientMessage buf:|||%s||| buffer:|||%s||| serial=%ld|||\r\n",SKYPIAX_P_LOG,buf, buffer,an_event.xclient.serial); - //NOTICA ("SKYPE read: |||%s|||%d\n", SKYPIAX_P_LOG, buf, strlen(buf)); - //NOTICA ("SKYPE buffer: |||%s|||%d\n", SKYPIAX_P_LOG, buffer, strlen(buffer)); - strcat(buffer, buf); if (i < 20) { /* last fragment */ @@ -1121,11 +957,7 @@ howmany = strlen(b) + 1; - //switch_file_write(AsteriskHandlesAst->fdesc[1], b, &howmany); howmany = write(AsteriskHandlesAst->fdesc[1], b, howmany); - //write(AsteriskHandlesAst->fdesc[1], "\0", 1); - //FIXME DEBUGA_SKYPE("SKYPE pipewrite: |||%s|||len=%d serial=%ld\n\n\n", SKYPIAX_P_LOG, b, strlen(b) + 1, an_event.xclient.serial); - //switch_sleep(1000); memset(buffer, '\0', 17000); } @@ -1178,7 +1010,6 @@ ("Sending message failed - probably Skype crashed.\n\nPlease shutdown Skypiax (Asterisk), then restart Skype from the menu, then launch Skypiax and try again.\n", SKYPIAX_P_LOG); p->skype = 0; - //FIXME p->skype_thread = SKYPIAX_PTHREADT_NULL; p->skype_thread = NULL; if (option_debug > 100) { DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); @@ -1243,7 +1074,6 @@ #ifdef WIN32 rt = 1; #else /* WIN32 */ - fdselect = p->AsteriskHandlesAst.fdesc[0]; FD_ZERO(&fs); FD_SET(fdselect, &fs); @@ -1269,7 +1099,6 @@ if (read_from_pipe[i] == '\0') { - //if (option_debug > 101) DEBUGA_SKYPE("read_skype: howmany=%d, i=%d, a=%d, |||%s||| \n", SKYPIAX_P_LOG, howmany, i, a, messaggio); @@ -1479,9 +1308,7 @@ DEBUGA_SKYPE("Call %s received a DTMF: %s\n", SKYPIAX_P_LOG, id, value); tech_pvt = p->tech_pvt; - //if(tech_pvt) session = tech_pvt->session; - //if(session) channel = switch_core_session_get_channel(session); if (channel) { @@ -1541,7 +1368,6 @@ strncpy(p->skype_call_id, id, sizeof(p->skype_call_id) - 1); } else { /* we're owned, we're in a call, let's refuse */ - //sprintf(msg_to_skype, "SET CALL %s STATUS REFUSED", id); sprintf(msg_to_skype, "ALTER CALL %s END HANGUP", id); skypiax_skype_write(p, msg_to_skype); switch_sleep(10000); @@ -1657,26 +1483,21 @@ if (1) { //FIXME char msg_to_skype[1024]; + switch_threadattr_t *thd_attr = NULL; - if (1) { //FIXME - switch_threadattr_t *thd_attr = NULL; - - switch_threadattr_create(&thd_attr, skypiax_module_pool); - switch_threadattr_detach_set(thd_attr, 1); - switch_threadattr_stacksize_set(thd_attr, SWITCH_THREAD_STACKSIZE); - switch_thread_create(&p->tcp_srv_thread, thd_attr, - skypiax_do_tcp_srv_thread, p, - skypiax_module_pool); - DEBUGA_SKYPE("started tcp_srv_thread thread.\n", SKYPIAX_P_LOG); - - switch_threadattr_create(&thd_attr, skypiax_module_pool); - switch_threadattr_detach_set(thd_attr, 1); - switch_threadattr_stacksize_set(thd_attr, SWITCH_THREAD_STACKSIZE); - switch_thread_create(&p->tcp_cli_thread, thd_attr, - skypiax_do_tcp_cli_thread, p, - skypiax_module_pool); - DEBUGA_SKYPE("started tcp_cli_thread thread.\n", SKYPIAX_P_LOG); - } + switch_threadattr_create(&thd_attr, skypiax_module_pool); + switch_threadattr_detach_set(thd_attr, 1); + switch_threadattr_stacksize_set(thd_attr, SWITCH_THREAD_STACKSIZE); + switch_thread_create(&p->tcp_srv_thread, thd_attr, + skypiax_do_tcp_srv_thread, p, skypiax_module_pool); + DEBUGA_SKYPE("started tcp_srv_thread thread.\n", SKYPIAX_P_LOG); + + switch_threadattr_create(&thd_attr, skypiax_module_pool); + switch_threadattr_detach_set(thd_attr, 1); + switch_threadattr_stacksize_set(thd_attr, SWITCH_THREAD_STACKSIZE); + switch_thread_create(&p->tcp_cli_thread, thd_attr, + skypiax_do_tcp_cli_thread, p, skypiax_module_pool); + DEBUGA_SKYPE("started tcp_cli_thread thread.\n", SKYPIAX_P_LOG); switch_sleep(100000); sprintf(msg_to_skype, "ALTER CALL %s SET_OUTPUT PORT=\"%d\"", id, p->tcp_srv_port); @@ -1690,8 +1511,6 @@ p->skype_callflow = SKYPIAX_STATE_UP; - /**************************/ - //FIXME switch_core_session_t **new_session; //FIXME *new_session=switch_loadable_module_create_interface(skypiax_endpoint_interface, pool); @@ -1719,8 +1538,6 @@ break; } - // if ((tech_pvt->caller_profile = switch_caller_profile_new(switch_core_session_get_pool(session), NULL, dialplan, cid_name, cid_num, ip, NULL, NULL, NULL, modname, NULL, dest)) != 0) - if ((tech_pvt->caller_profile = switch_caller_profile_new(switch_core_session_get_pool(session), "skypiax", "XML", p->callid_name, @@ -1757,23 +1574,20 @@ session = tech_pvt->session; } else { ERRORA("No tech_pvt->session???\n", SKYPIAX_P_LOG); - } - //session = global_session; if (session) { channel = switch_core_session_get_channel(session); - //DEBUGA_SKYPE("skype_call: %s, answered\n", SKYPIAX_P_LOG, id); - switch_channel_mark_answered(channel); } else { - ERRORA("No session???\n", SKYPIAX_P_LOG); - } - - //switch_channel_set_state(channel, CS_EXECUTE); + if (channel) { + switch_channel_mark_answered(channel); + //DEBUGA_SKYPE("skype_call: %s, answered\n", SKYPIAX_P_LOG, id); + } else { + ERRORA("No channel???\n", SKYPIAX_P_LOG); + } } - /**************************/ } else { WARNINGA("skype_call: %s, STATUS: %s is not recognized\n", SKYPIAX_P_LOG, From gmaruzz at freeswitch.org Sun Jan 11 01:03:00 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Sun, 11 Jan 2009 03:03:00 -0600 Subject: [Freeswitch-branches] [commit] r11117 - freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax Message-ID: Author: gmaruzz Date: Sun Jan 11 03:03:00 2009 New Revision: 11117 Log: skypiax: cosmetics 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 Sun Jan 11 03:03:00 2009 @@ -23,17 +23,10 @@ switch_mutex_t *mutex; } globals; -/*************************************************/ -/*************************************************/ -/*************************************************/ int option_debug = 100; switch_endpoint_interface_t *skypiax_endpoint_interface; switch_memory_pool_t *skypiax_module_pool = NULL; int running = 1; -//switch_core_session_t *global_session = NULL; -/*************************************************/ -/*************************************************/ -/*************************************************/ SWITCH_DECLARE_GLOBAL_STRING_FUNC(set_global_dialplan, globals.dialplan); SWITCH_DECLARE_GLOBAL_STRING_FUNC(set_global_codec_string, globals.codec_string); @@ -171,7 +164,6 @@ if (strlen(p->skype_call_id)) { //switch_thread_cond_signal(tech_pvt->cond); WARNINGA("hanging up skype call: %s\n", SKYPIAX_P_LOG, p->skype_call_id); - //sprintf(msg_to_skype, "SET CALL %s STATUS FINISHED", p->skype_call_id); sprintf(msg_to_skype, "ALTER CALL %s HANGUP", p->skype_call_id); skypiax_skype_write(p, msg_to_skype); } @@ -315,8 +307,6 @@ } else { switch_set_flag_locked(tech_pvt, TFLAG_VOICE); - //ERRORA( "skypiax_skypeaudio_read SUCCESS\n"); - } while (switch_test_flag(tech_pvt, TFLAG_IO)) { @@ -330,7 +320,6 @@ DEBUGA_SKYPE("CHANNEL READ FRAME not IO\n", SKYPIAX_P_LOG); return SWITCH_STATUS_FALSE; } - //DEBUGA_SKYPE( "============>\n"); if (switch_test_flag(tech_pvt, TFLAG_IO) && switch_test_flag(tech_pvt, TFLAG_VOICE)) { switch_clear_flag_locked(tech_pvt, TFLAG_VOICE); @@ -375,8 +364,6 @@ unsigned int sent; struct skypiax_interface *p = NULL; - //DEBUGA_SKYPE( "CHANNEL WRITE FRAME\n"); - channel = switch_core_session_get_channel(session); assert(channel != NULL); @@ -397,7 +384,6 @@ #endif sent = frame->datalen; - //DEBUGA_SKYPE("CLI PIPE to write %d\n", SKYPIAX_P_LOG, sent); #ifdef WIN32 switch_file_write(p->audioskypepipe[1], frame->data, &sent); #else /* WIN32 */ @@ -405,12 +391,9 @@ #endif /* WIN32 */ if (sent != frame->datalen && sent != -1) { DEBUGA_SKYPE("CLI PIPE write %d\n", SKYPIAX_P_LOG, sent); - } else { - //NOTICA("CLI PIPE write %d\n", SKYPIAX_P_LOG, sent); } return SWITCH_STATUS_SUCCESS; - } static switch_status_t channel_answer_channel(switch_core_session_t * session) @@ -450,7 +433,6 @@ switch (msg->message_id) { case SWITCH_MESSAGE_INDICATE_ANSWER: { - //WARNINGA("TO BE ANSWERED! \n", SKYPIAX_P_LOG); DEBUGA_SKYPE("MSG_ID=%d, TO BE ANSWERED!\n", SKYPIAX_P_LOG, msg->message_id); channel_answer_channel(session); } @@ -561,8 +543,6 @@ return SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER; } - //tech_pvt->p = &globals.SKYPIAX_INTERFACES[19]; //FIXME - //globals.SKYPIAX_INTERFACES[19].tech_pvt = tech_pvt; //FIXME channel = switch_core_session_get_channel(*new_session); skypiax_tech_init(tech_pvt, *new_session, NULL); } else { @@ -600,12 +580,10 @@ switch_channel_set_flag(channel, CF_OUTBOUND); switch_set_flag_locked(tech_pvt, TFLAG_OUTBOUND); switch_channel_set_state(channel, CS_INIT); - //switch_channel_mark_pre_answered(channel); return SWITCH_CAUSE_SUCCESS; } return SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER; - } /*! @@ -627,9 +605,7 @@ while (forever) { if (!running) break; - //switch_sleep(1000); //cicopet res = skypiax_skype_read(p); - //if (res == CALLFLOW_INCOMING_HANGUP && p->interface_state != SKYPIAX_STATE_DOWN) if (res == CALLFLOW_INCOMING_HANGUP) { switch_core_session_t *session = NULL; private_t *tech_pvt = NULL; @@ -643,20 +619,14 @@ if (session) { channel = switch_core_session_get_channel(session); - //DEBUGA_SKYPE("before channel_on_hangup\n", SKYPIAX_P_LOG); - if (channel) { switch_channel_hangup(channel, SWITCH_CAUSE_NORMAL_CLEARING); - //DEBUGA_SKYPE("after channel_on_hangup\n", SKYPIAX_P_LOG); - } else { ERRORA("no channel?\n", SKYPIAX_P_LOG); } - } else { ERRORA("no session?\n", SKYPIAX_P_LOG); } - } else { ERRORA("no tech_pvt?\n", SKYPIAX_P_LOG); } @@ -664,12 +634,8 @@ tech_pvt->session = NULL; //FIXME } } - - //if (option_debug > 10) { DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); - //} return NULL; - } static switch_status_t load_config(void) @@ -875,8 +841,6 @@ globals.SKYPIAX_INTERFACES[interface_id].tcp_cli_port = atoi(tcp_cli_port); globals.SKYPIAX_INTERFACES[interface_id].tcp_srv_port = atoi(tcp_srv_port); #endif /* WIN32 */ - //switch_set_string(globals.SKYPIAX_INTERFACES[interface_id].tcp_cli_port, tcp_cli_port); - //switch_set_string(globals.SKYPIAX_INTERFACES[interface_id].tcp_srv_port, tcp_srv_port); switch_set_string(globals.SKYPIAX_INTERFACES[interface_id].X11_display, X11_display); switch_set_string(globals.SKYPIAX_INTERFACES[interface_id].skype_user, @@ -919,7 +883,6 @@ NOTICA("STARTING interface_id=%d\n", SKYPIAX_P_LOG, interface_id); switch_threadattr_create(&do_skype_thd_attr, skypiax_module_pool); - //switch_threadattr_detach_set(do_skype_thd_attr, 1); switch_threadattr_stacksize_set(do_skype_thd_attr, SWITCH_THREAD_STACKSIZE); switch_thread_create(&globals.SKYPIAX_INTERFACES[interface_id]. skypiax_do_skype_thread_thread, do_skype_thd_attr, @@ -930,7 +893,6 @@ switch_threadattr_create(&skypiax_do_controldev_thread_thd_attr, skypiax_module_pool); - //switch_threadattr_detach_set(skypiax_do_controldev_thread_thd_attr, 1); switch_threadattr_stacksize_set(skypiax_do_controldev_thread_thd_attr, SWITCH_THREAD_STACKSIZE); switch_thread_create(&globals.SKYPIAX_INTERFACES[interface_id]. @@ -945,8 +907,9 @@ skypiax_skypeaudio_init(&globals.SKYPIAX_INTERFACES[interface_id]); while (globals.SKYPIAX_INTERFACES[interface_id].AsteriskHandlesAst. - api_connected == 0) + api_connected == 0) { switch_sleep(1000); + } NOTICA("STARTED interface_id=%d\n", SKYPIAX_P_LOG, interface_id); } else { @@ -985,7 +948,6 @@ skypiax_module_pool = pool; memset(&globals, '\0', sizeof(globals)); - //memset(globals.SKYPIAX_INTERFACES, '\0', sizeof(globals.SKYPIAX_INTERFACES)); load_config(); @@ -1001,13 +963,6 @@ return SWITCH_STATUS_SUCCESS; } -/* -SWITCH_MODULE_RUNTIME_FUNCTION(mod_skypiax_runtime) -{ - return SWITCH_STATUS_TERM; -} -*/ - SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_skypiax_shutdown) { int x = 100; @@ -1016,8 +971,6 @@ unsigned int howmany = 8; int interface_id; - //p = &globals.SKYPIAX_INTERFACES[2]; - running = 0; for (interface_id = 0; interface_id < SKYPIAX_MAX_INTERFACES; interface_id++) { From gmaruzz at freeswitch.org Sun Jan 11 01:08:36 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Sun, 11 Jan 2009 03:08:36 -0600 Subject: [Freeswitch-branches] [commit] r11118 - freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax Message-ID: Author: gmaruzz Date: Sun Jan 11 03:08:36 2009 New Revision: 11118 Log: skypiax: cosmetics Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/mod_skypiax.c freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax.h freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.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 Sun Jan 11 03:08:36 2009 @@ -906,7 +906,7 @@ skypiax_skypeaudio_init(&globals.SKYPIAX_INTERFACES[interface_id]); - while (globals.SKYPIAX_INTERFACES[interface_id].AsteriskHandlesAst. + while (globals.SKYPIAX_INTERFACES[interface_id].SkypiaxHandles. api_connected == 0) { switch_sleep(1000); } @@ -978,30 +978,30 @@ if (globals.SKYPIAX_INTERFACES[interface_id].skypiax_do_controldev_thread_thread) { #ifdef WIN32 - switch_file_write(p->AsteriskHandlesAst.fdesc[1], "sciutati", &howmany); // let's the controldev_thread die + switch_file_write(p->SkypiaxHandles.fdesc[1], "sciutati", &howmany); // let's the controldev_thread die #else /* WIN32 */ - howmany = write(p->AsteriskHandlesAst.fdesc[1], "sciutati", howmany); + howmany = write(p->SkypiaxHandles.fdesc[1], "sciutati", howmany); #endif /* WIN32 */ } if (globals.SKYPIAX_INTERFACES[interface_id].skypiax_do_skype_thread_thread) { #ifdef WIN32 - if (SendMessage(p->AsteriskHandlesAst.win32_hInit_MainWindowHandle, WM_DESTROY, 0, 0) == FALSE) { // let's the do_skype_thread die + if (SendMessage(p->SkypiaxHandles.win32_hInit_MainWindowHandle, WM_DESTROY, 0, 0) == FALSE) { // let's the do_skype_thread die ERRORA("WHY FALSE HERE? %d\n", SKYPIAX_P_LOG, GetLastError()); } #else XEvent e; Atom atom1 = - XInternAtom(p->AsteriskHandlesAst.disp, "SKYPECONTROLAPI_MESSAGE_BEGIN", False); + XInternAtom(p->SkypiaxHandles.disp, "SKYPECONTROLAPI_MESSAGE_BEGIN", False); memset(&e, 0, sizeof(e)); e.xclient.type = ClientMessage; e.xclient.message_type = atom1; /* leading message */ - e.xclient.display = p->AsteriskHandlesAst.disp; - e.xclient.window = p->AsteriskHandlesAst.skype_win; + e.xclient.display = p->SkypiaxHandles.disp; + e.xclient.window = p->SkypiaxHandles.skype_win; e.xclient.format = 8; - XSendEvent(p->AsteriskHandlesAst.disp, p->AsteriskHandlesAst.win, False, 0, &e); - XSync(p->AsteriskHandlesAst.disp, False); + XSendEvent(p->SkypiaxHandles.disp, p->SkypiaxHandles.win, False, 0, &e); + XSync(p->SkypiaxHandles.disp, False); #endif } while (x) { Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax.h ============================================================================== --- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax.h (original) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax.h Sun Jan 11 03:08:36 2009 @@ -132,7 +132,7 @@ #define SKYPIAX_MAX_INTERFACES 64 #ifndef WIN32 -struct AsteriskHandles { +struct SkypiaxHandles { Window skype_win; Display *disp; Window win; @@ -141,7 +141,7 @@ }; #else //WIN32 -struct AsteriskHandles { +struct SkypiaxHandles { HWND win32_hInit_MainWindowHandle; HWND win32_hGlobal_SkypeAPIWindowHandle; HINSTANCE win32_hInit_ProcessHandle; @@ -171,7 +171,7 @@ int tcp_cli_port; int tcp_srv_port; #endif - struct AsteriskHandles AsteriskHandlesAst; + struct SkypiaxHandles SkypiaxHandles; int interface_state; /*!< \brief 'state' of the interface (channel) */ char language[80]; /*!< \brief default Asterisk dialplan language for this interface */ Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c Sun Jan 11 03:08:36 2009 @@ -567,11 +567,11 @@ break; case WM_DESTROY: NOTICA("got DESTROY\n", SKYPIAX_P_LOG); - p->AsteriskHandlesAst.win32_hInit_MainWindowHandle = NULL; + p->SkypiaxHandles.win32_hInit_MainWindowHandle = NULL; PostQuitMessage(0); break; case WM_COPYDATA: - if (p->AsteriskHandlesAst.win32_hGlobal_SkypeAPIWindowHandle == (HWND) uiParam) { + if (p->SkypiaxHandles.win32_hGlobal_SkypeAPIWindowHandle == (HWND) uiParam) { unsigned int howmany; char msg_from_skype[2048]; @@ -582,21 +582,21 @@ sizeof(msg_from_skype) - 2); howmany = strlen(msg_from_skype) + 1; - switch_file_write(p->AsteriskHandlesAst.fdesc[1], msg_from_skype, &howmany); + switch_file_write(p->SkypiaxHandles.fdesc[1], msg_from_skype, &howmany); //NOTICA("From Skype API: %s\n", SKYPIAX_P_LOG, (const char *) poCopyData->lpData); lReturnCode = 1; } break; default: - if (p && p->AsteriskHandlesAst.win32_uiGlobal_MsgID_SkypeControlAPIAttach) { - if (uiMessage == p->AsteriskHandlesAst.win32_uiGlobal_MsgID_SkypeControlAPIAttach) { + if (p && p->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIAttach) { + if (uiMessage == p->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIAttach) { switch (ulParam) { case SKYPECONTROLAPI_ATTACH_SUCCESS: - if (!p->AsteriskHandlesAst.api_connected) { + if (!p->SkypiaxHandles.api_connected) { NOTICA("\n\n\tConnected to Skype API!\n", SKYPIAX_P_LOG); - p->AsteriskHandlesAst.win32_hGlobal_SkypeAPIWindowHandle = (HWND) uiParam; - p->AsteriskHandlesAst.win32_hGlobal_SkypeAPIWindowHandle = - p->AsteriskHandlesAst.win32_hGlobal_SkypeAPIWindowHandle; + p->SkypiaxHandles.win32_hGlobal_SkypeAPIWindowHandle = (HWND) uiParam; + p->SkypiaxHandles.win32_hGlobal_SkypeAPIWindowHandle = + p->SkypiaxHandles.win32_hGlobal_SkypeAPIWindowHandle; } break; case SKYPECONTROLAPI_ATTACH_PENDING_AUTHORIZATION: @@ -604,11 +604,11 @@ ("\n\n\tIf I do not (almost) immediately connect to Skype API,\n\tplease give the Skype client authorization to be connected \n\tby Asterisk and to not ask you again.\n\n", SKYPIAX_P_LOG); switch_sleep(5000); - if (!p->AsteriskHandlesAst.api_connected) { + if (!p->SkypiaxHandles.api_connected) { SendMessage(HWND_BROADCAST, - p->AsteriskHandlesAst. + p->SkypiaxHandles. win32_uiGlobal_MsgID_SkypeControlAPIDiscover, - (WPARAM) p->AsteriskHandlesAst.win32_hInit_MainWindowHandle, 0); + (WPARAM) p->SkypiaxHandles.win32_hInit_MainWindowHandle, 0); } break; case SKYPECONTROLAPI_ATTACH_REFUSED: @@ -620,11 +620,11 @@ case SKYPECONTROLAPI_ATTACH_API_AVAILABLE: DEBUGA_SKYPE("Skype API available\n", SKYPIAX_P_LOG); switch_sleep(5000); - if (!p->AsteriskHandlesAst.api_connected) { + if (!p->SkypiaxHandles.api_connected) { SendMessage(HWND_BROADCAST, - p->AsteriskHandlesAst. + p->SkypiaxHandles. win32_uiGlobal_MsgID_SkypeControlAPIDiscover, - (WPARAM) p->AsteriskHandlesAst.win32_hInit_MainWindowHandle, 0); + (WPARAM) p->SkypiaxHandles.win32_hInit_MainWindowHandle, 0); } break; default: @@ -651,26 +651,26 @@ fReturnStatus = 0; lUUIDResult = UuidCreate(&oUUID); - p->AsteriskHandlesAst.win32_hInit_ProcessHandle = + p->SkypiaxHandles.win32_hInit_ProcessHandle = (HINSTANCE) OpenProcess(PROCESS_DUP_HANDLE, FALSE, GetCurrentProcessId()); - if (p->AsteriskHandlesAst.win32_hInit_ProcessHandle != NULL + if (p->SkypiaxHandles.win32_hInit_ProcessHandle != NULL && (lUUIDResult == RPC_S_OK || lUUIDResult == RPC_S_UUID_LOCAL_ONLY)) { if (UuidToString(&oUUID, &paucUUIDString) == RPC_S_OK) { WNDCLASS oWindowClass; - strcpy(p->AsteriskHandlesAst.win32_acInit_WindowClassName, "Skype-API-Skypiax-"); - strcat(p->AsteriskHandlesAst.win32_acInit_WindowClassName, (char *) paucUUIDString); + strcpy(p->SkypiaxHandles.win32_acInit_WindowClassName, "Skype-API-Skypiax-"); + strcat(p->SkypiaxHandles.win32_acInit_WindowClassName, (char *) paucUUIDString); oWindowClass.style = CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS; oWindowClass.lpfnWndProc = (WNDPROC) & skypiax_skype_present; oWindowClass.cbClsExtra = 0; oWindowClass.cbWndExtra = 0; - oWindowClass.hInstance = p->AsteriskHandlesAst.win32_hInit_ProcessHandle; + oWindowClass.hInstance = p->SkypiaxHandles.win32_hInit_ProcessHandle; oWindowClass.hIcon = NULL; oWindowClass.hCursor = NULL; oWindowClass.hbrBackground = NULL; oWindowClass.lpszMenuName = NULL; - oWindowClass.lpszClassName = p->AsteriskHandlesAst.win32_acInit_WindowClassName; + oWindowClass.lpszClassName = p->SkypiaxHandles.win32_acInit_WindowClassName; if (RegisterClass(&oWindowClass) != 0) fReturnStatus = 1; @@ -679,34 +679,34 @@ } } if (fReturnStatus == 0) - CloseHandle(p->AsteriskHandlesAst.win32_hInit_ProcessHandle), - p->AsteriskHandlesAst.win32_hInit_ProcessHandle = NULL; + CloseHandle(p->SkypiaxHandles.win32_hInit_ProcessHandle), + p->SkypiaxHandles.win32_hInit_ProcessHandle = NULL; return (fReturnStatus); } void win32_DeInitialize_DestroyWindowClass(struct skypiax_interface *p) { - UnregisterClass(p->AsteriskHandlesAst.win32_acInit_WindowClassName, - p->AsteriskHandlesAst.win32_hInit_ProcessHandle); - CloseHandle(p->AsteriskHandlesAst.win32_hInit_ProcessHandle), - p->AsteriskHandlesAst.win32_hInit_ProcessHandle = NULL; + UnregisterClass(p->SkypiaxHandles.win32_acInit_WindowClassName, + p->SkypiaxHandles.win32_hInit_ProcessHandle); + CloseHandle(p->SkypiaxHandles.win32_hInit_ProcessHandle), + p->SkypiaxHandles.win32_hInit_ProcessHandle = NULL; } int win32_Initialize_CreateMainWindow(struct skypiax_interface *p) { - p->AsteriskHandlesAst.win32_hInit_MainWindowHandle = + p->SkypiaxHandles.win32_hInit_MainWindowHandle = CreateWindowEx(WS_EX_APPWINDOW | WS_EX_WINDOWEDGE, - p->AsteriskHandlesAst.win32_acInit_WindowClassName, "", + p->SkypiaxHandles.win32_acInit_WindowClassName, "", WS_BORDER | WS_SYSMENU | WS_MINIMIZEBOX, CW_USEDEFAULT, CW_USEDEFAULT, - 128, 128, NULL, 0, p->AsteriskHandlesAst.win32_hInit_ProcessHandle, p); - return (p->AsteriskHandlesAst.win32_hInit_MainWindowHandle != NULL ? 1 : 0); + 128, 128, NULL, 0, p->SkypiaxHandles.win32_hInit_ProcessHandle, p); + return (p->SkypiaxHandles.win32_hInit_MainWindowHandle != NULL ? 1 : 0); } void win32_DeInitialize_DestroyMainWindow(struct skypiax_interface *p) { - if (p->AsteriskHandlesAst.win32_hInit_MainWindowHandle != NULL) - DestroyWindow(p->AsteriskHandlesAst.win32_hInit_MainWindowHandle), - p->AsteriskHandlesAst.win32_hInit_MainWindowHandle = NULL; + if (p->SkypiaxHandles.win32_hInit_MainWindowHandle != NULL) + DestroyWindow(p->SkypiaxHandles.win32_hInit_MainWindowHandle), + p->SkypiaxHandles.win32_hInit_MainWindowHandle = NULL; } DWORD win32_dwThreadId; @@ -725,25 +725,25 @@ struct skypiax_interface *p; p = obj; - switch_file_pipe_create(&p->AsteriskHandlesAst.fdesc[0], - &p->AsteriskHandlesAst.fdesc[1], skypiax_module_pool); - p->AsteriskHandlesAst.win32_uiGlobal_MsgID_SkypeControlAPIAttach = + switch_file_pipe_create(&p->SkypiaxHandles.fdesc[0], + &p->SkypiaxHandles.fdesc[1], skypiax_module_pool); + p->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIAttach = RegisterWindowMessage("SkypeControlAPIAttach"); - p->AsteriskHandlesAst.win32_uiGlobal_MsgID_SkypeControlAPIDiscover = + p->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIDiscover = RegisterWindowMessage("SkypeControlAPIDiscover"); switch_sleep(2000000); - if (p->AsteriskHandlesAst.win32_uiGlobal_MsgID_SkypeControlAPIAttach != 0 - && p->AsteriskHandlesAst.win32_uiGlobal_MsgID_SkypeControlAPIDiscover != 0) { + if (p->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIAttach != 0 + && p->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIDiscover != 0) { if (win32_Initialize_CreateWindowClass(p)) { if (win32_Initialize_CreateMainWindow(p)) { if (SendMessage (HWND_BROADCAST, - p->AsteriskHandlesAst.win32_uiGlobal_MsgID_SkypeControlAPIDiscover, - (WPARAM) p->AsteriskHandlesAst.win32_hInit_MainWindowHandle, 0) != 0) { - p->AsteriskHandlesAst.win32_hInit_MainWindowHandle = - p->AsteriskHandlesAst.win32_hInit_MainWindowHandle; + p->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIDiscover, + (WPARAM) p->SkypiaxHandles.win32_hInit_MainWindowHandle, 0) != 0) { + p->SkypiaxHandles.win32_hInit_MainWindowHandle = + p->SkypiaxHandles.win32_hInit_MainWindowHandle; while (1) { MSG oMessage; if (!running) @@ -766,7 +766,7 @@ } #else /* NOT WIN32 */ -int skypiax_skype_send_message(struct AsteriskHandles *AsteriskHandlesAst, +int skypiax_skype_send_message(struct SkypiaxHandles *SkypiaxHandles, const char *message_P) { @@ -774,9 +774,9 @@ Display *disp; Window handle_P; - w_P = AsteriskHandlesAst->skype_win; - disp = AsteriskHandlesAst->disp; - handle_P = AsteriskHandlesAst->win; + w_P = SkypiaxHandles->skype_win; + disp = SkypiaxHandles->disp; + handle_P = SkypiaxHandles->win; Atom atom1 = XInternAtom(disp, "SKYPECONTROLAPI_MESSAGE_BEGIN", False); Atom atom2 = XInternAtom(disp, "SKYPECONTROLAPI_MESSAGE", False); @@ -808,9 +808,9 @@ return 1; } -int skypiax_skype_present(struct AsteriskHandles *AsteriskHandlesAst) +int skypiax_skype_present(struct SkypiaxHandles *SkypiaxHandles) { - Atom skype_inst = XInternAtom(AsteriskHandlesAst->disp, "_SKYPE_INSTANCE", True); + Atom skype_inst = XInternAtom(SkypiaxHandles->disp, "_SKYPE_INSTANCE", True); Atom type_ret; int format_ret; @@ -822,22 +822,22 @@ //XLockDisplay(disp); status = - XGetWindowProperty(AsteriskHandlesAst->disp, - DefaultRootWindow(AsteriskHandlesAst->disp), skype_inst, 0, 1, + XGetWindowProperty(SkypiaxHandles->disp, + DefaultRootWindow(SkypiaxHandles->disp), skype_inst, 0, 1, False, XA_WINDOW, &type_ret, &format_ret, &nitems_ret, &bytes_after_ret, &prop); //XUnlockDisplay(disp); /* sanity check */ if (status != Success || format_ret != 32 || nitems_ret != 1) { - AsteriskHandlesAst->skype_win = (Window) - 1; + SkypiaxHandles->skype_win = (Window) - 1; DEBUGA_SKYPE("Skype instance not found\n", SKYPIAX_P_LOG); return 0; } - AsteriskHandlesAst->skype_win = *(const unsigned long *) prop & 0xffffffff; + SkypiaxHandles->skype_win = *(const unsigned long *) prop & 0xffffffff; DEBUGA_SKYPE("Skype instance found with id #%d\n", SKYPIAX_P_LOG, - (unsigned int) AsteriskHandlesAst->skype_win); + (unsigned int) SkypiaxHandles->skype_win); return 1; } @@ -866,7 +866,7 @@ { struct skypiax_interface *p; - struct AsteriskHandles *AsteriskHandlesAst; + struct SkypiaxHandles *SkypiaxHandles; char buf[512]; Display *disp = NULL; Window root = -1; @@ -875,11 +875,11 @@ p = obj; DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); - if (pipe(p->AsteriskHandlesAst.fdesc)) { - fcntl(p->AsteriskHandlesAst.fdesc[0], F_SETFL, O_NONBLOCK); - fcntl(p->AsteriskHandlesAst.fdesc[1], F_SETFL, O_NONBLOCK); + if (pipe(p->SkypiaxHandles.fdesc)) { + fcntl(p->SkypiaxHandles.fdesc[0], F_SETFL, O_NONBLOCK); + fcntl(p->SkypiaxHandles.fdesc[1], F_SETFL, O_NONBLOCK); } - AsteriskHandlesAst = &p->AsteriskHandlesAst; + SkypiaxHandles = &p->SkypiaxHandles; disp = XOpenDisplay(p->X11_display); if (!disp) { ERRORA("Cannot open X Display '%s', exiting skype thread\n", SKYPIAX_P_LOG, @@ -895,9 +895,9 @@ //FIXME pthread_cleanup_push(skypiax_skype_clean_disp, &xfd); - AsteriskHandlesAst->disp = disp; + SkypiaxHandles->disp = disp; - if (skypiax_skype_present(AsteriskHandlesAst)) { + if (skypiax_skype_present(SkypiaxHandles)) { root = DefaultRootWindow(disp); win = XCreateSimpleWindow(disp, root, 0, 0, 1, 1, 0, @@ -905,11 +905,11 @@ DefaultScreen (disp))); - AsteriskHandlesAst->win = win; + SkypiaxHandles->win = win; snprintf(buf, 512, "NAME skypiax"); - if (!skypiax_skype_send_message(AsteriskHandlesAst, buf)) { + if (!skypiax_skype_send_message(SkypiaxHandles, buf)) { ERRORA ("Sending message failed - probably Skype crashed. Please run/restart Skype manually and launch Skypiax again\n", SKYPIAX_P_LOG); @@ -918,7 +918,7 @@ } snprintf(buf, 512, "PROTOCOL 6"); - if (!skypiax_skype_send_message(AsteriskHandlesAst, buf)) { + if (!skypiax_skype_send_message(SkypiaxHandles, buf)) { ERRORA ("Sending message failed - probably Skype crashed. Please run/restart Skype manually and launch Skypiax again\n", SKYPIAX_P_LOG); @@ -957,7 +957,7 @@ howmany = strlen(b) + 1; - howmany = write(AsteriskHandlesAst->fdesc[1], b, howmany); + howmany = write(SkypiaxHandles->fdesc[1], b, howmany); memset(buffer, '\0', 17000); } @@ -984,7 +984,7 @@ static char acInputRow[1024]; COPYDATASTRUCT oCopyData; #else /* WIN32 */ - struct AsteriskHandles *AsteriskHandlesAst; + struct SkypiaxHandles *SkypiaxHandles; #endif /* WIN32 */ DEBUGA_SKYPE("SENDING: |||%s||||\n", SKYPIAX_P_LOG, msg_to_skype); @@ -1003,8 +1003,8 @@ oCopyData.cbData = strlen(acInputRow) + 1; if (oCopyData.cbData != 1) { if (SendMessage - (p->AsteriskHandlesAst.win32_hGlobal_SkypeAPIWindowHandle, WM_COPYDATA, - (WPARAM) p->AsteriskHandlesAst.win32_hInit_MainWindowHandle, + (p->SkypiaxHandles.win32_hGlobal_SkypeAPIWindowHandle, WM_COPYDATA, + (WPARAM) p->SkypiaxHandles.win32_hInit_MainWindowHandle, (LPARAM) & oCopyData) == FALSE) { ERRORA ("Sending message failed - probably Skype crashed.\n\nPlease shutdown Skypiax (Asterisk), then restart Skype from the menu, then launch Skypiax and try again.\n", @@ -1022,9 +1022,9 @@ if (option_debug > 100) { DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); } - AsteriskHandlesAst = &p->AsteriskHandlesAst; + SkypiaxHandles = &p->SkypiaxHandles; - if (!skypiax_skype_send_message(AsteriskHandlesAst, msg_to_skype)) { + if (!skypiax_skype_send_message(SkypiaxHandles, msg_to_skype)) { ERRORA ("Sending message failed - probably Skype crashed.\n\nPlease shutdown Skypiax (Asterisk), then restart Skype from the menu, then launch Skypiax and try again.\n", SKYPIAX_P_LOG); @@ -1074,7 +1074,7 @@ #ifdef WIN32 rt = 1; #else /* WIN32 */ - fdselect = p->AsteriskHandlesAst.fdesc[0]; + fdselect = p->SkypiaxHandles.fdesc[0]; FD_ZERO(&fs); FD_SET(fdselect, &fs); to.tv_usec = 2000000; //500 msec @@ -1083,13 +1083,13 @@ #endif /* WIN32 */ if (rt > 0) { - if (p->AsteriskHandlesAst.fdesc[0]) { + if (p->SkypiaxHandles.fdesc[0]) { howmany = sizeof(read_from_pipe); #ifdef WIN32 - switch_file_read(p->AsteriskHandlesAst.fdesc[0], read_from_pipe, &howmany); + switch_file_read(p->SkypiaxHandles.fdesc[0], read_from_pipe, &howmany); #else /* WIN32 */ howmany = - read(p->AsteriskHandlesAst.fdesc[0], read_from_pipe, sizeof(read_from_pipe)); + read(p->SkypiaxHandles.fdesc[0], read_from_pipe, sizeof(read_from_pipe)); #endif /* WIN32 */ a = 0; @@ -1184,7 +1184,7 @@ strncpy(id, where, sizeof(id) - 1); if (!strcasecmp(id, p->skype_user)) { - p->AsteriskHandlesAst.api_connected = 1; + p->SkypiaxHandles.api_connected = 1; //DEBUGA_SKYPE ("Skype MSG: messaggio: %s, currentuserhandle: %s, cuh: %s, skype_user: %s!\n", SKYPIAX_P_LOG, messaggio, obj, id, p->skype_user); } } From gmaruzz at freeswitch.org Sun Jan 11 04:13:49 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Sun, 11 Jan 2009 06:13:49 -0600 Subject: [Freeswitch-branches] [commit] r11119 - freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax Message-ID: Author: gmaruzz Date: Sun Jan 11 06:13:49 2009 New Revision: 11119 Log: skypiax: no more skypiax_interface pointers, only private_t pointers Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/mod_skypiax.c freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax.h freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.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 Sun Jan 11 06:13:49 2009 @@ -19,7 +19,7 @@ int fd; int calls; char hold_music[256]; - skypiax_interface_t SKYPIAX_INTERFACES[SKYPIAX_MAX_INTERFACES]; + private_t SKYPIAX_INTERFACES[SKYPIAX_MAX_INTERFACES]; switch_mutex_t *mutex; } globals; @@ -56,7 +56,6 @@ static switch_status_t skypiax_codec(private_t * tech_pvt, int sample_rate, int codec_ms) { - skypiax_interface_t *p = NULL; if (switch_core_codec_init (&tech_pvt->read_codec, "L16", NULL, sample_rate, codec_ms, 1, SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE, NULL, @@ -84,8 +83,7 @@ } -void skypiax_tech_init(private_t * tech_pvt, switch_core_session_t * session, - skypiax_interface_t * p) +void skypiax_tech_init(private_t * tech_pvt, switch_core_session_t * session) { DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); @@ -97,13 +95,8 @@ switch_core_session_get_pool(session)); switch_core_session_set_private(session, tech_pvt); tech_pvt->session = session; - if (p) { - tech_pvt->p = p; - p->tech_pvt = tech_pvt; - - } if (skypiax_codec(tech_pvt, SAMPLERATE_SKYPIAX, 20) != SWITCH_STATUS_SUCCESS) { - ERRORA("skypiax_docec FAILED\n", SKYPIAX_P_LOG); + ERRORA("skypiax_codec FAILED\n", SKYPIAX_P_LOG); } else { DEBUGA_SKYPE("skypiax_codec SUCCESS\n", SKYPIAX_P_LOG); } @@ -120,7 +113,6 @@ { switch_channel_t *channel; private_t *tech_pvt = NULL; - skypiax_interface_t *p = NULL; tech_pvt = switch_core_session_get_private(session); assert(tech_pvt != NULL); @@ -146,7 +138,6 @@ { switch_channel_t *channel = NULL; private_t *tech_pvt = NULL; - skypiax_interface_t *p = NULL; char msg_to_skype[256]; channel = switch_core_session_get_channel(session); @@ -155,17 +146,16 @@ tech_pvt = switch_core_session_get_private(session); assert(tech_pvt != NULL); - p = tech_pvt->p; switch_clear_flag_locked(tech_pvt, TFLAG_IO); switch_clear_flag_locked(tech_pvt, TFLAG_VOICE); //switch_set_flag_locked(tech_pvt, TFLAG_HANGUP); - if (strlen(p->skype_call_id)) { + if (strlen(tech_pvt->skype_call_id)) { //switch_thread_cond_signal(tech_pvt->cond); - WARNINGA("hanging up skype call: %s\n", SKYPIAX_P_LOG, p->skype_call_id); - sprintf(msg_to_skype, "ALTER CALL %s HANGUP", p->skype_call_id); - skypiax_skype_write(p, msg_to_skype); + WARNINGA("hanging up skype call: %s\n", SKYPIAX_P_LOG, tech_pvt->skype_call_id); + sprintf(msg_to_skype, "ALTER CALL %s HANGUP", tech_pvt->skype_call_id); + skypiax_skype_write(tech_pvt, msg_to_skype); } if (tech_pvt->read_codec.implementation) { @@ -191,7 +181,6 @@ { switch_channel_t *channel = NULL; private_t *tech_pvt = NULL; - skypiax_interface_t *p = NULL; channel = switch_core_session_get_channel(session); assert(channel != NULL); @@ -209,7 +198,6 @@ switch_channel_t *channel = NULL; private_t *tech_pvt = NULL; - skypiax_interface_t *p = NULL; channel = switch_core_session_get_channel(session); assert(channel != NULL); @@ -226,7 +214,6 @@ { switch_channel_t *channel = NULL; private_t *tech_pvt = NULL; - skypiax_interface_t *p = NULL; channel = switch_core_session_get_channel(session); assert(channel != NULL); @@ -256,14 +243,14 @@ static switch_status_t channel_on_exchange_media(switch_core_session_t * session) { - skypiax_interface_t *p = NULL; + private_t *tech_pvt = NULL; DEBUGA_SKYPE("CHANNEL LOOPBACK\n", SKYPIAX_P_LOG); return SWITCH_STATUS_SUCCESS; } static switch_status_t channel_on_soft_execute(switch_core_session_t * session) { - skypiax_interface_t *p = NULL; + private_t *tech_pvt = NULL; DEBUGA_SKYPE("CHANNEL TRANSMIT\n", SKYPIAX_P_LOG); return SWITCH_STATUS_SUCCESS; } @@ -271,15 +258,12 @@ static switch_status_t channel_send_dtmf(switch_core_session_t * session, const switch_dtmf_t * dtmf) { - skypiax_interface_t *p = NULL; private_t *tech_pvt = switch_core_session_get_private(session); switch_assert(tech_pvt != NULL); - p = tech_pvt->p; - NOTICA("DTMF: %c\n", SKYPIAX_P_LOG, dtmf->digit); - skypiax_skype_senddigit(p, dtmf->digit); + skypiax_skype_senddigit(tech_pvt, dtmf->digit); return SWITCH_STATUS_SUCCESS; } @@ -291,7 +275,6 @@ switch_channel_t *channel = NULL; private_t *tech_pvt = NULL; switch_byte_t *data; - skypiax_interface_t *p = NULL; channel = switch_core_session_get_channel(session); assert(channel != NULL); @@ -362,7 +345,6 @@ switch_channel_t *channel = NULL; private_t *tech_pvt = NULL; unsigned int sent; - struct skypiax_interface *p = NULL; channel = switch_core_session_get_channel(session); assert(channel != NULL); @@ -370,8 +352,6 @@ tech_pvt = switch_core_session_get_private(session); assert(tech_pvt != NULL); - p = tech_pvt->p; - assert(p != NULL); if (!switch_test_flag(tech_pvt, TFLAG_IO)) { ERRORA("CIAPA \n", SKYPIAX_P_LOG); @@ -385,9 +365,9 @@ sent = frame->datalen; #ifdef WIN32 - switch_file_write(p->audioskypepipe[1], frame->data, &sent); + switch_file_write(tech_pvt->audioskypepipe[1], frame->data, &sent); #else /* WIN32 */ - sent = write(p->audioskypepipe[1], frame->data, sent); + sent = write(tech_pvt->audioskypepipe[1], frame->data, sent); #endif /* WIN32 */ if (sent != frame->datalen && sent != -1) { DEBUGA_SKYPE("CLI PIPE write %d\n", SKYPIAX_P_LOG, sent); @@ -400,7 +380,6 @@ { private_t *tech_pvt; switch_channel_t *channel = NULL; - struct skypiax_interface *p; channel = switch_core_session_get_channel(session); assert(channel != NULL); @@ -408,7 +387,6 @@ tech_pvt = switch_core_session_get_private(session); assert(tech_pvt != NULL); - p = tech_pvt->p; DEBUGA_SKYPE("ANSWERED! \n", SKYPIAX_P_LOG); @@ -420,7 +398,6 @@ { switch_channel_t *channel; private_t *tech_pvt; - struct skypiax_interface *p; channel = switch_core_session_get_channel(session); assert(channel != NULL); @@ -428,7 +405,6 @@ tech_pvt = (private_t *) switch_core_session_get_private(session); assert(tech_pvt != NULL); - p = tech_pvt->p; switch (msg->message_id) { case SWITCH_MESSAGE_INDICATE_ANSWER: @@ -452,7 +428,6 @@ { struct private_object *tech_pvt = switch_core_session_get_private(session); char *body = switch_event_get_body(event); - skypiax_interface_t *p = NULL; switch_assert(tech_pvt != NULL); if (!body) { @@ -495,7 +470,6 @@ private_t *tech_pvt; switch_channel_t *channel; switch_caller_profile_t *caller_profile; - skypiax_interface_t *p = NULL; switch_core_session_add_stream(*new_session, NULL); @@ -522,8 +496,8 @@ DEBUGA_SKYPE("globals.SKYPIAX_INTERFACES[%d].name=|||%s|||?\n", SKYPIAX_P_LOG, i, globals.SKYPIAX_INTERFACES[i].name); - tech_pvt->p = &globals.SKYPIAX_INTERFACES[i]; //FIXME - globals.SKYPIAX_INTERFACES[i].tech_pvt = tech_pvt; //FIXME + tech_pvt = &globals.SKYPIAX_INTERFACES[i]; //FIXME + //globals.SKYPIAX_INTERFACES[i].tech_pvt = tech_pvt; //FIXME found = 1; break; } @@ -544,7 +518,7 @@ } channel = switch_core_session_get_channel(*new_session); - skypiax_tech_init(tech_pvt, *new_session, NULL); + skypiax_tech_init(tech_pvt, *new_session); } else { ERRORA("Hey where is my memory pool?\n", SKYPIAX_P_LOG); switch_core_session_destroy(new_session); @@ -555,7 +529,7 @@ char name[128]; snprintf(name, sizeof(name), "skypiax/%s", outbound_profile->destination_number); - //snprintf(name, sizeof(name), "skypiax/%s", p->name); + //snprintf(name, sizeof(name), "skypiax/%s", tech_pvt->name); switch_channel_set_name(channel, name); NOTICA("outbound_profile->destination_number=|||%s|||\n", SKYPIAX_P_LOG, outbound_profile->destination_number); @@ -575,7 +549,7 @@ return SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER; } - skypiax_skype_call(tech_pvt->p, caller_profile->destination_number, 30, *new_session); + skypiax_skype_call(tech_pvt, caller_profile->destination_number, 30, *new_session); switch_channel_set_flag(channel, CF_OUTBOUND); switch_set_flag_locked(tech_pvt, TFLAG_OUTBOUND); @@ -593,27 +567,26 @@ static void *SWITCH_THREAD_FUNC skypiax_do_controldev_thread(switch_thread_t * thread, void *obj) { - struct skypiax_interface *p = obj; + private_t *tech_pvt = obj; int res; int forever = 1; DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); DEBUGA_SKYPE("In skypiax_do_controldev_thread: started, p=%p\n", SKYPIAX_P_LOG, - (void *) p); + (void *) tech_pvt); while (forever) { if (!running) break; - res = skypiax_skype_read(p); + res = skypiax_skype_read(tech_pvt); if (res == CALLFLOW_INCOMING_HANGUP) { switch_core_session_t *session = NULL; - private_t *tech_pvt = NULL; + //private_t *tech_pvt = NULL; switch_channel_t *channel = NULL; DEBUGA_SKYPE("skype call ended\n", SKYPIAX_P_LOG); - tech_pvt = p->tech_pvt; if (tech_pvt) { session = tech_pvt->session; @@ -630,7 +603,7 @@ } else { ERRORA("no tech_pvt?\n", SKYPIAX_P_LOG); } - p->interface_state = SKYPIAX_STATE_DOWN; + tech_pvt->interface_state = SKYPIAX_STATE_DOWN; tech_pvt->session = NULL; //FIXME } } @@ -642,7 +615,7 @@ { char *cf = "skypiax.conf"; switch_xml_t cfg, xml, global_settings, param, interfaces, myinterface; - skypiax_interface_t *p = NULL; + private_t *tech_pvt = NULL; switch_mutex_init(&globals.mutex, SWITCH_MUTEX_NESTED, skypiax_module_pool); if (!(xml = switch_xml_open_cfg(cf, &cfg, NULL))) { @@ -819,7 +792,7 @@ #endif /* WIN32 */ if (interface_id && interface_id < SKYPIAX_MAX_INTERFACES) { - struct skypiax_interface newconf; + private_t newconf; switch_threadattr_t *do_skype_thd_attr = NULL; switch_threadattr_t *skypiax_do_controldev_thread_thd_attr = NULL; @@ -943,7 +916,7 @@ SWITCH_MODULE_LOAD_FUNCTION(mod_skypiax_load) { - struct skypiax_interface *p = NULL; //for logging + private_t *tech_pvt = NULL; //for logging skypiax_module_pool = pool; @@ -966,7 +939,7 @@ SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_skypiax_shutdown) { int x = 100; - struct skypiax_interface *p = NULL; + private_t *tech_pvt = NULL; switch_status_t status; unsigned int howmany = 8; int interface_id; @@ -974,34 +947,34 @@ running = 0; for (interface_id = 0; interface_id < SKYPIAX_MAX_INTERFACES; interface_id++) { - p = &globals.SKYPIAX_INTERFACES[interface_id]; + tech_pvt = &globals.SKYPIAX_INTERFACES[interface_id]; if (globals.SKYPIAX_INTERFACES[interface_id].skypiax_do_controldev_thread_thread) { #ifdef WIN32 - switch_file_write(p->SkypiaxHandles.fdesc[1], "sciutati", &howmany); // let's the controldev_thread die + switch_file_write(tech_pvt->SkypiaxHandles.fdesc[1], "sciutati", &howmany); // let's the controldev_thread die #else /* WIN32 */ - howmany = write(p->SkypiaxHandles.fdesc[1], "sciutati", howmany); + howmany = write(tech_pvt->SkypiaxHandles.fdesc[1], "sciutati", howmany); #endif /* WIN32 */ } if (globals.SKYPIAX_INTERFACES[interface_id].skypiax_do_skype_thread_thread) { #ifdef WIN32 - if (SendMessage(p->SkypiaxHandles.win32_hInit_MainWindowHandle, WM_DESTROY, 0, 0) == FALSE) { // let's the do_skype_thread die + if (SendMessage(tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle, WM_DESTROY, 0, 0) == FALSE) { // let's the do_skype_thread die ERRORA("WHY FALSE HERE? %d\n", SKYPIAX_P_LOG, GetLastError()); } #else XEvent e; Atom atom1 = - XInternAtom(p->SkypiaxHandles.disp, "SKYPECONTROLAPI_MESSAGE_BEGIN", False); + XInternAtom(tech_pvt->SkypiaxHandles.disp, "SKYPECONTROLAPI_MESSAGE_BEGIN", False); memset(&e, 0, sizeof(e)); e.xclient.type = ClientMessage; e.xclient.message_type = atom1; /* leading message */ - e.xclient.display = p->SkypiaxHandles.disp; - e.xclient.window = p->SkypiaxHandles.skype_win; + e.xclient.display = tech_pvt->SkypiaxHandles.disp; + e.xclient.window = tech_pvt->SkypiaxHandles.skype_win; e.xclient.format = 8; - XSendEvent(p->SkypiaxHandles.disp, p->SkypiaxHandles.win, False, 0, &e); - XSync(p->SkypiaxHandles.disp, False); + XSendEvent(tech_pvt->SkypiaxHandles.disp, tech_pvt->SkypiaxHandles.win, False, 0, &e); + XSync(tech_pvt->SkypiaxHandles.disp, False); #endif } while (x) { Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax.h ============================================================================== --- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax.h (original) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax.h Sun Jan 11 06:13:49 2009 @@ -79,7 +79,7 @@ #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_P_LOG NULL, (unsigned long)55, __LINE__, tech_pvt ? tech_pvt->name ? tech_pvt->name : "none" : "none", -1, tech_pvt ? tech_pvt->interface_state : -1, tech_pvt ? tech_pvt->skype_callflow : -1 /*********************************/ #define SKYPIAX_CAUSE_NORMAL 1 @@ -154,7 +154,8 @@ #endif //WIN32 -struct skypiax_interface { +#if 0 +private_t { char interface_id[80]; char name[80]; char dialplan[80]; @@ -221,7 +222,8 @@ char skype_password[256]; }; -typedef struct skypiax_interface skypiax_interface_t; +typedef private_t private_t; +#endif struct private_object { unsigned int flags; @@ -233,20 +235,88 @@ switch_caller_profile_t *caller_profile; switch_mutex_t *mutex; switch_mutex_t *flag_mutex; - skypiax_interface_t *p; + //private_t *p; //switch_thread_cond_t *cond; + + 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]; +#ifdef WIN32 + unsigned short tcp_cli_port; + unsigned short tcp_srv_port; +#else + int tcp_cli_port; + int tcp_srv_port; +#endif + struct SkypiaxHandles SkypiaxHandles; + + 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; +#ifdef WIN32 + switch_file_t *audiopipe[2]; + switch_file_t *audioskypepipe[2]; +#else /* WIN32 */ + int audiopipe[2]; + int audioskypepipe[2]; +#endif /* WIN32 */ + switch_thread_t *tcp_srv_thread; + switch_thread_t *tcp_cli_thread; + switch_thread_t *skypiax_do_controldev_thread_thread; + switch_thread_t *skypiax_do_skype_thread_thread; + short audiobuf[SAMPLES_PER_FRAME]; + 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; + char skype_user[256]; + char skype_password[256]; + + + + }; typedef struct private_object private_t; void *SWITCH_THREAD_FUNC do_skype_thread(switch_thread_t * thread, void *obj); -void skypiax_tech_init(private_t * tech_pvt, switch_core_session_t * session, - skypiax_interface_t * p); +void skypiax_tech_init(private_t * tech_pvt, switch_core_session_t * session); switch_status_t skypiax_skypeaudio_read(private_t * tech_pvt); -int skypiax_skypeaudio_init(struct skypiax_interface *p); -int skypiax_skype_write(struct skypiax_interface *p, char *msg_to_skype); -int skypiax_skype_read(struct skypiax_interface *p); +int skypiax_skypeaudio_init(private_t *p); +int skypiax_skype_write(private_t *p, char *msg_to_skype); +int skypiax_skype_read(private_t *p); -int skypiax_skype_call(struct skypiax_interface *p, char *idest, int timeout, +int skypiax_skype_call(private_t *p, char *idest, int timeout, switch_core_session_t * session); -int skypiax_skype_senddigit(struct skypiax_interface *p, char digit); +int skypiax_skype_senddigit(private_t *p, char digit); Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c Sun Jan 11 06:13:49 2009 @@ -8,7 +8,7 @@ static void *SWITCH_THREAD_FUNC skypiax_do_tcp_srv_thread(switch_thread_t * thread, void *obj) { - struct skypiax_interface *p = obj; + private_t *tech_pvt = obj; int s; #ifdef WIN32 unsigned int len; @@ -40,7 +40,7 @@ memset(&my_addr, 0, sizeof(my_addr)); my_addr.sin_family = AF_INET; my_addr.sin_addr.s_addr = htonl(0x7f000001); /* use the localhost */ - my_addr.sin_port = htons(p->tcp_srv_port); + my_addr.sin_port = htons(tech_pvt->tcp_srv_port); if ((s = socket(AF_INET, SOCK_STREAM, 0)) < 0) { ERRORA("socket Error\n", SKYPIAX_P_LOG); @@ -66,9 +66,9 @@ DEBUGA_SKYPE("ACCEPTED\n", SKYPIAX_P_LOG); if (!running) break; - while (p->interface_state != SKYPIAX_STATE_DOWN - && (p->skype_callflow == CALLFLOW_STATUS_INPROGRESS - || p->skype_callflow == SKYPIAX_STATE_UP)) { + while (tech_pvt->interface_state != SKYPIAX_STATE_DOWN + && (tech_pvt->skype_callflow == CALLFLOW_STATUS_INPROGRESS + || tech_pvt->skype_callflow == SKYPIAX_STATE_UP)) { #ifdef WIN32 unsigned int fdselect; @@ -108,6 +108,8 @@ if ((SAMPLERATE_SKYPIAX - 8000) == 0) { + ERRORA("tech_pvt->audiopipe[0] = %d\n", SKYPIAX_P_LOG, tech_pvt->audiopipe[0]); + ERRORA("tech_pvt->audiopipe[1] = %d\n", SKYPIAX_P_LOG, tech_pvt->audiopipe[1]); if (len > 0) { a = 0; for (i = 0; i < len / sizeof(short); i++) { @@ -116,17 +118,17 @@ a++; } - if (!p->audiobuf_is_loaded) { + if (!tech_pvt->audiobuf_is_loaded) { for (i = 0; i < (len / sizeof(short)) / 2; i++) { - p->audiobuf[i] = srv_out[i]; + tech_pvt->audiobuf[i] = srv_out[i]; } - p->audiobuf_is_loaded = 1; + tech_pvt->audiobuf_is_loaded = 1; } else { unsigned int howmany; howmany = len / 2 / 2; for (i = 0; i < howmany; i++) - totalbuf[i] = p->audiobuf[i]; + totalbuf[i] = tech_pvt->audiobuf[i]; howmany = len / 2 / 2; for (a = 0; a < howmany; a++) { @@ -137,11 +139,11 @@ howmany = len; #ifdef WIN32 - switch_file_write(p->audiopipe[1], totalbuf, &howmany); + switch_file_write(tech_pvt->audiopipe[1], totalbuf, &howmany); #else /* WIN32 */ - howmany = write(p->audiopipe[1], totalbuf, howmany); + howmany = write(tech_pvt->audiopipe[1], totalbuf, howmany); #endif /* WIN32 */ - p->audiobuf_is_loaded = 0; + tech_pvt->audiobuf_is_loaded = 0; } } else if (len == 0) { @@ -154,38 +156,40 @@ } } else if (SAMPLERATE_SKYPIAX == 16000) { + //ERRORA("tech_pvt->audiopipe[0] = %d\n", SKYPIAX_P_LOG, tech_pvt->audiopipe[0]); + //ERRORA("tech_pvt->audiopipe[1] = %d\n", SKYPIAX_P_LOG, tech_pvt->audiopipe[1]); if (len > 0) { if (len == SAMPLES_PER_FRAME * sizeof(short)) { #ifdef WIN32 unsigned int howmany; howmany = len; - switch_file_write(p->audiopipe[1], srv_in, &howmany); + switch_file_write(tech_pvt->audiopipe[1], srv_in, &howmany); #else /* WIN32 */ - len = write(p->audiopipe[1], srv_in, len); + len = write(tech_pvt->audiopipe[1], srv_in, len); #endif /* WIN32 */ } else if (len == SAMPLES_PER_FRAME * sizeof(short) / 2) { - if (!p->audiobuf_is_loaded) { + if (!tech_pvt->audiobuf_is_loaded) { for (i = 0; i < (len / sizeof(short)); i++) { - p->audiobuf[i] = srv_in[i]; + tech_pvt->audiobuf[i] = srv_in[i]; } - p->audiobuf_is_loaded = 1; + tech_pvt->audiobuf_is_loaded = 1; } else { unsigned int howmany = SAMPLES_PER_FRAME * sizeof(short); for (i = 0; i < (len / sizeof(short)); i++) - totalbuf[i] = p->audiobuf[i]; + totalbuf[i] = tech_pvt->audiobuf[i]; for (a = 0; a < (len / sizeof(short)); a++) { totalbuf[i] = srv_in[a]; i++; } #ifdef WIN32 - switch_file_write(p->audiopipe[1], totalbuf, &howmany); + switch_file_write(tech_pvt->audiopipe[1], totalbuf, &howmany); #else /* WIN32 */ - howmany = write(p->audiopipe[1], totalbuf, howmany); + howmany = write(tech_pvt->audiopipe[1], totalbuf, howmany); #endif /* WIN32 */ - p->audiobuf_is_loaded = 0; + tech_pvt->audiobuf_is_loaded = 0; } } else { @@ -212,24 +216,24 @@ } #ifdef WIN32 kill_cli_size = SAMPLES_PER_FRAME * sizeof(short); - switch_file_write(p->audiopipe[1], kill_cli_buff, &kill_cli_size); + switch_file_write(tech_pvt->audiopipe[1], kill_cli_buff, &kill_cli_size); kill_cli_size = SAMPLES_PER_FRAME * sizeof(short); - switch_file_write(p->audioskypepipe[1], kill_cli_buff, &kill_cli_size); - p->interface_state = SKYPIAX_STATE_DOWN; + switch_file_write(tech_pvt->audioskypepipe[1], kill_cli_buff, &kill_cli_size); + tech_pvt->interface_state = SKYPIAX_STATE_DOWN; kill_cli_size = SAMPLES_PER_FRAME * sizeof(short); - switch_file_write(p->audiopipe[1], kill_cli_buff, &kill_cli_size); + switch_file_write(tech_pvt->audiopipe[1], kill_cli_buff, &kill_cli_size); kill_cli_size = SAMPLES_PER_FRAME * sizeof(short); - switch_file_write(p->audioskypepipe[1], kill_cli_buff, &kill_cli_size); + switch_file_write(tech_pvt->audioskypepipe[1], kill_cli_buff, &kill_cli_size); #else /* WIN32 */ kill_cli_size = SAMPLES_PER_FRAME * sizeof(short); - len = write(p->audiopipe[1], kill_cli_buff, kill_cli_size); + len = write(tech_pvt->audiopipe[1], kill_cli_buff, kill_cli_size); kill_cli_size = SAMPLES_PER_FRAME * sizeof(short); - len = write(p->audioskypepipe[1], kill_cli_buff, kill_cli_size); - p->interface_state = SKYPIAX_STATE_DOWN; + len = write(tech_pvt->audioskypepipe[1], kill_cli_buff, kill_cli_size); + tech_pvt->interface_state = SKYPIAX_STATE_DOWN; kill_cli_size = SAMPLES_PER_FRAME * sizeof(short); - len = write(p->audiopipe[1], kill_cli_buff, kill_cli_size); + len = write(tech_pvt->audiopipe[1], kill_cli_buff, kill_cli_size); kill_cli_size = SAMPLES_PER_FRAME * sizeof(short); - len = write(p->audioskypepipe[1], kill_cli_buff, kill_cli_size); + len = write(tech_pvt->audioskypepipe[1], kill_cli_buff, kill_cli_size); #endif /* WIN32 */ DEBUGA_SKYPE("Skype client GONE\n", SKYPIAX_P_LOG); #ifndef WIN32 @@ -255,7 +259,7 @@ static void *SWITCH_THREAD_FUNC skypiax_do_tcp_cli_thread(switch_thread_t * thread, void *obj) { - struct skypiax_interface *p = obj; + private_t *tech_pvt = obj; int s; struct sockaddr_in my_addr; struct sockaddr_in remote_addr; @@ -284,7 +288,7 @@ memset(&my_addr, 0, sizeof(my_addr)); my_addr.sin_family = AF_INET; my_addr.sin_addr.s_addr = htonl(0x7f000001); /* use the localhost */ - my_addr.sin_port = htons(p->tcp_cli_port); //FIXME configurable! + my_addr.sin_port = htons(tech_pvt->tcp_cli_port); //FIXME configurable! if ((s = socket(AF_INET, SOCK_STREAM, 0)) < 0) { ERRORA("socket Error\n", SKYPIAX_P_LOG); @@ -315,9 +319,9 @@ DEBUGA_SKYPE("ACCEPTED\n", SKYPIAX_P_LOG); if (!running) break; - while (p->interface_state != SKYPIAX_STATE_DOWN - && (p->skype_callflow == CALLFLOW_STATUS_INPROGRESS - || p->skype_callflow == SKYPIAX_STATE_UP)) { + while (tech_pvt->interface_state != SKYPIAX_STATE_DOWN + && (tech_pvt->skype_callflow == CALLFLOW_STATUS_INPROGRESS + || tech_pvt->skype_callflow == SKYPIAX_STATE_UP)) { #ifdef WIN32 unsigned int fdselect; #else @@ -332,7 +336,7 @@ #ifdef WIN32 fdselect = fd; //cannot select on audioskypepipe, let's select on socket write #else /* WIN32 */ - fdselect = p->audioskypepipe[0]; + fdselect = tech_pvt->audioskypepipe[0]; #endif /* WIN32 */ FD_ZERO(&fs); FD_SET(fdselect, &fs); @@ -348,9 +352,9 @@ if ((SAMPLERATE_SKYPIAX - 8000) == 0) { got = SAMPLES_PER_FRAME * sizeof(short); #ifdef WIN32 - switch_file_read(p->audioskypepipe[0], cli_in, &got); + switch_file_read(tech_pvt->audioskypepipe[0], cli_in, &got); #else /* WIN32 */ - got = read(p->audioskypepipe[0], cli_in, got); + got = read(tech_pvt->audioskypepipe[0], cli_in, got); #endif /* WIN32 */ if (got > 0) { @@ -378,9 +382,9 @@ } else if (SAMPLERATE_SKYPIAX == 16000) { got = SAMPLES_PER_FRAME * sizeof(short); #ifdef WIN32 - switch_file_read(p->audioskypepipe[0], cli_in, &got); + switch_file_read(tech_pvt->audioskypepipe[0], cli_in, &got); #else /* WIN32 */ - got = read(p->audioskypepipe[0], cli_in, got); + got = read(tech_pvt->audioskypepipe[0], cli_in, got); #endif /* WIN32 */ if (got > 0) { @@ -434,25 +438,29 @@ return NULL; } -int skypiax_skypeaudio_init(struct skypiax_interface *p) +int skypiax_skypeaudio_init(private_t *tech_pvt) { #ifdef WIN32 switch_status_t rv; - rv = switch_file_pipe_create(&p->audiopipe[0], &p->audiopipe[1], skypiax_module_pool); + rv = switch_file_pipe_create(&tech_pvt->audiopipe[0], &tech_pvt->audiopipe[1], skypiax_module_pool); rv = - switch_file_pipe_create(&p->audioskypepipe[0], &p->audioskypepipe[1], + switch_file_pipe_create(&tech_pvt->audioskypepipe[0], &tech_pvt->audioskypepipe[1], skypiax_module_pool); #else /* WIN32 */ - if (pipe(p->audiopipe)) { - fcntl(p->audiopipe[0], F_SETFL, O_NONBLOCK); - fcntl(p->audiopipe[1], F_SETFL, O_NONBLOCK); - } - if (pipe(p->audioskypepipe)) { - fcntl(p->audioskypepipe[0], F_SETFL, O_NONBLOCK); - fcntl(p->audioskypepipe[1], F_SETFL, O_NONBLOCK); + if (pipe(tech_pvt->audiopipe)) { + fcntl(tech_pvt->audiopipe[0], F_SETFL, O_NONBLOCK); + fcntl(tech_pvt->audiopipe[1], F_SETFL, O_NONBLOCK); + } + if (pipe(tech_pvt->audioskypepipe)) { + fcntl(tech_pvt->audioskypepipe[0], F_SETFL, O_NONBLOCK); + fcntl(tech_pvt->audioskypepipe[1], F_SETFL, O_NONBLOCK); } #endif /* WIN32 */ + + ERRORA("tech_pvt->audiopipe[0] = %d\n", SKYPIAX_P_LOG, tech_pvt->audiopipe[0]); + ERRORA("tech_pvt->audiopipe[1] = %d\n", SKYPIAX_P_LOG, tech_pvt->audiopipe[1]); + if (option_debug > 10) { DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); } @@ -461,7 +469,7 @@ switch_status_t skypiax_skypeaudio_read(private_t * tech_pvt) { - struct skypiax_interface *p; + //private_t *p; unsigned int samples; int rt; #ifndef WIN32 @@ -470,11 +478,10 @@ struct timeval to; #endif /* WIN32 */ - p = tech_pvt->p; #ifdef WIN32 rt = 1; #else /* WIN32 */ - fdselect = p->audiopipe[0]; + fdselect = tech_pvt->audiopipe[0]; FD_ZERO(&fs); FD_SET(fdselect, &fs); to.tv_usec = 2000000; //2000 msec @@ -484,15 +491,18 @@ if (rt > 0) { samples = SAMPLES_PER_FRAME * sizeof(short); #ifdef WIN32 - switch_file_read(p->audiopipe[0], tech_pvt->read_frame.data, &samples); + switch_file_read(tech_pvt->audiopipe[0], tech_pvt->read_frame.data, &samples); #else /* WIN32 */ - samples = read(p->audiopipe[0], tech_pvt->read_frame.data, samples); + samples = read(tech_pvt->audiopipe[0], tech_pvt->read_frame.data, samples); #endif /* WIN32 */ + //ERRORA("tech_pvt->audiopipe[0] = %d\n", SKYPIAX_P_LOG, tech_pvt->audiopipe[0]); + //ERRORA("tech_pvt->audiopipe[1] = %d\n", SKYPIAX_P_LOG, tech_pvt->audiopipe[1]); if (samples != SAMPLES_PER_FRAME * sizeof(short)) { if (samples) ERRORA("SRV PIPE READ=====> NOT GOOD samples=%u expected=%lu\n", SKYPIAX_P_LOG, samples, SAMPLES_PER_FRAME * sizeof(short)); + assert(samples == SAMPLES_PER_FRAME * sizeof(short)); //do a crash, please //do nothing } else { /* A real frame */ @@ -554,24 +564,24 @@ { LRESULT lReturnCode; int fIssueDefProc; - struct skypiax_interface *p = NULL; + //private_t *p = NULL; lReturnCode = 0; fIssueDefProc = 0; - p = (struct skypiax_interface *) GetWindowLong(hWindow, GWL_USERDATA); + tech_pvt = (private_t *) GetWindowLong(hWindow, GWL_USERDATA); switch (uiMessage) { case WM_CREATE: - p = (struct skypiax_interface *) ((LPCREATESTRUCT) ulParam)->lpCreateParams; + tech_pvt = (private_t *) ((LPCREATESTRUCT) ulParam)->lpCreateParams; SetWindowLong(hWindow, GWL_USERDATA, (LONG) p); DEBUGA_SKYPE("got CREATE\n", SKYPIAX_P_LOG); break; case WM_DESTROY: NOTICA("got DESTROY\n", SKYPIAX_P_LOG); - p->SkypiaxHandles.win32_hInit_MainWindowHandle = NULL; + tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle = NULL; PostQuitMessage(0); break; case WM_COPYDATA: - if (p->SkypiaxHandles.win32_hGlobal_SkypeAPIWindowHandle == (HWND) uiParam) { + if (tech_pvt->SkypiaxHandles.win32_hGlobal_SkypeAPIWindowHandle == (HWND) uiParam) { unsigned int howmany; char msg_from_skype[2048]; @@ -582,21 +592,21 @@ sizeof(msg_from_skype) - 2); howmany = strlen(msg_from_skype) + 1; - switch_file_write(p->SkypiaxHandles.fdesc[1], msg_from_skype, &howmany); + switch_file_write(tech_pvt->SkypiaxHandles.fdesc[1], msg_from_skype, &howmany); //NOTICA("From Skype API: %s\n", SKYPIAX_P_LOG, (const char *) poCopyData->lpData); lReturnCode = 1; } break; default: - if (p && p->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIAttach) { - if (uiMessage == p->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIAttach) { + if (p && tech_pvt->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIAttach) { + if (uiMessage == tech_pvt->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIAttach) { switch (ulParam) { case SKYPECONTROLAPI_ATTACH_SUCCESS: - if (!p->SkypiaxHandles.api_connected) { + if (!tech_pvt->SkypiaxHandles.api_connected) { NOTICA("\n\n\tConnected to Skype API!\n", SKYPIAX_P_LOG); - p->SkypiaxHandles.win32_hGlobal_SkypeAPIWindowHandle = (HWND) uiParam; - p->SkypiaxHandles.win32_hGlobal_SkypeAPIWindowHandle = - p->SkypiaxHandles.win32_hGlobal_SkypeAPIWindowHandle; + tech_pvt->SkypiaxHandles.win32_hGlobal_SkypeAPIWindowHandle = (HWND) uiParam; + tech_pvt->SkypiaxHandles.win32_hGlobal_SkypeAPIWindowHandle = + tech_pvt->SkypiaxHandles.win32_hGlobal_SkypeAPIWindowHandle; } break; case SKYPECONTROLAPI_ATTACH_PENDING_AUTHORIZATION: @@ -604,11 +614,11 @@ ("\n\n\tIf I do not (almost) immediately connect to Skype API,\n\tplease give the Skype client authorization to be connected \n\tby Asterisk and to not ask you again.\n\n", SKYPIAX_P_LOG); switch_sleep(5000); - if (!p->SkypiaxHandles.api_connected) { + if (!tech_pvt->SkypiaxHandles.api_connected) { SendMessage(HWND_BROADCAST, - p->SkypiaxHandles. + tech_pvt->SkypiaxHandles. win32_uiGlobal_MsgID_SkypeControlAPIDiscover, - (WPARAM) p->SkypiaxHandles.win32_hInit_MainWindowHandle, 0); + (WPARAM) tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle, 0); } break; case SKYPECONTROLAPI_ATTACH_REFUSED: @@ -620,11 +630,11 @@ case SKYPECONTROLAPI_ATTACH_API_AVAILABLE: DEBUGA_SKYPE("Skype API available\n", SKYPIAX_P_LOG); switch_sleep(5000); - if (!p->SkypiaxHandles.api_connected) { + if (!tech_pvt->SkypiaxHandles.api_connected) { SendMessage(HWND_BROADCAST, - p->SkypiaxHandles. + tech_pvt->SkypiaxHandles. win32_uiGlobal_MsgID_SkypeControlAPIDiscover, - (WPARAM) p->SkypiaxHandles.win32_hInit_MainWindowHandle, 0); + (WPARAM) tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle, 0); } break; default: @@ -642,7 +652,7 @@ return (lReturnCode); } -int win32_Initialize_CreateWindowClass(struct skypiax_interface *p) +int win32_Initialize_CreateWindowClass(private_t *tech_pvt) { unsigned char *paucUUIDString; RPC_STATUS lUUIDResult; @@ -651,26 +661,26 @@ fReturnStatus = 0; lUUIDResult = UuidCreate(&oUUID); - p->SkypiaxHandles.win32_hInit_ProcessHandle = + tech_pvt->SkypiaxHandles.win32_hInit_ProcessHandle = (HINSTANCE) OpenProcess(PROCESS_DUP_HANDLE, FALSE, GetCurrentProcessId()); - if (p->SkypiaxHandles.win32_hInit_ProcessHandle != NULL + if (tech_pvt->SkypiaxHandles.win32_hInit_ProcessHandle != NULL && (lUUIDResult == RPC_S_OK || lUUIDResult == RPC_S_UUID_LOCAL_ONLY)) { if (UuidToString(&oUUID, &paucUUIDString) == RPC_S_OK) { WNDCLASS oWindowClass; - strcpy(p->SkypiaxHandles.win32_acInit_WindowClassName, "Skype-API-Skypiax-"); - strcat(p->SkypiaxHandles.win32_acInit_WindowClassName, (char *) paucUUIDString); + strcpy(tech_pvt->SkypiaxHandles.win32_acInit_WindowClassName, "Skype-API-Skypiax-"); + strcat(tech_pvt->SkypiaxHandles.win32_acInit_WindowClassName, (char *) paucUUIDString); oWindowClass.style = CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS; oWindowClass.lpfnWndProc = (WNDPROC) & skypiax_skype_present; oWindowClass.cbClsExtra = 0; oWindowClass.cbWndExtra = 0; - oWindowClass.hInstance = p->SkypiaxHandles.win32_hInit_ProcessHandle; + oWindowClass.hInstance = tech_pvt->SkypiaxHandles.win32_hInit_ProcessHandle; oWindowClass.hIcon = NULL; oWindowClass.hCursor = NULL; oWindowClass.hbrBackground = NULL; oWindowClass.lpszMenuName = NULL; - oWindowClass.lpszClassName = p->SkypiaxHandles.win32_acInit_WindowClassName; + oWindowClass.lpszClassName = tech_pvt->SkypiaxHandles.win32_acInit_WindowClassName; if (RegisterClass(&oWindowClass) != 0) fReturnStatus = 1; @@ -679,34 +689,34 @@ } } if (fReturnStatus == 0) - CloseHandle(p->SkypiaxHandles.win32_hInit_ProcessHandle), - p->SkypiaxHandles.win32_hInit_ProcessHandle = NULL; + CloseHandle(tech_pvt->SkypiaxHandles.win32_hInit_ProcessHandle), + tech_pvt->SkypiaxHandles.win32_hInit_ProcessHandle = NULL; return (fReturnStatus); } -void win32_DeInitialize_DestroyWindowClass(struct skypiax_interface *p) +void win32_DeInitialize_DestroyWindowClass(private_t *tech_pvt) { - UnregisterClass(p->SkypiaxHandles.win32_acInit_WindowClassName, - p->SkypiaxHandles.win32_hInit_ProcessHandle); - CloseHandle(p->SkypiaxHandles.win32_hInit_ProcessHandle), - p->SkypiaxHandles.win32_hInit_ProcessHandle = NULL; + UnregisterClass(tech_pvt->SkypiaxHandles.win32_acInit_WindowClassName, + tech_pvt->SkypiaxHandles.win32_hInit_ProcessHandle); + CloseHandle(tech_pvt->SkypiaxHandles.win32_hInit_ProcessHandle), + tech_pvt->SkypiaxHandles.win32_hInit_ProcessHandle = NULL; } -int win32_Initialize_CreateMainWindow(struct skypiax_interface *p) +int win32_Initialize_CreateMainWindow(private_t *tech_pvt) { - p->SkypiaxHandles.win32_hInit_MainWindowHandle = + tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle = CreateWindowEx(WS_EX_APPWINDOW | WS_EX_WINDOWEDGE, - p->SkypiaxHandles.win32_acInit_WindowClassName, "", + tech_pvt->SkypiaxHandles.win32_acInit_WindowClassName, "", WS_BORDER | WS_SYSMENU | WS_MINIMIZEBOX, CW_USEDEFAULT, CW_USEDEFAULT, - 128, 128, NULL, 0, p->SkypiaxHandles.win32_hInit_ProcessHandle, p); - return (p->SkypiaxHandles.win32_hInit_MainWindowHandle != NULL ? 1 : 0); + 128, 128, NULL, 0, tech_pvt->SkypiaxHandles.win32_hInit_ProcessHandle, p); + return (tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle != NULL ? 1 : 0); } -void win32_DeInitialize_DestroyMainWindow(struct skypiax_interface *p) +void win32_DeInitialize_DestroyMainWindow(private_t *tech_pvt) { - if (p->SkypiaxHandles.win32_hInit_MainWindowHandle != NULL) - DestroyWindow(p->SkypiaxHandles.win32_hInit_MainWindowHandle), - p->SkypiaxHandles.win32_hInit_MainWindowHandle = NULL; + if (tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle != NULL) + DestroyWindow(tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle), + tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle = NULL; } DWORD win32_dwThreadId; @@ -722,28 +732,27 @@ /* destroy main window */ /* destroy window class */ - struct skypiax_interface *p; + private_t *tech_pvt = obj; - p = obj; - switch_file_pipe_create(&p->SkypiaxHandles.fdesc[0], - &p->SkypiaxHandles.fdesc[1], skypiax_module_pool); - p->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIAttach = + switch_file_pipe_create(&tech_pvt->SkypiaxHandles.fdesc[0], + &tech_pvt->SkypiaxHandles.fdesc[1], skypiax_module_pool); + tech_pvt->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIAttach = RegisterWindowMessage("SkypeControlAPIAttach"); - p->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIDiscover = + tech_pvt->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIDiscover = RegisterWindowMessage("SkypeControlAPIDiscover"); switch_sleep(2000000); - if (p->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIAttach != 0 - && p->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIDiscover != 0) { + if (tech_pvt->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIAttach != 0 + && tech_pvt->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIDiscover != 0) { if (win32_Initialize_CreateWindowClass(p)) { if (win32_Initialize_CreateMainWindow(p)) { if (SendMessage (HWND_BROADCAST, - p->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIDiscover, - (WPARAM) p->SkypiaxHandles.win32_hInit_MainWindowHandle, 0) != 0) { - p->SkypiaxHandles.win32_hInit_MainWindowHandle = - p->SkypiaxHandles.win32_hInit_MainWindowHandle; + tech_pvt->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIDiscover, + (WPARAM) tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle, 0) != 0) { + tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle = + tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle; while (1) { MSG oMessage; if (!running) @@ -818,7 +827,7 @@ unsigned long bytes_after_ret; unsigned char *prop; int status; - struct skypiax_interface *p = NULL; + private_t *tech_pvt = NULL; //XLockDisplay(disp); status = @@ -846,7 +855,7 @@ int *dispptr; int disp; - struct skypiax_interface *p = NULL; + private_t *tech_pvt = NULL; dispptr = data; disp = *dispptr; @@ -865,28 +874,27 @@ void *SWITCH_THREAD_FUNC do_skype_thread(switch_thread_t * thread, void *obj) { - struct skypiax_interface *p; + private_t *tech_pvt = obj; struct SkypiaxHandles *SkypiaxHandles; char buf[512]; Display *disp = NULL; Window root = -1; Window win = -1; - p = obj; DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); - if (pipe(p->SkypiaxHandles.fdesc)) { - fcntl(p->SkypiaxHandles.fdesc[0], F_SETFL, O_NONBLOCK); - fcntl(p->SkypiaxHandles.fdesc[1], F_SETFL, O_NONBLOCK); + if (pipe(tech_pvt->SkypiaxHandles.fdesc)) { + fcntl(tech_pvt->SkypiaxHandles.fdesc[0], F_SETFL, O_NONBLOCK); + fcntl(tech_pvt->SkypiaxHandles.fdesc[1], F_SETFL, O_NONBLOCK); } - SkypiaxHandles = &p->SkypiaxHandles; - disp = XOpenDisplay(p->X11_display); + SkypiaxHandles = &tech_pvt->SkypiaxHandles; + disp = XOpenDisplay(tech_pvt->X11_display); if (!disp) { ERRORA("Cannot open X Display '%s', exiting skype thread\n", SKYPIAX_P_LOG, - p->X11_display); + tech_pvt->X11_display); return NULL; } else { - DEBUGA_SKYPE("X Display '%s' opened\n", SKYPIAX_P_LOG, p->X11_display); + DEBUGA_SKYPE("X Display '%s' opened\n", SKYPIAX_P_LOG, tech_pvt->X11_display); } int xfd; @@ -978,7 +986,7 @@ } #endif // WIN32 -int skypiax_skype_write(struct skypiax_interface *p, char *msg_to_skype) +int skypiax_skype_write(private_t *tech_pvt, char *msg_to_skype) { #ifdef WIN32 static char acInputRow[1024]; @@ -1003,14 +1011,14 @@ oCopyData.cbData = strlen(acInputRow) + 1; if (oCopyData.cbData != 1) { if (SendMessage - (p->SkypiaxHandles.win32_hGlobal_SkypeAPIWindowHandle, WM_COPYDATA, - (WPARAM) p->SkypiaxHandles.win32_hInit_MainWindowHandle, + (tech_pvt->SkypiaxHandles.win32_hGlobal_SkypeAPIWindowHandle, WM_COPYDATA, + (WPARAM) tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle, (LPARAM) & oCopyData) == FALSE) { ERRORA ("Sending message failed - probably Skype crashed.\n\nPlease shutdown Skypiax (Asterisk), then restart Skype from the menu, then launch Skypiax and try again.\n", SKYPIAX_P_LOG); - p->skype = 0; - p->skype_thread = NULL; + tech_pvt->skype = 0; + tech_pvt->skype_thread = NULL; if (option_debug > 100) { DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); } @@ -1022,7 +1030,7 @@ if (option_debug > 100) { DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); } - SkypiaxHandles = &p->SkypiaxHandles; + SkypiaxHandles = &tech_pvt->SkypiaxHandles; if (!skypiax_skype_send_message(SkypiaxHandles, msg_to_skype)) { ERRORA @@ -1042,7 +1050,7 @@ } -int skypiax_skype_read(struct skypiax_interface *p) +int skypiax_skype_read(private_t *tech_pvt) { char read_from_pipe[4096]; @@ -1059,9 +1067,6 @@ fd_set fs; struct timeval to; #endif /* WIN32 */ - private_t *tech_pvt = NULL; - - tech_pvt = p->tech_pvt; if (option_debug > 100) { DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); @@ -1074,7 +1079,7 @@ #ifdef WIN32 rt = 1; #else /* WIN32 */ - fdselect = p->SkypiaxHandles.fdesc[0]; + fdselect = tech_pvt->SkypiaxHandles.fdesc[0]; FD_ZERO(&fs); FD_SET(fdselect, &fs); to.tv_usec = 2000000; //500 msec @@ -1083,13 +1088,13 @@ #endif /* WIN32 */ if (rt > 0) { - if (p->SkypiaxHandles.fdesc[0]) { + if (tech_pvt->SkypiaxHandles.fdesc[0]) { howmany = sizeof(read_from_pipe); #ifdef WIN32 - switch_file_read(p->SkypiaxHandles.fdesc[0], read_from_pipe, &howmany); + switch_file_read(tech_pvt->SkypiaxHandles.fdesc[0], read_from_pipe, &howmany); #else /* WIN32 */ howmany = - read(p->SkypiaxHandles.fdesc[0], read_from_pipe, sizeof(read_from_pipe)); + read(tech_pvt->SkypiaxHandles.fdesc[0], read_from_pipe, sizeof(read_from_pipe)); #endif /* WIN32 */ a = 0; @@ -1099,8 +1104,8 @@ if (read_from_pipe[i] == '\0') { - DEBUGA_SKYPE("read_skype: howmany=%d, i=%d, a=%d, |||%s||| \n", SKYPIAX_P_LOG, - howmany, i, a, messaggio); + //DEBUGA_SKYPE("read_skype: howmany=%d, i=%d, a=%d, |||%s||| \n", SKYPIAX_P_LOG, howmany, i, a, messaggio); + DEBUGA_SKYPE("READING: |||%s||| \n", SKYPIAX_P_LOG, messaggio); if (!strcasecmp(messaggio, "ERROR 68")) { /* not yet protocol specified, just authorized */ @@ -1108,7 +1113,7 @@ ("If I don't connect immediately, please give the Skype client authorization to be connected by Skypiax (and to not ask you again)\n", SKYPIAX_P_LOG); switch_sleep(1000000); - skypiax_skype_write(p, "PROTOCOL 6"); + skypiax_skype_write(tech_pvt, "PROTOCOL 6"); switch_sleep(10000); return 0; } @@ -1116,19 +1121,19 @@ if (!strncasecmp(messaggio, "ERROR 92 CALL", 12)) { ERRORA("Skype got ERROR: |||%s|||, the number we called was not recognized\n", SKYPIAX_P_LOG, messaggio); - p->skype_callflow = CALLFLOW_STATUS_FINISHED; + tech_pvt->skype_callflow = CALLFLOW_STATUS_FINISHED; if (option_debug) DEBUGA_SKYPE("skype_call now is DOWN\n", SKYPIAX_P_LOG); - p->skype_call_id[0] = '\0'; + tech_pvt->skype_call_id[0] = '\0'; - if (p->interface_state != SKYPIAX_STATE_HANGUP_REQUESTED) { + if (tech_pvt->interface_state != SKYPIAX_STATE_HANGUP_REQUESTED) { if (option_debug > 100) { DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); } - p->interface_state = SKYPIAX_STATE_DOWN; + tech_pvt->interface_state = SKYPIAX_STATE_DOWN; return CALLFLOW_INCOMING_HANGUP; } else { - p->interface_state = SKYPIAX_STATE_DOWN; + tech_pvt->interface_state = SKYPIAX_STATE_DOWN; } } @@ -1144,36 +1149,36 @@ if (!strcasecmp(messaggio, "#333")) { /* DEBUGA_SKYPE("Skype MSG: messaggio_2: %s, messaggio2[11]: %s\n", SKYPIAX_P_LOG, * messaggio_2, &messaggio_2[11]); */ - memset(p->skype_friends, 0, 4096); - strncpy(p->skype_friends, &messaggio_2[11], 4095); + memset(tech_pvt->skype_friends, 0, 4096); + strncpy(tech_pvt->skype_friends, &messaggio_2[11], 4095); } if (!strcasecmp(messaggio, "#222")) { /* DEBUGA_SKYPE("Skype MSG: messaggio_2: %s, messaggio2[10]: %s\n", SKYPIAX_P_LOG, * messaggio_2, &messaggio_2[10]); */ - memset(p->skype_fullname, 0, 512); - strncpy(p->skype_fullname, &messaggio_2[10], 511); + memset(tech_pvt->skype_fullname, 0, 512); + strncpy(tech_pvt->skype_fullname, &messaggio_2[10], 511); } if (!strcasecmp(messaggio, "#765")) { /* DEBUGA_SKYPE("Skype MSG: messaggio_2: %s, messaggio2[10]: %s\n", SKYPIAX_P_LOG, * messaggio_2, &messaggio_2[10]); */ - memset(p->skype_displayname, 0, 512); - strncpy(p->skype_displayname, &messaggio_2[10], 511); + memset(tech_pvt->skype_displayname, 0, 512); + strncpy(tech_pvt->skype_displayname, &messaggio_2[10], 511); } if (!strcasecmp(messaggio, "ERROR")) { ERRORA("Skype got ERROR: |||%s|||\n", SKYPIAX_P_LOG, messaggio); - p->skype_callflow = CALLFLOW_STATUS_FINISHED; + tech_pvt->skype_callflow = CALLFLOW_STATUS_FINISHED; if (option_debug) DEBUGA_SKYPE("skype_call now is DOWN\n", SKYPIAX_P_LOG); - p->skype_call_id[0] = '\0'; + tech_pvt->skype_call_id[0] = '\0'; - if (p->interface_state != SKYPIAX_STATE_HANGUP_REQUESTED) { + if (tech_pvt->interface_state != SKYPIAX_STATE_HANGUP_REQUESTED) { if (option_debug > 100) { DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); } - p->interface_state = SKYPIAX_STATE_DOWN; + tech_pvt->interface_state = SKYPIAX_STATE_DOWN; return CALLFLOW_INCOMING_HANGUP; } else { - p->interface_state = SKYPIAX_STATE_DOWN; + tech_pvt->interface_state = SKYPIAX_STATE_DOWN; } } if (!strcasecmp(messaggio, "CURRENTUSERHANDLE")) { @@ -1183,9 +1188,9 @@ strncpy(id, where, sizeof(id) - 1); - if (!strcasecmp(id, p->skype_user)) { - p->SkypiaxHandles.api_connected = 1; - //DEBUGA_SKYPE ("Skype MSG: messaggio: %s, currentuserhandle: %s, cuh: %s, skype_user: %s!\n", SKYPIAX_P_LOG, messaggio, obj, id, p->skype_user); + if (!strcasecmp(id, tech_pvt->skype_user)) { + tech_pvt->SkypiaxHandles.api_connected = 1; + //DEBUGA_SKYPE ("Skype MSG: messaggio: %s, currentuserhandle: %s, cuh: %s, skype_user: %s!\n", SKYPIAX_P_LOG, messaggio, obj, id, tech_pvt->skype_user); } } @@ -1207,7 +1212,7 @@ //FIXME: TODO: allow authorization based on config param sprintf(msg_to_skype, "SET USER %s ISAUTHORIZED TRUE", id); - skypiax_skype_write(p, msg_to_skype); + skypiax_skype_write(tech_pvt, msg_to_skype); } } @@ -1236,7 +1241,7 @@ //FIXME: TODO: allow authorization based on config param sprintf(msg_to_skype, "SET MESSAGE %s SEEN", id); - skypiax_skype_write(p, msg_to_skype); + skypiax_skype_write(tech_pvt, msg_to_skype); } } else if (!strcasecmp(prop, "BODY")) { char msg_to_skype[256]; @@ -1246,7 +1251,7 @@ //FIXME: TODO: on config param ??? sprintf(msg_to_skype, "SET MESSAGE %s SEEN", id); - skypiax_skype_write(p, msg_to_skype); + skypiax_skype_write(tech_pvt, msg_to_skype); } } @@ -1275,39 +1280,38 @@ SKYPIAX_P_LOG, messaggio, obj, id, prop, value, where ? where : "NULL"); if (!strcasecmp(prop, "PARTNER_HANDLE")) { - strncpy(p->callid_number, value, sizeof(p->callid_number) - 1); + strncpy(tech_pvt->callid_number, value, sizeof(tech_pvt->callid_number) - 1); WARNINGA - ("the skype_call %s caller PARTNER_HANDLE (p->callid_number) is: %s\n", - SKYPIAX_P_LOG, id, p->callid_number); + ("the skype_call %s caller PARTNER_HANDLE (tech_pvt->callid_number) is: %s\n", + SKYPIAX_P_LOG, id, tech_pvt->callid_number); return CALLFLOW_INCOMING_RING; } if (!strcasecmp(prop, "PARTNER_DISPNAME")) { - snprintf(p->callid_name, sizeof(p->callid_name) - 1, "%s%s%s", value, + snprintf(tech_pvt->callid_name, sizeof(tech_pvt->callid_name) - 1, "%s%s%s", value, where ? " " : "", where ? where : ""); WARNINGA - ("the skype_call %s caller PARTNER_DISPNAME (p->callid_name) is: %s\n", - SKYPIAX_P_LOG, id, p->callid_name); + ("the skype_call %s caller PARTNER_DISPNAME (tech_pvt->callid_name) is: %s\n", + SKYPIAX_P_LOG, id, tech_pvt->callid_name); } if (!strcasecmp(prop, "CONF_ID") && !strcasecmp(value, "0")) { DEBUGA_SKYPE("the skype_call %s is NOT a conference call\n", SKYPIAX_P_LOG, id); - if (p->interface_state == SKYPIAX_STATE_DOWN) - p->interface_state = SKYPIAX_STATE_PRERING; + if (tech_pvt->interface_state == SKYPIAX_STATE_DOWN) + tech_pvt->interface_state = SKYPIAX_STATE_PRERING; } if (!strcasecmp(prop, "CONF_ID") && strcasecmp(value, "0")) { DEBUGA_SKYPE("the skype_call %s is a conference call\n", SKYPIAX_P_LOG, id); - if (p->interface_state == SKYPIAX_STATE_DOWN) - p->interface_state = SKYPIAX_STATE_PRERING; + if (tech_pvt->interface_state == SKYPIAX_STATE_DOWN) + tech_pvt->interface_state = SKYPIAX_STATE_PRERING; } if (!strcasecmp(prop, "DTMF")) { switch_core_session_t *session = NULL; - private_t *tech_pvt = NULL; switch_channel_t *channel = NULL; DEBUGA_SKYPE("Call %s received a DTMF: %s\n", SKYPIAX_P_LOG, id, value); - tech_pvt = p->tech_pvt; + //tech_pvt = p; session = tech_pvt->session; channel = switch_core_session_get_channel(session); @@ -1329,8 +1333,8 @@ SKYPIAX_P_LOG, id); } if (!strcasecmp(prop, "DURATION") && (!strcasecmp(value, "1"))) { - if (strcasecmp(id, p->skype_call_id)) { - strncpy(p->skype_call_id, id, sizeof(p->skype_call_id) - 1); + if (strcasecmp(id, tech_pvt->skype_call_id)) { + strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); if (option_debug > 1) DEBUGA_SKYPE ("We called a Skype contact and he answered us on skype_call: %s.\n", @@ -1342,34 +1346,34 @@ if (!strcasecmp(value, "RINGING")) { char msg_to_skype[1024]; - if (p->interface_state != SKYPIAX_STATE_DIALING) { + if (tech_pvt->interface_state != SKYPIAX_STATE_DIALING) { /* we are not calling out */ - if (!strlen(p->skype_call_id)) { //FIXME + if (!strlen(tech_pvt->skype_call_id)) { //FIXME /* we are not inside an active call */ - p->skype_callflow = CALLFLOW_STATUS_RINGING; - p->interface_state = SKYPIAX_STATE_RING; + tech_pvt->skype_callflow = CALLFLOW_STATUS_RINGING; + tech_pvt->interface_state = SKYPIAX_STATE_RING; /* no owner, no active call, let's answer */ - skypiax_skype_write(p, "SET AGC OFF"); + skypiax_skype_write(tech_pvt, "SET AGC OFF"); switch_sleep(10000); - skypiax_skype_write(p, "SET AEC OFF"); + skypiax_skype_write(tech_pvt, "SET AEC OFF"); switch_sleep(10000); sprintf(msg_to_skype, "GET CALL %s PARTNER_DISPNAME", id); - skypiax_skype_write(p, msg_to_skype); + skypiax_skype_write(tech_pvt, msg_to_skype); switch_sleep(10000); sprintf(msg_to_skype, "GET CALL %s PARTNER_HANDLE", id); - skypiax_skype_write(p, msg_to_skype); + skypiax_skype_write(tech_pvt, msg_to_skype); switch_sleep(10000); sprintf(msg_to_skype, "ALTER CALL %s ANSWER", id); - skypiax_skype_write(p, msg_to_skype); + skypiax_skype_write(tech_pvt, msg_to_skype); if (option_debug) DEBUGA_SKYPE("We answered a Skype RING on skype_call %s\n", SKYPIAX_P_LOG, id); - strncpy(p->skype_call_id, id, sizeof(p->skype_call_id) - 1); + strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); } else { /* we're owned, we're in a call, let's refuse */ sprintf(msg_to_skype, "ALTER CALL %s END HANGUP", id); - skypiax_skype_write(p, msg_to_skype); + skypiax_skype_write(tech_pvt, msg_to_skype); switch_sleep(10000); DEBUGA_SKYPE ("We have NOT answered a Skype RING on skype_call %s, because we are already in a skypiax call\n", @@ -1378,79 +1382,79 @@ } } else { /* we are calling out */ - p->skype_callflow = CALLFLOW_STATUS_RINGING; - p->interface_state = SKYPIAX_STATE_RINGING; - //FIXME ast_queue_control(p->owner, SKYPIAX_CONTROL_RINGING); - strncpy(p->skype_call_id, id, sizeof(p->skype_call_id) - 1); + tech_pvt->skype_callflow = CALLFLOW_STATUS_RINGING; + tech_pvt->interface_state = SKYPIAX_STATE_RINGING; + //FIXME ast_queue_control(tech_pvt->owner, SKYPIAX_CONTROL_RINGING); + strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); DEBUGA_SKYPE("Our remote party in skype_call %s is RINGING\n", SKYPIAX_P_LOG, id); } } else if (!strcasecmp(value, "EARLYMEDIA")) { - p->skype_callflow = CALLFLOW_STATUS_EARLYMEDIA; - p->interface_state = SKYPIAX_STATE_DIALING; - //FIXME ast_queue_control(p->owner, SKYPIAX_CONTROL_RINGING); + tech_pvt->skype_callflow = CALLFLOW_STATUS_EARLYMEDIA; + tech_pvt->interface_state = SKYPIAX_STATE_DIALING; + //FIXME ast_queue_control(tech_pvt->owner, SKYPIAX_CONTROL_RINGING); DEBUGA_SKYPE("Our remote party in skype_call %s is EARLYMEDIA\n", SKYPIAX_P_LOG, id); } else if (!strcasecmp(value, "MISSED")) { DEBUGA_SKYPE("We missed skype_call %s\n", SKYPIAX_P_LOG, id); } else if (!strcasecmp(value, "FINISHED")) { - //p->skype_callflow = CALLFLOW_STATUS_FINISHED; + //tech_pvt->skype_callflow = CALLFLOW_STATUS_FINISHED; if (option_debug) DEBUGA_SKYPE("skype_call %s now is DOWN\n", SKYPIAX_P_LOG, id); - p->skype_call_id[0] = '\0'; + tech_pvt->skype_call_id[0] = '\0'; - if (p->interface_state != SKYPIAX_STATE_HANGUP_REQUESTED) { + if (tech_pvt->interface_state != SKYPIAX_STATE_HANGUP_REQUESTED) { if (option_debug > 100) { DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); } - //p->interface_state = SKYPIAX_STATE_DOWN; + //tech_pvt->interface_state = SKYPIAX_STATE_DOWN; return CALLFLOW_INCOMING_HANGUP; } else { - p->interface_state = SKYPIAX_STATE_DOWN; + tech_pvt->interface_state = SKYPIAX_STATE_DOWN; } } else if (!strcasecmp(value, "CANCELLED")) { - p->skype_callflow = CALLFLOW_STATUS_CANCELLED; + tech_pvt->skype_callflow = CALLFLOW_STATUS_CANCELLED; if (option_debug) DEBUGA_SKYPE ("we tried to call Skype on skype_call %s and Skype has now CANCELLED\n", SKYPIAX_P_LOG, id); - p->skype_call_id[0] = '\0'; + tech_pvt->skype_call_id[0] = '\0'; - if (p->interface_state != SKYPIAX_STATE_HANGUP_REQUESTED) { + if (tech_pvt->interface_state != SKYPIAX_STATE_HANGUP_REQUESTED) { if (option_debug > 100) { DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); } - p->interface_state = SKYPIAX_STATE_DOWN; + tech_pvt->interface_state = SKYPIAX_STATE_DOWN; return CALLFLOW_INCOMING_HANGUP; } else { - p->interface_state = SKYPIAX_STATE_DOWN; + tech_pvt->interface_state = SKYPIAX_STATE_DOWN; } } else if (!strcasecmp(value, "FAILED")) { - p->skype_callflow = CALLFLOW_STATUS_FAILED; + tech_pvt->skype_callflow = CALLFLOW_STATUS_FAILED; if (option_debug) DEBUGA_SKYPE ("we tried to call Skype on skype_call %s and Skype has now FAILED\n", SKYPIAX_P_LOG, id); - p->skype_call_id[0] = '\0'; - strncpy(p->skype_call_id, id, sizeof(p->skype_call_id) - 1); - p->interface_state = SKYPIAX_STATE_DOWN; + tech_pvt->skype_call_id[0] = '\0'; + strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); + tech_pvt->interface_state = SKYPIAX_STATE_DOWN; if (option_debug > 100) { DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); } return CALLFLOW_INCOMING_HANGUP; } else if (!strcasecmp(value, "REFUSED")) { - if (!strcasecmp(id, p->skype_call_id)) { + if (!strcasecmp(id, tech_pvt->skype_call_id)) { /* this is the id of the call we are in, probably we generated it */ - p->skype_callflow = CALLFLOW_STATUS_REFUSED; + tech_pvt->skype_callflow = CALLFLOW_STATUS_REFUSED; if (option_debug) DEBUGA_SKYPE ("we tried to call Skype on skype_call %s and Skype has now REFUSED\n", SKYPIAX_P_LOG, id); - strncpy(p->skype_call_id, id, sizeof(p->skype_call_id) - 1); - p->interface_state = SKYPIAX_STATE_DOWN; - p->skype_call_id[0] = '\0'; + strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); + tech_pvt->interface_state = SKYPIAX_STATE_DOWN; + tech_pvt->skype_call_id[0] = '\0'; if (option_debug > 100) { DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); } @@ -1461,19 +1465,19 @@ } } else if (!strcasecmp(value, "ROUTING")) { - p->skype_callflow = CALLFLOW_STATUS_ROUTING; - p->interface_state = SKYPIAX_STATE_DIALING; - strncpy(p->skype_call_id, id, sizeof(p->skype_call_id) - 1); + tech_pvt->skype_callflow = CALLFLOW_STATUS_ROUTING; + tech_pvt->interface_state = SKYPIAX_STATE_DIALING; + strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); DEBUGA_SKYPE("skype_call: %s is now ROUTING\n", SKYPIAX_P_LOG, id); } else if (!strcasecmp(value, "UNPLACED")) { - p->skype_callflow = CALLFLOW_STATUS_UNPLACED; - p->interface_state = SKYPIAX_STATE_DIALING; - strncpy(p->skype_call_id, id, sizeof(p->skype_call_id) - 1); + tech_pvt->skype_callflow = CALLFLOW_STATUS_UNPLACED; + tech_pvt->interface_state = SKYPIAX_STATE_DIALING; + strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); DEBUGA_SKYPE("skype_call: %s is now UNPLACED\n", SKYPIAX_P_LOG, id); } else if (!strcasecmp(value, "INPROGRESS")) { - p->skype_callflow = CALLFLOW_STATUS_INPROGRESS; - strncpy(p->skype_call_id, id, sizeof(p->skype_call_id) - 1); - p->interface_state = SKYPIAX_STATE_UP; + tech_pvt->skype_callflow = CALLFLOW_STATUS_INPROGRESS; + strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); + tech_pvt->interface_state = SKYPIAX_STATE_UP; if (option_debug > 1) DEBUGA_SKYPE("skype_call: %s is now active\n", SKYPIAX_P_LOG, id); @@ -1488,36 +1492,36 @@ switch_threadattr_create(&thd_attr, skypiax_module_pool); switch_threadattr_detach_set(thd_attr, 1); switch_threadattr_stacksize_set(thd_attr, SWITCH_THREAD_STACKSIZE); - switch_thread_create(&p->tcp_srv_thread, thd_attr, - skypiax_do_tcp_srv_thread, p, skypiax_module_pool); + switch_thread_create(&tech_pvt->tcp_srv_thread, thd_attr, + skypiax_do_tcp_srv_thread, tech_pvt, skypiax_module_pool); DEBUGA_SKYPE("started tcp_srv_thread thread.\n", SKYPIAX_P_LOG); switch_threadattr_create(&thd_attr, skypiax_module_pool); switch_threadattr_detach_set(thd_attr, 1); switch_threadattr_stacksize_set(thd_attr, SWITCH_THREAD_STACKSIZE); - switch_thread_create(&p->tcp_cli_thread, thd_attr, - skypiax_do_tcp_cli_thread, p, skypiax_module_pool); + switch_thread_create(&tech_pvt->tcp_cli_thread, thd_attr, + skypiax_do_tcp_cli_thread, tech_pvt, skypiax_module_pool); DEBUGA_SKYPE("started tcp_cli_thread thread.\n", SKYPIAX_P_LOG); switch_sleep(100000); sprintf(msg_to_skype, "ALTER CALL %s SET_OUTPUT PORT=\"%d\"", id, - p->tcp_srv_port); - skypiax_skype_write(p, msg_to_skype); + tech_pvt->tcp_srv_port); + skypiax_skype_write(tech_pvt, msg_to_skype); switch_sleep(100000); sprintf(msg_to_skype, "ALTER CALL %s SET_INPUT PORT=\"%d\"", id, - p->tcp_cli_port); - skypiax_skype_write(p, msg_to_skype); + tech_pvt->tcp_cli_port); + skypiax_skype_write(tech_pvt, msg_to_skype); switch_sleep(100000); } - p->skype_callflow = SKYPIAX_STATE_UP; + tech_pvt->skype_callflow = SKYPIAX_STATE_UP; //FIXME switch_core_session_t **new_session; //FIXME *new_session=switch_loadable_module_create_interface(skypiax_endpoint_interface, pool); - if (!p->tech_pvt || !tech_pvt->session) { //FIXME FIXME FIXME + if (!tech_pvt->session) { //FIXME FIXME FIXME switch_core_session_t *session = NULL; - private_t *tech_pvt = NULL; + //private_t *tech_pvt = NULL; switch_channel_t *channel = NULL; NOTICA("New Inbound Channel!\n", SKYPIAX_P_LOG); @@ -1526,27 +1530,28 @@ switch_core_session_request(skypiax_endpoint_interface, NULL)) != 0) { switch_core_session_add_stream(session, NULL); - if ((tech_pvt = - (private_t *) switch_core_session_alloc(session, - sizeof(private_t))) != - 0) { channel = switch_core_session_get_channel(session); - skypiax_tech_init(tech_pvt, session, p); + skypiax_tech_init(tech_pvt, session); +#if 0 + if ((tech_pvt = (private_t *) switch_core_session_alloc(session, sizeof(private_t))) != 0) { + channel = switch_core_session_get_channel(session); + skypiax_tech_init(tech_pvt, session); } else { ERRORA("Hey where is my memory pool?\n", SKYPIAX_P_LOG); switch_core_session_destroy(&session); break; } +#endif if ((tech_pvt->caller_profile = switch_caller_profile_new(switch_core_session_get_pool(session), - "skypiax", "XML", p->callid_name, - p->callid_number, NULL, "calling_ani", + "skypiax", "XML", tech_pvt->callid_name, + tech_pvt->callid_number, NULL, "calling_ani", NULL, NULL, "mod_skypiax", "public", "5000")) != 0) { char name[128]; - //switch_snprintf(name, sizeof(name), "skypiax/%s/%s", p->name, tech_pvt->caller_profile->destination_number); - switch_snprintf(name, sizeof(name), "skypiax/%s", p->name); + //switch_snprintf(name, sizeof(name), "skypiax/%s/%s", tech_pvt->name, tech_pvt->caller_profile->destination_number); + switch_snprintf(name, sizeof(name), "skypiax/%s", tech_pvt->name); switch_channel_set_name(channel, name); switch_channel_set_caller_profile(channel, tech_pvt->caller_profile); @@ -1562,14 +1567,8 @@ switch_channel_mark_answered(channel); } else { switch_core_session_t *session = NULL; - private_t *tech_pvt = NULL; switch_channel_t *channel = NULL; - if (p->tech_pvt) { - tech_pvt = p->tech_pvt; - } else { - ERRORA("No p->tech_pvt???\n", SKYPIAX_P_LOG); - } if (tech_pvt->session) { session = tech_pvt->session; } else { @@ -1612,7 +1611,7 @@ return 0; } -int skypiax_skype_senddigit(struct skypiax_interface *p, char digit) +int skypiax_skype_senddigit(private_t *tech_pvt, char digit) { char msg_to_skype[1024]; if (option_debug > 10) { @@ -1621,9 +1620,9 @@ NOTICA("DIGIT received: %c\n", SKYPIAX_P_LOG, digit); - sprintf(msg_to_skype, "SET CALL %s DTMF %c", p->skype_call_id, digit); + sprintf(msg_to_skype, "SET CALL %s DTMF %c", tech_pvt->skype_call_id, digit); - skypiax_skype_write(p, msg_to_skype); + skypiax_skype_write(tech_pvt, msg_to_skype); if (option_debug > 10) { DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); @@ -1631,15 +1630,15 @@ return 0; } -int skypiax_skype_call(struct skypiax_interface *p, char *idest, int timeout, +int skypiax_skype_call(private_t *tech_pvt, char *idest, int timeout, switch_core_session_t * session) { char *rdest; char msg_to_skype[1024]; - private_t *tech_pvt; + //private_t *tech_pvt; switch_caller_profile_t *caller_profile; - tech_pvt = p->tech_pvt; + //tech_pvt = p; if (option_debug > 10) { DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); @@ -1652,13 +1651,13 @@ if (option_debug) DEBUGA_SKYPE("Calling Skype, rdest is: %s\n", SKYPIAX_P_LOG, rdest); NOTICA("Calling Skype, rdest is: %s\n", SKYPIAX_P_LOG, rdest); - skypiax_skype_write(p, "SET AGC OFF"); + skypiax_skype_write(tech_pvt, "SET AGC OFF"); switch_sleep(10000); - skypiax_skype_write(p, "SET AEC OFF"); + skypiax_skype_write(tech_pvt, "SET AEC OFF"); switch_sleep(10000); sprintf(msg_to_skype, "CALL %s", rdest); - if (skypiax_skype_write(p, msg_to_skype) < 0) { + if (skypiax_skype_write(tech_pvt, msg_to_skype) < 0) { ERRORA("failed to communicate with Skype client, now exit\n", SKYPIAX_P_LOG); if (option_debug > 10) { @@ -1670,6 +1669,6 @@ caller_profile = tech_pvt->caller_profile; caller_profile->destination_number = rdest; - //FIXME ast_queue_control(p->owner, SKYPIAX_CONTROL_RINGING); + //FIXME ast_queue_control(tech_pvt->owner, SKYPIAX_CONTROL_RINGING); return 0; } From gmaruzz at freeswitch.org Sun Jan 11 04:15:27 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Sun, 11 Jan 2009 06:15:27 -0600 Subject: [Freeswitch-branches] [commit] r11120 - freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax Message-ID: Author: gmaruzz Date: Sun Jan 11 06:15:27 2009 New Revision: 11120 Log: skypiax: indent -gnu -ts4 -br -brs -cdw -lp -ce -nbfda -npcs -nprs -npsl -nbbo -saf -sai -saw -cs -bbo -nhnl -nut -sob -l90 Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/mod_skypiax.c freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax.h freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.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 Sun Jan 11 06:15:27 2009 @@ -146,7 +146,6 @@ tech_pvt = switch_core_session_get_private(session); assert(tech_pvt != NULL); - switch_clear_flag_locked(tech_pvt, TFLAG_IO); switch_clear_flag_locked(tech_pvt, TFLAG_VOICE); //switch_set_flag_locked(tech_pvt, TFLAG_HANGUP); @@ -352,7 +351,6 @@ tech_pvt = switch_core_session_get_private(session); assert(tech_pvt != NULL); - if (!switch_test_flag(tech_pvt, TFLAG_IO)) { ERRORA("CIAPA \n", SKYPIAX_P_LOG); return SWITCH_STATUS_FALSE; @@ -387,7 +385,6 @@ tech_pvt = switch_core_session_get_private(session); assert(tech_pvt != NULL); - DEBUGA_SKYPE("ANSWERED! \n", SKYPIAX_P_LOG); return SWITCH_STATUS_SUCCESS; @@ -405,7 +402,6 @@ tech_pvt = (private_t *) switch_core_session_get_private(session); assert(tech_pvt != NULL); - switch (msg->message_id) { case SWITCH_MESSAGE_INDICATE_ANSWER: { @@ -496,7 +492,7 @@ DEBUGA_SKYPE("globals.SKYPIAX_INTERFACES[%d].name=|||%s|||?\n", SKYPIAX_P_LOG, i, globals.SKYPIAX_INTERFACES[i].name); - tech_pvt = &globals.SKYPIAX_INTERFACES[i]; //FIXME + tech_pvt = &globals.SKYPIAX_INTERFACES[i]; //FIXME //globals.SKYPIAX_INTERFACES[i].tech_pvt = tech_pvt; //FIXME found = 1; break; @@ -879,8 +875,7 @@ skypiax_skypeaudio_init(&globals.SKYPIAX_INTERFACES[interface_id]); - while (globals.SKYPIAX_INTERFACES[interface_id].SkypiaxHandles. - api_connected == 0) { + while (globals.SKYPIAX_INTERFACES[interface_id].SkypiaxHandles.api_connected == 0) { switch_sleep(1000); } NOTICA("STARTED interface_id=%d\n", SKYPIAX_P_LOG, interface_id); @@ -951,7 +946,7 @@ if (globals.SKYPIAX_INTERFACES[interface_id].skypiax_do_controldev_thread_thread) { #ifdef WIN32 - switch_file_write(tech_pvt->SkypiaxHandles.fdesc[1], "sciutati", &howmany); // let's the controldev_thread die + switch_file_write(tech_pvt->SkypiaxHandles.fdesc[1], "sciutati", &howmany); // let's the controldev_thread die #else /* WIN32 */ howmany = write(tech_pvt->SkypiaxHandles.fdesc[1], "sciutati", howmany); #endif /* WIN32 */ @@ -959,13 +954,14 @@ if (globals.SKYPIAX_INTERFACES[interface_id].skypiax_do_skype_thread_thread) { #ifdef WIN32 - if (SendMessage(tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle, WM_DESTROY, 0, 0) == FALSE) { // let's the do_skype_thread die + if (SendMessage(tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle, WM_DESTROY, 0, 0) == FALSE) { // let's the do_skype_thread die ERRORA("WHY FALSE HERE? %d\n", SKYPIAX_P_LOG, GetLastError()); } #else XEvent e; Atom atom1 = - XInternAtom(tech_pvt->SkypiaxHandles.disp, "SKYPECONTROLAPI_MESSAGE_BEGIN", False); + XInternAtom(tech_pvt->SkypiaxHandles.disp, "SKYPECONTROLAPI_MESSAGE_BEGIN", + False); memset(&e, 0, sizeof(e)); e.xclient.type = ClientMessage; e.xclient.message_type = atom1; /* leading message */ @@ -973,7 +969,8 @@ e.xclient.window = tech_pvt->SkypiaxHandles.skype_win; e.xclient.format = 8; - XSendEvent(tech_pvt->SkypiaxHandles.disp, tech_pvt->SkypiaxHandles.win, False, 0, &e); + XSendEvent(tech_pvt->SkypiaxHandles.disp, tech_pvt->SkypiaxHandles.win, False, 0, + &e); XSync(tech_pvt->SkypiaxHandles.disp, False); #endif } Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax.h ============================================================================== --- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax.h (original) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax.h Sun Jan 11 06:15:27 2009 @@ -154,77 +154,6 @@ #endif //WIN32 -#if 0 -private_t { - 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]; -#ifdef WIN32 - unsigned short tcp_cli_port; - unsigned short tcp_srv_port; -#else - int tcp_cli_port; - int tcp_srv_port; -#endif - struct SkypiaxHandles SkypiaxHandles; - - 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; -#ifdef WIN32 - switch_file_t *audiopipe[2]; - switch_file_t *audioskypepipe[2]; -#else /* WIN32 */ - int audiopipe[2]; - int audioskypepipe[2]; -#endif /* WIN32 */ - switch_thread_t *tcp_srv_thread; - switch_thread_t *tcp_cli_thread; - switch_thread_t *skypiax_do_controldev_thread_thread; - switch_thread_t *skypiax_do_skype_thread_thread; - short audiobuf[SAMPLES_PER_FRAME]; - 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; - char skype_user[256]; - char skype_password[256]; -}; - -typedef private_t private_t; -#endif - struct private_object { unsigned int flags; switch_codec_t read_codec; @@ -303,9 +232,6 @@ char skype_user[256]; char skype_password[256]; - - - }; typedef struct private_object private_t; @@ -313,10 +239,10 @@ void *SWITCH_THREAD_FUNC do_skype_thread(switch_thread_t * thread, void *obj); void skypiax_tech_init(private_t * tech_pvt, switch_core_session_t * session); switch_status_t skypiax_skypeaudio_read(private_t * tech_pvt); -int skypiax_skypeaudio_init(private_t *p); -int skypiax_skype_write(private_t *p, char *msg_to_skype); -int skypiax_skype_read(private_t *p); +int skypiax_skypeaudio_init(private_t * p); +int skypiax_skype_write(private_t * p, char *msg_to_skype); +int skypiax_skype_read(private_t * p); -int skypiax_skype_call(private_t *p, char *idest, int timeout, +int skypiax_skype_call(private_t * p, char *idest, int timeout, switch_core_session_t * session); -int skypiax_skype_senddigit(private_t *p, char digit); +int skypiax_skype_senddigit(private_t * p, char digit); Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c Sun Jan 11 06:15:27 2009 @@ -108,8 +108,8 @@ if ((SAMPLERATE_SKYPIAX - 8000) == 0) { - ERRORA("tech_pvt->audiopipe[0] = %d\n", SKYPIAX_P_LOG, tech_pvt->audiopipe[0]); - ERRORA("tech_pvt->audiopipe[1] = %d\n", SKYPIAX_P_LOG, tech_pvt->audiopipe[1]); + ERRORA("tech_pvt->audiopipe[0] = %d\n", SKYPIAX_P_LOG, tech_pvt->audiopipe[0]); + ERRORA("tech_pvt->audiopipe[1] = %d\n", SKYPIAX_P_LOG, tech_pvt->audiopipe[1]); if (len > 0) { a = 0; for (i = 0; i < len / sizeof(short); i++) { @@ -156,8 +156,8 @@ } } else if (SAMPLERATE_SKYPIAX == 16000) { - //ERRORA("tech_pvt->audiopipe[0] = %d\n", SKYPIAX_P_LOG, tech_pvt->audiopipe[0]); - //ERRORA("tech_pvt->audiopipe[1] = %d\n", SKYPIAX_P_LOG, tech_pvt->audiopipe[1]); + //ERRORA("tech_pvt->audiopipe[0] = %d\n", SKYPIAX_P_LOG, tech_pvt->audiopipe[0]); + //ERRORA("tech_pvt->audiopipe[1] = %d\n", SKYPIAX_P_LOG, tech_pvt->audiopipe[1]); if (len > 0) { if (len == SAMPLES_PER_FRAME * sizeof(short)) { #ifdef WIN32 @@ -288,7 +288,7 @@ memset(&my_addr, 0, sizeof(my_addr)); my_addr.sin_family = AF_INET; my_addr.sin_addr.s_addr = htonl(0x7f000001); /* use the localhost */ - my_addr.sin_port = htons(tech_pvt->tcp_cli_port); //FIXME configurable! + my_addr.sin_port = htons(tech_pvt->tcp_cli_port); //FIXME configurable! if ((s = socket(AF_INET, SOCK_STREAM, 0)) < 0) { ERRORA("socket Error\n", SKYPIAX_P_LOG); @@ -438,12 +438,14 @@ return NULL; } -int skypiax_skypeaudio_init(private_t *tech_pvt) +int skypiax_skypeaudio_init(private_t * tech_pvt) { #ifdef WIN32 switch_status_t rv; - rv = switch_file_pipe_create(&tech_pvt->audiopipe[0], &tech_pvt->audiopipe[1], skypiax_module_pool); + rv = + switch_file_pipe_create(&tech_pvt->audiopipe[0], &tech_pvt->audiopipe[1], + skypiax_module_pool); rv = switch_file_pipe_create(&tech_pvt->audioskypepipe[0], &tech_pvt->audioskypepipe[1], skypiax_module_pool); @@ -496,8 +498,8 @@ samples = read(tech_pvt->audiopipe[0], tech_pvt->read_frame.data, samples); #endif /* WIN32 */ - //ERRORA("tech_pvt->audiopipe[0] = %d\n", SKYPIAX_P_LOG, tech_pvt->audiopipe[0]); - //ERRORA("tech_pvt->audiopipe[1] = %d\n", SKYPIAX_P_LOG, tech_pvt->audiopipe[1]); + //ERRORA("tech_pvt->audiopipe[0] = %d\n", SKYPIAX_P_LOG, tech_pvt->audiopipe[0]); + //ERRORA("tech_pvt->audiopipe[1] = %d\n", SKYPIAX_P_LOG, tech_pvt->audiopipe[1]); if (samples != SAMPLES_PER_FRAME * sizeof(short)) { if (samples) ERRORA("SRV PIPE READ=====> NOT GOOD samples=%u expected=%lu\n", SKYPIAX_P_LOG, @@ -599,7 +601,8 @@ break; default: if (p && tech_pvt->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIAttach) { - if (uiMessage == tech_pvt->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIAttach) { + if (uiMessage == + tech_pvt->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIAttach) { switch (ulParam) { case SKYPECONTROLAPI_ATTACH_SUCCESS: if (!tech_pvt->SkypiaxHandles.api_connected) { @@ -618,7 +621,8 @@ SendMessage(HWND_BROADCAST, tech_pvt->SkypiaxHandles. win32_uiGlobal_MsgID_SkypeControlAPIDiscover, - (WPARAM) tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle, 0); + (WPARAM) tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle, + 0); } break; case SKYPECONTROLAPI_ATTACH_REFUSED: @@ -634,7 +638,8 @@ SendMessage(HWND_BROADCAST, tech_pvt->SkypiaxHandles. win32_uiGlobal_MsgID_SkypeControlAPIDiscover, - (WPARAM) tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle, 0); + (WPARAM) tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle, + 0); } break; default: @@ -652,7 +657,7 @@ return (lReturnCode); } -int win32_Initialize_CreateWindowClass(private_t *tech_pvt) +int win32_Initialize_CreateWindowClass(private_t * tech_pvt) { unsigned char *paucUUIDString; RPC_STATUS lUUIDResult; @@ -669,7 +674,8 @@ WNDCLASS oWindowClass; strcpy(tech_pvt->SkypiaxHandles.win32_acInit_WindowClassName, "Skype-API-Skypiax-"); - strcat(tech_pvt->SkypiaxHandles.win32_acInit_WindowClassName, (char *) paucUUIDString); + strcat(tech_pvt->SkypiaxHandles.win32_acInit_WindowClassName, + (char *) paucUUIDString); oWindowClass.style = CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS; oWindowClass.lpfnWndProc = (WNDPROC) & skypiax_skype_present; @@ -694,7 +700,7 @@ return (fReturnStatus); } -void win32_DeInitialize_DestroyWindowClass(private_t *tech_pvt) +void win32_DeInitialize_DestroyWindowClass(private_t * tech_pvt) { UnregisterClass(tech_pvt->SkypiaxHandles.win32_acInit_WindowClassName, tech_pvt->SkypiaxHandles.win32_hInit_ProcessHandle); @@ -702,17 +708,18 @@ tech_pvt->SkypiaxHandles.win32_hInit_ProcessHandle = NULL; } -int win32_Initialize_CreateMainWindow(private_t *tech_pvt) +int win32_Initialize_CreateMainWindow(private_t * tech_pvt) { tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle = CreateWindowEx(WS_EX_APPWINDOW | WS_EX_WINDOWEDGE, tech_pvt->SkypiaxHandles.win32_acInit_WindowClassName, "", WS_BORDER | WS_SYSMENU | WS_MINIMIZEBOX, CW_USEDEFAULT, CW_USEDEFAULT, - 128, 128, NULL, 0, tech_pvt->SkypiaxHandles.win32_hInit_ProcessHandle, p); + 128, 128, NULL, 0, tech_pvt->SkypiaxHandles.win32_hInit_ProcessHandle, + p); return (tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle != NULL ? 1 : 0); } -void win32_DeInitialize_DestroyMainWindow(private_t *tech_pvt) +void win32_DeInitialize_DestroyMainWindow(private_t * tech_pvt) { if (tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle != NULL) DestroyWindow(tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle), @@ -831,10 +838,9 @@ //XLockDisplay(disp); status = - XGetWindowProperty(SkypiaxHandles->disp, - DefaultRootWindow(SkypiaxHandles->disp), skype_inst, 0, 1, - False, XA_WINDOW, &type_ret, &format_ret, &nitems_ret, - &bytes_after_ret, &prop); + XGetWindowProperty(SkypiaxHandles->disp, DefaultRootWindow(SkypiaxHandles->disp), + skype_inst, 0, 1, False, XA_WINDOW, &type_ret, &format_ret, + &nitems_ret, &bytes_after_ret, &prop); //XUnlockDisplay(disp); /* sanity check */ @@ -986,7 +992,7 @@ } #endif // WIN32 -int skypiax_skype_write(private_t *tech_pvt, char *msg_to_skype) +int skypiax_skype_write(private_t * tech_pvt, char *msg_to_skype) { #ifdef WIN32 static char acInputRow[1024]; @@ -1050,7 +1056,7 @@ } -int skypiax_skype_read(private_t *tech_pvt) +int skypiax_skype_read(private_t * tech_pvt) { char read_from_pipe[4096]; @@ -1280,15 +1286,16 @@ SKYPIAX_P_LOG, messaggio, obj, id, prop, value, where ? where : "NULL"); if (!strcasecmp(prop, "PARTNER_HANDLE")) { - strncpy(tech_pvt->callid_number, value, sizeof(tech_pvt->callid_number) - 1); + strncpy(tech_pvt->callid_number, value, + sizeof(tech_pvt->callid_number) - 1); WARNINGA ("the skype_call %s caller PARTNER_HANDLE (tech_pvt->callid_number) is: %s\n", SKYPIAX_P_LOG, id, tech_pvt->callid_number); return CALLFLOW_INCOMING_RING; } if (!strcasecmp(prop, "PARTNER_DISPNAME")) { - snprintf(tech_pvt->callid_name, sizeof(tech_pvt->callid_name) - 1, "%s%s%s", value, - where ? " " : "", where ? where : ""); + snprintf(tech_pvt->callid_name, sizeof(tech_pvt->callid_name) - 1, "%s%s%s", + value, where ? " " : "", where ? where : ""); WARNINGA ("the skype_call %s caller PARTNER_DISPNAME (tech_pvt->callid_name) is: %s\n", SKYPIAX_P_LOG, id, tech_pvt->callid_name); @@ -1349,7 +1356,7 @@ if (tech_pvt->interface_state != SKYPIAX_STATE_DIALING) { /* we are not calling out */ - if (!strlen(tech_pvt->skype_call_id)) { //FIXME + if (!strlen(tech_pvt->skype_call_id)) { //FIXME /* we are not inside an active call */ tech_pvt->skype_callflow = CALLFLOW_STATUS_RINGING; tech_pvt->interface_state = SKYPIAX_STATE_RING; @@ -1369,7 +1376,8 @@ if (option_debug) DEBUGA_SKYPE("We answered a Skype RING on skype_call %s\n", SKYPIAX_P_LOG, id); - strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); + strncpy(tech_pvt->skype_call_id, id, + sizeof(tech_pvt->skype_call_id) - 1); } else { /* we're owned, we're in a call, let's refuse */ sprintf(msg_to_skype, "ALTER CALL %s END HANGUP", id); @@ -1385,7 +1393,8 @@ tech_pvt->skype_callflow = CALLFLOW_STATUS_RINGING; tech_pvt->interface_state = SKYPIAX_STATE_RINGING; //FIXME ast_queue_control(tech_pvt->owner, SKYPIAX_CONTROL_RINGING); - strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); + strncpy(tech_pvt->skype_call_id, id, + sizeof(tech_pvt->skype_call_id) - 1); DEBUGA_SKYPE("Our remote party in skype_call %s is RINGING\n", SKYPIAX_P_LOG, id); } @@ -1452,7 +1461,8 @@ DEBUGA_SKYPE ("we tried to call Skype on skype_call %s and Skype has now REFUSED\n", SKYPIAX_P_LOG, id); - strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1); + strncpy(tech_pvt->skype_call_id, id, + sizeof(tech_pvt->skype_call_id) - 1); tech_pvt->interface_state = SKYPIAX_STATE_DOWN; tech_pvt->skype_call_id[0] = '\0'; if (option_debug > 100) { @@ -1493,14 +1503,16 @@ switch_threadattr_detach_set(thd_attr, 1); switch_threadattr_stacksize_set(thd_attr, SWITCH_THREAD_STACKSIZE); switch_thread_create(&tech_pvt->tcp_srv_thread, thd_attr, - skypiax_do_tcp_srv_thread, tech_pvt, skypiax_module_pool); + skypiax_do_tcp_srv_thread, tech_pvt, + skypiax_module_pool); DEBUGA_SKYPE("started tcp_srv_thread thread.\n", SKYPIAX_P_LOG); switch_threadattr_create(&thd_attr, skypiax_module_pool); switch_threadattr_detach_set(thd_attr, 1); switch_threadattr_stacksize_set(thd_attr, SWITCH_THREAD_STACKSIZE); switch_thread_create(&tech_pvt->tcp_cli_thread, thd_attr, - skypiax_do_tcp_cli_thread, tech_pvt, skypiax_module_pool); + skypiax_do_tcp_cli_thread, tech_pvt, + skypiax_module_pool); DEBUGA_SKYPE("started tcp_cli_thread thread.\n", SKYPIAX_P_LOG); switch_sleep(100000); sprintf(msg_to_skype, "ALTER CALL %s SET_OUTPUT PORT=\"%d\"", id, @@ -1530,10 +1542,13 @@ switch_core_session_request(skypiax_endpoint_interface, NULL)) != 0) { switch_core_session_add_stream(session, NULL); - channel = switch_core_session_get_channel(session); - skypiax_tech_init(tech_pvt, session); + channel = switch_core_session_get_channel(session); + skypiax_tech_init(tech_pvt, session); #if 0 - if ((tech_pvt = (private_t *) switch_core_session_alloc(session, sizeof(private_t))) != 0) { + if ((tech_pvt = + (private_t *) switch_core_session_alloc(session, + sizeof(private_t))) != + 0) { channel = switch_core_session_get_channel(session); skypiax_tech_init(tech_pvt, session); } else { @@ -1545,9 +1560,11 @@ if ((tech_pvt->caller_profile = switch_caller_profile_new(switch_core_session_get_pool(session), - "skypiax", "XML", tech_pvt->callid_name, - tech_pvt->callid_number, NULL, "calling_ani", - NULL, NULL, "mod_skypiax", "public", + "skypiax", "XML", + tech_pvt->callid_name, + tech_pvt->callid_number, NULL, + "calling_ani", NULL, NULL, + "mod_skypiax", "public", "5000")) != 0) { char name[128]; //switch_snprintf(name, sizeof(name), "skypiax/%s/%s", tech_pvt->name, tech_pvt->caller_profile->destination_number); @@ -1611,7 +1628,7 @@ return 0; } -int skypiax_skype_senddigit(private_t *tech_pvt, char digit) +int skypiax_skype_senddigit(private_t * tech_pvt, char digit) { char msg_to_skype[1024]; if (option_debug > 10) { @@ -1630,7 +1647,7 @@ return 0; } -int skypiax_skype_call(private_t *tech_pvt, char *idest, int timeout, +int skypiax_skype_call(private_t * tech_pvt, char *idest, int timeout, switch_core_session_t * session) { char *rdest; From gmaruzz at freeswitch.org Sun Jan 11 05:28:39 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Sun, 11 Jan 2009 07:28:39 -0600 Subject: [Freeswitch-branches] [commit] r11121 - freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax Message-ID: Author: gmaruzz Date: Sun Jan 11 07:28:39 2009 New Revision: 11121 Log: skypiax: beginning cleaning Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/mod_skypiax.c freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax.h freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.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 Sun Jan 11 07:28:39 2009 @@ -2,7 +2,7 @@ SWITCH_MODULE_LOAD_FUNCTION(mod_skypiax_load); SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_skypiax_shutdown); -SWITCH_MODULE_DEFINITION(mod_skypiax, mod_skypiax_load, mod_skypiax_shutdown, NULL); //mod_skypiax_runtime); +SWITCH_MODULE_DEFINITION(mod_skypiax, mod_skypiax_load, mod_skypiax_shutdown, NULL); static struct { int debug; @@ -152,7 +152,7 @@ if (strlen(tech_pvt->skype_call_id)) { //switch_thread_cond_signal(tech_pvt->cond); - WARNINGA("hanging up skype call: %s\n", SKYPIAX_P_LOG, tech_pvt->skype_call_id); + DEBUGA_SKYPE("hanging up skype call: %s\n", SKYPIAX_P_LOG, tech_pvt->skype_call_id); sprintf(msg_to_skype, "ALTER CALL %s HANGUP", tech_pvt->skype_call_id); skypiax_skype_write(tech_pvt, msg_to_skype); } @@ -260,7 +260,7 @@ private_t *tech_pvt = switch_core_session_get_private(session); switch_assert(tech_pvt != NULL); - NOTICA("DTMF: %c\n", SKYPIAX_P_LOG, dtmf->digit); + DEBUGA_SKYPE("DTMF: %c\n", SKYPIAX_P_LOG, dtmf->digit); skypiax_skype_senddigit(tech_pvt, dtmf->digit); @@ -411,7 +411,7 @@ break; default: { - WARNINGA("MSG_ID=%d\n", SKYPIAX_P_LOG, msg->message_id); + DEBUGA_SKYPE("MSG_ID=%d\n", SKYPIAX_P_LOG, msg->message_id); } break; } @@ -493,7 +493,6 @@ DEBUGA_SKYPE("globals.SKYPIAX_INTERFACES[%d].name=|||%s|||?\n", SKYPIAX_P_LOG, i, globals.SKYPIAX_INTERFACES[i].name); tech_pvt = &globals.SKYPIAX_INTERFACES[i]; //FIXME - //globals.SKYPIAX_INTERFACES[i].tech_pvt = tech_pvt; //FIXME found = 1; break; } @@ -527,15 +526,6 @@ snprintf(name, sizeof(name), "skypiax/%s", outbound_profile->destination_number); //snprintf(name, sizeof(name), "skypiax/%s", tech_pvt->name); switch_channel_set_name(channel, name); - NOTICA("outbound_profile->destination_number=|||%s|||\n", SKYPIAX_P_LOG, - outbound_profile->destination_number); - NOTICA("outbound_profile->username=|||%s|||\n", SKYPIAX_P_LOG, - outbound_profile->username); - NOTICA("outbound_profile->caller_id_name=|||%s|||\n", SKYPIAX_P_LOG, - outbound_profile->caller_id_name); - NOTICA("outbound_profile->caller_id_number=|||%s|||\n", SKYPIAX_P_LOG, - outbound_profile->caller_id_number); - caller_profile = switch_caller_profile_clone(*new_session, outbound_profile); switch_channel_set_caller_profile(channel, caller_profile); tech_pvt->caller_profile = caller_profile; @@ -560,7 +550,7 @@ * \brief This thread runs during a call, and monitor the interface serial port for signaling, like hangup, caller id, etc * */ -static void *SWITCH_THREAD_FUNC skypiax_do_controldev_thread(switch_thread_t * thread, +static void *SWITCH_THREAD_FUNC skypiax_signaling_thread_func(switch_thread_t * thread, void *obj) { private_t *tech_pvt = obj; @@ -569,7 +559,7 @@ DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); - DEBUGA_SKYPE("In skypiax_do_controldev_thread: started, p=%p\n", SKYPIAX_P_LOG, + DEBUGA_SKYPE("In skypiax_signaling_thread_func: started, p=%p\n", SKYPIAX_P_LOG, (void *) tech_pvt); while (forever) { @@ -789,8 +779,8 @@ if (interface_id && interface_id < SKYPIAX_MAX_INTERFACES) { private_t newconf; - switch_threadattr_t *do_skype_thd_attr = NULL; - switch_threadattr_t *skypiax_do_controldev_thread_thd_attr = NULL; + switch_threadattr_t *skypiax_skypeapi_thread_attr = NULL; + switch_threadattr_t *skypiax_signaling_thread_attr = NULL; memset(&newconf, '\0', sizeof(newconf)); globals.SKYPIAX_INTERFACES[interface_id] = newconf; @@ -849,25 +839,25 @@ ("interface_id=%d globals.SKYPIAX_INTERFACES[interface_id].dialplan=%s\n", SKYPIAX_P_LOG, interface_id, globals.SKYPIAX_INTERFACES[interface_id].dialplan); - NOTICA("STARTING interface_id=%d\n", SKYPIAX_P_LOG, interface_id); + DEBUGA_SKYPE("STARTING interface_id=%d\n", SKYPIAX_P_LOG, interface_id); - switch_threadattr_create(&do_skype_thd_attr, skypiax_module_pool); - switch_threadattr_stacksize_set(do_skype_thd_attr, SWITCH_THREAD_STACKSIZE); + switch_threadattr_create(&skypiax_skypeapi_thread_attr, skypiax_module_pool); + switch_threadattr_stacksize_set(skypiax_skypeapi_thread_attr, SWITCH_THREAD_STACKSIZE); switch_thread_create(&globals.SKYPIAX_INTERFACES[interface_id]. - skypiax_do_skype_thread_thread, do_skype_thd_attr, - do_skype_thread, &globals.SKYPIAX_INTERFACES[interface_id], + skypiax_skypeapi_thread, skypiax_skypeapi_thread_attr, + skypiax_skypeapi_thread_func, &globals.SKYPIAX_INTERFACES[interface_id], skypiax_module_pool); switch_sleep(100000); - switch_threadattr_create(&skypiax_do_controldev_thread_thd_attr, + switch_threadattr_create(&skypiax_signaling_thread_attr, skypiax_module_pool); - switch_threadattr_stacksize_set(skypiax_do_controldev_thread_thd_attr, + switch_threadattr_stacksize_set(skypiax_signaling_thread_attr, SWITCH_THREAD_STACKSIZE); switch_thread_create(&globals.SKYPIAX_INTERFACES[interface_id]. - skypiax_do_controldev_thread_thread, - skypiax_do_controldev_thread_thd_attr, - skypiax_do_controldev_thread, + skypiax_signaling_thread, + skypiax_signaling_thread_attr, + skypiax_signaling_thread_func, &globals.SKYPIAX_INTERFACES[interface_id], skypiax_module_pool); @@ -878,7 +868,7 @@ while (globals.SKYPIAX_INTERFACES[interface_id].SkypiaxHandles.api_connected == 0) { switch_sleep(1000); } - NOTICA("STARTED interface_id=%d\n", SKYPIAX_P_LOG, interface_id); + DEBUGA_SKYPE("STARTED interface_id=%d\n", SKYPIAX_P_LOG, interface_id); } else { ERRORA("interface id %d is higher than SKYPIAX_MAX_INTERFACES (%d)\n", @@ -944,7 +934,7 @@ for (interface_id = 0; interface_id < SKYPIAX_MAX_INTERFACES; interface_id++) { tech_pvt = &globals.SKYPIAX_INTERFACES[interface_id]; - if (globals.SKYPIAX_INTERFACES[interface_id].skypiax_do_controldev_thread_thread) { + if (globals.SKYPIAX_INTERFACES[interface_id].skypiax_signaling_thread) { #ifdef WIN32 switch_file_write(tech_pvt->SkypiaxHandles.fdesc[1], "sciutati", &howmany); // let's the controldev_thread die #else /* WIN32 */ @@ -952,9 +942,9 @@ #endif /* WIN32 */ } - if (globals.SKYPIAX_INTERFACES[interface_id].skypiax_do_skype_thread_thread) { + if (globals.SKYPIAX_INTERFACES[interface_id].skypiax_skypeapi_thread) { #ifdef WIN32 - if (SendMessage(tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle, WM_DESTROY, 0, 0) == FALSE) { // let's the do_skype_thread die + if (SendMessage(tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle, WM_DESTROY, 0, 0) == FALSE) { // let's the skypiax_skypeapi_thread_func die ERRORA("WHY FALSE HERE? %d\n", SKYPIAX_P_LOG, GetLastError()); } #else @@ -978,15 +968,15 @@ x--; switch_yield(20000); } - if (globals.SKYPIAX_INTERFACES[interface_id].skypiax_do_controldev_thread_thread) { + if (globals.SKYPIAX_INTERFACES[interface_id].skypiax_signaling_thread) { switch_thread_join(&status, globals.SKYPIAX_INTERFACES[interface_id]. - skypiax_do_controldev_thread_thread); + skypiax_signaling_thread); } - if (globals.SKYPIAX_INTERFACES[interface_id].skypiax_do_skype_thread_thread) { + if (globals.SKYPIAX_INTERFACES[interface_id].skypiax_skypeapi_thread) { switch_thread_join(&status, globals.SKYPIAX_INTERFACES[interface_id]. - skypiax_do_skype_thread_thread); + skypiax_skypeapi_thread); } } return SWITCH_STATUS_SUCCESS; Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax.h ============================================================================== --- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax.h (original) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax.h Sun Jan 11 07:28:39 2009 @@ -41,8 +41,6 @@ #include #include #include -#else //WIN32 -//FIXME include? #endif //WIN32 #ifdef _MSC_VER @@ -53,7 +51,6 @@ #define SAMPLERATE_SKYPIAX 16000 #define SAMPLES_PER_FRAME SAMPLERATE_SKYPIAX/50 -//#define SKYPIAX_SVN_VERSION "SVN 123456" #define SKYPIAX_SVN_VERSION SWITCH_VERSION_REVISION typedef enum { @@ -164,7 +161,6 @@ switch_caller_profile_t *caller_profile; switch_mutex_t *mutex; switch_mutex_t *flag_mutex; - //private_t *p; //switch_thread_cond_t *cond; char interface_id[80]; @@ -195,7 +191,6 @@ 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]; @@ -213,8 +208,8 @@ #endif /* WIN32 */ switch_thread_t *tcp_srv_thread; switch_thread_t *tcp_cli_thread; - switch_thread_t *skypiax_do_controldev_thread_thread; - switch_thread_t *skypiax_do_skype_thread_thread; + switch_thread_t *skypiax_signaling_thread; + switch_thread_t *skypiax_skypeapi_thread; short audiobuf[SAMPLES_PER_FRAME]; int audiobuf_is_loaded; @@ -228,7 +223,6 @@ //int phonebook_text_lenght; FILE *phonebook_writing_fp; int skypiax_dir_entry_extension_prefix; - //void *tech_pvt; char skype_user[256]; char skype_password[256]; @@ -236,13 +230,13 @@ typedef struct private_object private_t; -void *SWITCH_THREAD_FUNC do_skype_thread(switch_thread_t * thread, void *obj); +void *SWITCH_THREAD_FUNC skypiax_skypeapi_thread_func(switch_thread_t * thread, void *obj); void skypiax_tech_init(private_t * tech_pvt, switch_core_session_t * session); switch_status_t skypiax_skypeaudio_read(private_t * tech_pvt); -int skypiax_skypeaudio_init(private_t * p); -int skypiax_skype_write(private_t * p, char *msg_to_skype); -int skypiax_skype_read(private_t * p); +int skypiax_skypeaudio_init(private_t * tech_pvt); +int skypiax_skype_write(private_t * tech_pvt, char *msg_to_skype); +int skypiax_skype_read(private_t * tech_pvt); -int skypiax_skype_call(private_t * p, char *idest, int timeout, +int skypiax_skype_call(private_t * tech_pvt, char *idest, int timeout, switch_core_session_t * session); -int skypiax_skype_senddigit(private_t * p, char digit); +int skypiax_skype_senddigit(private_t * tech_pvt, char digit); Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c Sun Jan 11 07:28:39 2009 @@ -460,9 +460,6 @@ } #endif /* WIN32 */ - ERRORA("tech_pvt->audiopipe[0] = %d\n", SKYPIAX_P_LOG, tech_pvt->audiopipe[0]); - ERRORA("tech_pvt->audiopipe[1] = %d\n", SKYPIAX_P_LOG, tech_pvt->audiopipe[1]); - if (option_debug > 10) { DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); } @@ -728,7 +725,7 @@ DWORD win32_dwThreadId; -void *SWITCH_THREAD_FUNC do_skype_thread(switch_thread_t * thread, void *obj) +void *SWITCH_THREAD_FUNC skypiax_skypeapi_thread_func(switch_thread_t * thread, void *obj) { /* create window class */ /* create dummy/hidden window for processing messages */ @@ -877,7 +874,7 @@ switch_sleep(1000); } -void *SWITCH_THREAD_FUNC do_skype_thread(switch_thread_t * thread, void *obj) +void *SWITCH_THREAD_FUNC skypiax_skypeapi_thread_func(switch_thread_t * thread, void *obj) { private_t *tech_pvt = obj; @@ -1288,7 +1285,7 @@ if (!strcasecmp(prop, "PARTNER_HANDLE")) { strncpy(tech_pvt->callid_number, value, sizeof(tech_pvt->callid_number) - 1); - WARNINGA + DEBUGA_SKYPE ("the skype_call %s caller PARTNER_HANDLE (tech_pvt->callid_number) is: %s\n", SKYPIAX_P_LOG, id, tech_pvt->callid_number); return CALLFLOW_INCOMING_RING; @@ -1296,7 +1293,7 @@ if (!strcasecmp(prop, "PARTNER_DISPNAME")) { snprintf(tech_pvt->callid_name, sizeof(tech_pvt->callid_name) - 1, "%s%s%s", value, where ? " " : "", where ? where : ""); - WARNINGA + DEBUGA_SKYPE ("the skype_call %s caller PARTNER_DISPNAME (tech_pvt->callid_name) is: %s\n", SKYPIAX_P_LOG, id, tech_pvt->callid_name); } @@ -1325,7 +1322,7 @@ if (channel) { switch_dtmf_t dtmf = { (char) value[0], switch_core_default_dtmf_duration(0) }; - NOTICA("%c DTMF %s\n", SKYPIAX_P_LOG, dtmf.digit, + DEBUGA_SKYPE("%c DTMF %s\n", SKYPIAX_P_LOG, dtmf.digit, switch_channel_get_name(channel)); switch_mutex_lock(tech_pvt->flag_mutex); switch_channel_queue_dtmf(channel, &dtmf); @@ -1536,7 +1533,7 @@ //private_t *tech_pvt = NULL; switch_channel_t *channel = NULL; - NOTICA("New Inbound Channel!\n", SKYPIAX_P_LOG); + DEBUGA_SKYPE("New Inbound Channel!\n", SKYPIAX_P_LOG); if ((session = switch_core_session_request(skypiax_endpoint_interface, @@ -1580,7 +1577,6 @@ switch_core_session_destroy(&session); } } - //DEBUGA_SKYPE("skype_call: %s, answered\n", SKYPIAX_P_LOG, id); switch_channel_mark_answered(channel); } else { switch_core_session_t *session = NULL; @@ -1635,7 +1631,7 @@ DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); } - NOTICA("DIGIT received: %c\n", SKYPIAX_P_LOG, digit); + DEBUGA_SKYPE("DIGIT received: %c\n", SKYPIAX_P_LOG, digit); sprintf(msg_to_skype, "SET CALL %s DTMF %c", tech_pvt->skype_call_id, digit); @@ -1665,9 +1661,7 @@ rdest = strchr(idest, '/'); *rdest++ = '\0'; - if (option_debug) - DEBUGA_SKYPE("Calling Skype, rdest is: %s\n", SKYPIAX_P_LOG, rdest); - NOTICA("Calling Skype, rdest is: %s\n", SKYPIAX_P_LOG, rdest); + DEBUGA_SKYPE("Calling Skype, rdest is: %s\n", SKYPIAX_P_LOG, rdest); skypiax_skype_write(tech_pvt, "SET AGC OFF"); switch_sleep(10000); skypiax_skype_write(tech_pvt, "SET AEC OFF"); From gmaruzz at freeswitch.org Sun Jan 11 05:43:41 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Sun, 11 Jan 2009 07:43:41 -0600 Subject: [Freeswitch-branches] [commit] r11122 - freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax Message-ID: Author: gmaruzz Date: Sun Jan 11 07:43:41 2009 New Revision: 11122 Log: skypiax: cosmetics 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 Sun Jan 11 07:43:41 2009 @@ -839,7 +839,7 @@ ("interface_id=%d globals.SKYPIAX_INTERFACES[interface_id].dialplan=%s\n", SKYPIAX_P_LOG, interface_id, globals.SKYPIAX_INTERFACES[interface_id].dialplan); - DEBUGA_SKYPE("STARTING interface_id=%d\n", SKYPIAX_P_LOG, interface_id); + NOTICA("STARTING interface_id=%d\n", SKYPIAX_P_LOG, interface_id); switch_threadattr_create(&skypiax_skypeapi_thread_attr, skypiax_module_pool); switch_threadattr_stacksize_set(skypiax_skypeapi_thread_attr, SWITCH_THREAD_STACKSIZE); @@ -868,7 +868,7 @@ while (globals.SKYPIAX_INTERFACES[interface_id].SkypiaxHandles.api_connected == 0) { switch_sleep(1000); } - DEBUGA_SKYPE("STARTED interface_id=%d\n", SKYPIAX_P_LOG, interface_id); + NOTICA("STARTED interface_id=%d\n", SKYPIAX_P_LOG, interface_id); } else { ERRORA("interface id %d is higher than SKYPIAX_MAX_INTERFACES (%d)\n", From gmaruzz at freeswitch.org Sun Jan 11 05:44:23 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Sun, 11 Jan 2009 07:44:23 -0600 Subject: [Freeswitch-branches] [commit] r11123 - freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax Message-ID: Author: gmaruzz Date: Sun Jan 11 07:44:22 2009 New Revision: 11123 Log: skypiax: indent -gnu -ts4 -br -brs -cdw -lp -ce -nbfda -npcs -nprs -npsl -nbbo -saf -sai -saw -cs -bbo -nhnl -nut -sob -l90 Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/mod_skypiax.c freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax.h freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.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 Sun Jan 11 07:44:22 2009 @@ -551,7 +551,7 @@ * */ static void *SWITCH_THREAD_FUNC skypiax_signaling_thread_func(switch_thread_t * thread, - void *obj) + void *obj) { private_t *tech_pvt = obj; int res; @@ -842,21 +842,21 @@ NOTICA("STARTING interface_id=%d\n", SKYPIAX_P_LOG, interface_id); switch_threadattr_create(&skypiax_skypeapi_thread_attr, skypiax_module_pool); - switch_threadattr_stacksize_set(skypiax_skypeapi_thread_attr, SWITCH_THREAD_STACKSIZE); + switch_threadattr_stacksize_set(skypiax_skypeapi_thread_attr, + SWITCH_THREAD_STACKSIZE); switch_thread_create(&globals.SKYPIAX_INTERFACES[interface_id]. skypiax_skypeapi_thread, skypiax_skypeapi_thread_attr, - skypiax_skypeapi_thread_func, &globals.SKYPIAX_INTERFACES[interface_id], + skypiax_skypeapi_thread_func, + &globals.SKYPIAX_INTERFACES[interface_id], skypiax_module_pool); switch_sleep(100000); - switch_threadattr_create(&skypiax_signaling_thread_attr, - skypiax_module_pool); + switch_threadattr_create(&skypiax_signaling_thread_attr, skypiax_module_pool); switch_threadattr_stacksize_set(skypiax_signaling_thread_attr, SWITCH_THREAD_STACKSIZE); switch_thread_create(&globals.SKYPIAX_INTERFACES[interface_id]. - skypiax_signaling_thread, - skypiax_signaling_thread_attr, + skypiax_signaling_thread, skypiax_signaling_thread_attr, skypiax_signaling_thread_func, &globals.SKYPIAX_INTERFACES[interface_id], skypiax_module_pool); Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax.h ============================================================================== --- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax.h (original) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax.h Sun Jan 11 07:44:22 2009 @@ -230,7 +230,8 @@ typedef struct private_object private_t; -void *SWITCH_THREAD_FUNC skypiax_skypeapi_thread_func(switch_thread_t * thread, void *obj); +void *SWITCH_THREAD_FUNC skypiax_skypeapi_thread_func(switch_thread_t * thread, + void *obj); void skypiax_tech_init(private_t * tech_pvt, switch_core_session_t * session); switch_status_t skypiax_skypeaudio_read(private_t * tech_pvt); int skypiax_skypeaudio_init(private_t * tech_pvt); Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c Sun Jan 11 07:44:22 2009 @@ -1323,7 +1323,7 @@ switch_dtmf_t dtmf = { (char) value[0], switch_core_default_dtmf_duration(0) }; DEBUGA_SKYPE("%c DTMF %s\n", SKYPIAX_P_LOG, dtmf.digit, - switch_channel_get_name(channel)); + switch_channel_get_name(channel)); switch_mutex_lock(tech_pvt->flag_mutex); switch_channel_queue_dtmf(channel, &dtmf); switch_set_flag(tech_pvt, TFLAG_DTMF); From gmaruzz at freeswitch.org Sun Jan 11 06:30:59 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Sun, 11 Jan 2009 08:30:59 -0600 Subject: [Freeswitch-branches] [commit] r11124 - freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax Message-ID: Author: gmaruzz Date: Sun Jan 11 08:30:59 2009 New Revision: 11124 Log: skypiax: compile and works on windows Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c Sun Jan 11 08:30:59 2009 @@ -563,7 +563,7 @@ { LRESULT lReturnCode; int fIssueDefProc; - //private_t *p = NULL; + private_t *tech_pvt = NULL; lReturnCode = 0; fIssueDefProc = 0; @@ -571,7 +571,7 @@ switch (uiMessage) { case WM_CREATE: tech_pvt = (private_t *) ((LPCREATESTRUCT) ulParam)->lpCreateParams; - SetWindowLong(hWindow, GWL_USERDATA, (LONG) p); + SetWindowLong(hWindow, GWL_USERDATA, (LONG) tech_pvt); DEBUGA_SKYPE("got CREATE\n", SKYPIAX_P_LOG); break; case WM_DESTROY: @@ -597,13 +597,13 @@ } break; default: - if (p && tech_pvt->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIAttach) { + if (tech_pvt && tech_pvt->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIAttach) { if (uiMessage == tech_pvt->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIAttach) { switch (ulParam) { case SKYPECONTROLAPI_ATTACH_SUCCESS: if (!tech_pvt->SkypiaxHandles.api_connected) { - NOTICA("\n\n\tConnected to Skype API!\n", SKYPIAX_P_LOG); + DEBUGA_SKYPE("\n\n\tConnected to Skype API!\n", SKYPIAX_P_LOG); tech_pvt->SkypiaxHandles.win32_hGlobal_SkypeAPIWindowHandle = (HWND) uiParam; tech_pvt->SkypiaxHandles.win32_hGlobal_SkypeAPIWindowHandle = tech_pvt->SkypiaxHandles.win32_hGlobal_SkypeAPIWindowHandle; @@ -712,7 +712,7 @@ tech_pvt->SkypiaxHandles.win32_acInit_WindowClassName, "", WS_BORDER | WS_SYSMENU | WS_MINIMIZEBOX, CW_USEDEFAULT, CW_USEDEFAULT, 128, 128, NULL, 0, tech_pvt->SkypiaxHandles.win32_hInit_ProcessHandle, - p); + tech_pvt); return (tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle != NULL ? 1 : 0); } @@ -749,8 +749,8 @@ if (tech_pvt->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIAttach != 0 && tech_pvt->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIDiscover != 0) { - if (win32_Initialize_CreateWindowClass(p)) { - if (win32_Initialize_CreateMainWindow(p)) { + if (win32_Initialize_CreateWindowClass(tech_pvt)) { + if (win32_Initialize_CreateMainWindow(tech_pvt)) { if (SendMessage (HWND_BROADCAST, tech_pvt->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIDiscover, @@ -767,9 +767,9 @@ } } } - win32_DeInitialize_DestroyMainWindow(p); + win32_DeInitialize_DestroyMainWindow(tech_pvt); } - win32_DeInitialize_DestroyWindowClass(p); + win32_DeInitialize_DestroyWindowClass(tech_pvt); } } @@ -1020,8 +1020,6 @@ ERRORA ("Sending message failed - probably Skype crashed.\n\nPlease shutdown Skypiax (Asterisk), then restart Skype from the menu, then launch Skypiax and try again.\n", SKYPIAX_P_LOG); - tech_pvt->skype = 0; - tech_pvt->skype_thread = NULL; if (option_debug > 100) { DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); } From gmaruzz at freeswitch.org Sun Jan 11 08:36:09 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Sun, 11 Jan 2009 10:36:09 -0600 Subject: [Freeswitch-branches] [commit] r11125 - in freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax: . configs Message-ID: Author: gmaruzz Date: Sun Jan 11 10:36:09 2009 New Revision: 11125 Log: skypiax: various configuration tweakings, both in the code and in the config files Removed: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/public.xml Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/default.xml freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/skypiax.conf.xml freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/startskype.bat freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/wait.bat freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/mod_skypiax.c freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax.h freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/default.xml ============================================================================== --- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/default.xml (original) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/default.xml Sun Jan 11 10:36:09 2009 @@ -267,13 +267,13 @@ - + - + Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/skypiax.conf.xml ============================================================================== --- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/skypiax.conf.xml (original) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/skypiax.conf.xml Sun Jan 11 10:36:09 2009 @@ -1,11 +1,10 @@ - - - + + @@ -15,280 +14,197 @@ - + - - + - - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/startskype.bat ============================================================================== --- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/startskype.bat (original) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/startskype.bat Sun Jan 11 10:36:09 2009 @@ -1,45 +1,46 @@ echo off -REM you have to adjust MYPATH to where the Skype executable is -set MYPATH=%PATH%;C:\Program Files\Skype\Phone +REM you have to adjust PATH to where the Skype executable is +set PATH=%PATH%;C:\Program Files\Skype\Phone\ -echo %MYPATH% +echo %PATH% +REM start a Skype client instance that will login to the Skype network using the "username password" you give to it. Here xxx would be the password and skypiax1 the username start Skype.exe /secondary /username:skypiax1 /password:xxx -call wait 5 +call wait 7 start Skype.exe /secondary /username:skypiax2 /password:xxx -call wait 5 +call wait 7 start Skype.exe /secondary /username:skypiax3 /password:xxx -call wait 5 +call wait 7 start Skype.exe /secondary /username:skypiax4 /password:xxx -call wait 5 +call wait 7 start Skype.exe /secondary /username:skypiax5 /password:xxx -call wait 5 +call wait 7 start Skype.exe /secondary /username:skypiax6 /password:xxx -call wait 5 +call wait 7 start Skype.exe /secondary /username:skypiax7 /password:xxx -call wait 5 +call wait 7 start Skype.exe /secondary /username:skypiax8 /password:xxx -call wait 5 +call wait 7 start Skype.exe /secondary /username:skypiax9 /password:xxx -call wait 5 +call wait 7 start Skype.exe /secondary /username:skypiax10 /password:xxx -call wait 5 +call wait 7 start Skype.exe /secondary /username:skypiax11 /password:xxx -call wait 5 +call wait 7 start Skype.exe /secondary /username:skypiax12 /password:xxx -call wait 5 +call wait 7 start Skype.exe /secondary /username:skypiax13 /password:xxx -call wait 5 +call wait 7 start Skype.exe /secondary /username:skypiax14 /password:xxx -call wait 5 +call wait 7 start Skype.exe /secondary /username:skypiax15 /password:xxx -call wait 5 +call wait 7 start Skype.exe /secondary /username:skypiax16 /password:xxx -call wait 5 +call wait 7 start Skype.exe /secondary /username:skypiax17 /password:xxx -call wait 5 +call wait 7 start Skype.exe /secondary /username:skypiax18 /password:xxx -call wait 5 +call wait 7 start Skype.exe /secondary /username:skypiax19 /password:xxx -call wait 5 +call wait 7 start Skype.exe /secondary /username:skypiax20 /password:xxx Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/wait.bat ============================================================================== --- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/wait.bat (original) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/wait.bat Sun Jan 11 10:36:09 2009 @@ -1,4 +1,3 @@ -echo off @ping 127.0.0.1 -n 2 -w 1000 > nul @ping 127.0.0.1 -n %1% -w 1000> nul 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 Sun Jan 11 10:36:09 2009 @@ -9,6 +9,8 @@ char *ip; int port; char *dialplan; + char *destination; + char *context; char *codec_string; char *codec_order[SWITCH_MAX_CODECS]; int codec_order_last; @@ -29,10 +31,11 @@ int running = 1; SWITCH_DECLARE_GLOBAL_STRING_FUNC(set_global_dialplan, globals.dialplan); +SWITCH_DECLARE_GLOBAL_STRING_FUNC(set_global_context, globals.context); +SWITCH_DECLARE_GLOBAL_STRING_FUNC(set_global_destination, globals.destination); SWITCH_DECLARE_GLOBAL_STRING_FUNC(set_global_codec_string, globals.codec_string); SWITCH_DECLARE_GLOBAL_STRING_FUNC(set_global_codec_rates_string, globals.codec_rates_string); -SWITCH_DECLARE_GLOBAL_STRING_FUNC(set_global_ip, globals.ip); static switch_status_t channel_on_init(switch_core_session_t * session); static switch_status_t channel_on_hangup(switch_core_session_t * session); @@ -624,9 +627,6 @@ } else if (!strcmp(var, "port")) { globals.port = atoi(val); DEBUGA_SKYPE("globals.port=%d\n", SKYPIAX_P_LOG, globals.port); - } else if (!strcmp(var, "ip")) { - set_global_ip(val); - DEBUGA_SKYPE("globals.ip=%s\n", SKYPIAX_P_LOG, globals.ip); } else if (!strcmp(var, "codec-master")) { if (!strcasecmp(val, "us")) { switch_set_flag(&globals, GFLAG_MY_CODEC_PREFS); @@ -635,6 +635,12 @@ } else if (!strcmp(var, "dialplan")) { set_global_dialplan(val); DEBUGA_SKYPE("globals.dialplan=%s\n", SKYPIAX_P_LOG, globals.dialplan); + } else if (!strcmp(var, "destination")) { + set_global_destination(val); + DEBUGA_SKYPE("globals.destination=%s\n", SKYPIAX_P_LOG, globals.destination); + } else if (!strcmp(var, "context")) { + set_global_context(val); + DEBUGA_SKYPE("globals.context=%s\n", SKYPIAX_P_LOG, globals.context); } else if (!strcmp(var, "codec-prefs")) { set_global_codec_string(val); DEBUGA_SKYPE("globals.codec_string=%s\n", SKYPIAX_P_LOG, globals.codec_string); @@ -662,6 +668,7 @@ char *name = (char *) switch_xml_attr(myinterface, "name"); char *context = "default"; char *dialplan = "XML"; + char *destination = "5000"; char *tonegroup = NULL; char *digit_timeout = NULL; char *max_digits = NULL; @@ -674,7 +681,6 @@ char *tcp_cli_port = NULL; char *tcp_srv_port = NULL; char *skype_user = NULL; - char *skype_password = NULL; uint32_t interface_id = 0, to = 0, max = 0; @@ -690,6 +696,8 @@ context = val; } else if (!strcasecmp(var, "dialplan")) { dialplan = val; + } else if (!strcasecmp(var, "destination")) { + destination = val; } else if (!strcasecmp(var, "dial-regex")) { dial_regex = val; } else if (!strcasecmp(var, "enable-callerid")) { @@ -700,8 +708,6 @@ hold_music = val; } else if (!strcasecmp(var, "skype_user")) { skype_user = val; - } else if (!strcasecmp(var, "skype_password")) { - skype_password = val; } else if (!strcasecmp(var, "tcp_cli_port")) { tcp_cli_port = val; } else if (!strcasecmp(var, "tcp_srv_port")) { @@ -720,10 +726,6 @@ continue; } - if (!skype_password) { - ERRORA("interface missing REQUIRED param 'skype_password'\n", SKYPIAX_P_LOG); - continue; - } if (!X11_display) { ERRORA("interface missing REQUIRED param 'X11_display'\n", SKYPIAX_P_LOG); continue; @@ -804,10 +806,10 @@ X11_display); switch_set_string(globals.SKYPIAX_INTERFACES[interface_id].skype_user, skype_user); - switch_set_string(globals.SKYPIAX_INTERFACES[interface_id].skype_password, - skype_password); switch_set_string(globals.SKYPIAX_INTERFACES[interface_id].context, context); switch_set_string(globals.SKYPIAX_INTERFACES[interface_id].dialplan, dialplan); + switch_set_string(globals.SKYPIAX_INTERFACES[interface_id].destination, destination); + switch_set_string(globals.SKYPIAX_INTERFACES[interface_id].context, context); DEBUGA_SKYPE ("interface_id=%d globals.SKYPIAX_INTERFACES[interface_id].X11_display=%s\n", @@ -818,10 +820,6 @@ SKYPIAX_P_LOG, interface_id, globals.SKYPIAX_INTERFACES[interface_id].skype_user); DEBUGA_SKYPE - ("interface_id=%d globals.SKYPIAX_INTERFACES[interface_id].skype_password=%s\n", - SKYPIAX_P_LOG, interface_id, - globals.SKYPIAX_INTERFACES[interface_id].skype_password); - DEBUGA_SKYPE ("interface_id=%d globals.SKYPIAX_INTERFACES[interface_id].tcp_cli_port=%d\n", SKYPIAX_P_LOG, interface_id, globals.SKYPIAX_INTERFACES[interface_id].tcp_cli_port); @@ -839,6 +837,14 @@ ("interface_id=%d globals.SKYPIAX_INTERFACES[interface_id].dialplan=%s\n", SKYPIAX_P_LOG, interface_id, globals.SKYPIAX_INTERFACES[interface_id].dialplan); + DEBUGA_SKYPE + ("interface_id=%d globals.SKYPIAX_INTERFACES[interface_id].destination=%s\n", + SKYPIAX_P_LOG, interface_id, + globals.SKYPIAX_INTERFACES[interface_id].destination); + DEBUGA_SKYPE + ("interface_id=%d globals.SKYPIAX_INTERFACES[interface_id].context=%s\n", + SKYPIAX_P_LOG, interface_id, + globals.SKYPIAX_INTERFACES[interface_id].context); NOTICA("STARTING interface_id=%d\n", SKYPIAX_P_LOG, interface_id); switch_threadattr_create(&skypiax_skypeapi_thread_attr, skypiax_module_pool); @@ -890,6 +896,10 @@ i, globals.SKYPIAX_INTERFACES[i].context); DEBUGA_SKYPE("i=%d globals.SKYPIAX_INTERFACES[%d].dialplan=%s\n", SKYPIAX_P_LOG, i, i, globals.SKYPIAX_INTERFACES[i].dialplan); + DEBUGA_SKYPE("i=%d globals.SKYPIAX_INTERFACES[%d].destination=%s\n", SKYPIAX_P_LOG, + i, i, globals.SKYPIAX_INTERFACES[i].destination); + DEBUGA_SKYPE("i=%d globals.SKYPIAX_INTERFACES[%d].context=%s\n", SKYPIAX_P_LOG, + i, i, globals.SKYPIAX_INTERFACES[i].context); } } } Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax.h ============================================================================== --- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax.h (original) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax.h Sun Jan 11 10:36:09 2009 @@ -225,6 +225,7 @@ int skypiax_dir_entry_extension_prefix; char skype_user[256]; char skype_password[256]; + char destination[256]; }; Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c Sun Jan 11 10:36:09 2009 @@ -1006,7 +1006,7 @@ DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG); } sprintf(acInputRow, "%s", msg_to_skype); - if (option_debug > 1) + if (option_debug > 100) DEBUGA_SKYPE("acInputRow: |||%s||||\n", SKYPIAX_P_LOG, acInputRow); /* send command to skype */ oCopyData.dwData = 0; @@ -1555,12 +1555,12 @@ if ((tech_pvt->caller_profile = switch_caller_profile_new(switch_core_session_get_pool(session), - "skypiax", "XML", + "skypiax", tech_pvt->dialplan, tech_pvt->callid_name, tech_pvt->callid_number, NULL, - "calling_ani", NULL, NULL, - "mod_skypiax", "public", - "5000")) != 0) { + NULL, NULL, NULL, + "mod_skypiax", tech_pvt->context, + tech_pvt->destination)) != 0) { char name[128]; //switch_snprintf(name, sizeof(name), "skypiax/%s/%s", tech_pvt->name, tech_pvt->caller_profile->destination_number); switch_snprintf(name, sizeof(name), "skypiax/%s", tech_pvt->name); From gmaruzz at freeswitch.org Sun Jan 11 08:45:18 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Sun, 11 Jan 2009 10:45:18 -0600 Subject: [Freeswitch-branches] [commit] r11126 - freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs Message-ID: Author: gmaruzz Date: Sun Jan 11 10:45:18 2009 New Revision: 11126 Log: skypiax: comments in windows batchfiles Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/startskype.bat freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/wait.bat Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/startskype.bat ============================================================================== --- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/startskype.bat (original) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/startskype.bat Sun Jan 11 10:45:18 2009 @@ -1,4 +1,7 @@ echo off +REM +REM you MUST use the new Skype BETA (4.x) for Windows, older versions (3.x) cannot be started this way +REM REM you have to adjust PATH to where the Skype executable is set PATH=%PATH%;C:\Program Files\Skype\Phone\ Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/wait.bat ============================================================================== --- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/wait.bat (original) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/wait.bat Sun Jan 11 10:45:18 2009 @@ -1,3 +1,4 @@ +REM would you believe there is no sleep() in standard windows batchfiles? @ping 127.0.0.1 -n 2 -w 1000 > nul @ping 127.0.0.1 -n %1% -w 1000> nul From gmaruzz at freeswitch.org Sun Jan 11 09:19:05 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Sun, 11 Jan 2009 11:19:05 -0600 Subject: [Freeswitch-branches] [commit] r11127 - freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs Message-ID: Author: gmaruzz Date: Sun Jan 11 11:19:05 2009 New Revision: 11127 Log: skypiax: startskype.sh tweaking Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/startskype.sh Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/startskype.sh ============================================================================== --- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/startskype.sh (original) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/startskype.sh Sun Jan 11 11:19:05 2009 @@ -5,128 +5,128 @@ # the enable= module parameter tells how many cards to start. For each additional card, add a comma and a 1 # manually configure the first 8 Skype client instances to use the hw:Dummy_0, the next 8 instances to use hw:Dummy_1, etc for all three devices (Play, Capture, Ring) modprobe snd-dummy enable=1,1,1 -sleep 5 +sleep 3 #start the fake X server on a given port /usr/bin/Xvfb :101 & -sleep 5 +sleep 3 # start a Skype client instance that will connect to the X server above, and will login to the Skype network using the "username password" you send to it on stdin. Here xxx would be the password and skypiax1 the username echo "skypiax1 xxx"| DISPLAY=:101 /usr/bin/skype --pipelogin & -sleep 10 +sleep 7 /usr/bin/Xvfb :102 & -sleep 5 +sleep 3 echo "skypiax2 xxx"| DISPLAY=:102 /usr/bin/skype --pipelogin & -sleep 10 +sleep 7 /usr/bin/Xvfb :103 & -sleep 5 +sleep 3 echo "skypiax3 xxx"| DISPLAY=:103 /usr/bin/skype --pipelogin & -sleep 10 +sleep 7 /usr/bin/Xvfb :104 & -sleep 5 +sleep 3 echo "skypiax4 xxx"| DISPLAY=:104 /usr/bin/skype --pipelogin & -sleep 10 +sleep 7 /usr/bin/Xvfb :105 & -sleep 5 +sleep 3 echo "skypiax5 xxx"| DISPLAY=:105 /usr/bin/skype --pipelogin & -sleep 10 +sleep 7 /usr/bin/Xvfb :106 & -sleep 5 +sleep 3 echo "skypiax6 xxx"| DISPLAY=:106 /usr/bin/skype --pipelogin & -sleep 10 +sleep 7 /usr/bin/Xvfb :107 & -sleep 5 +sleep 3 echo "skypiax7 xxx"| DISPLAY=:107 /usr/bin/skype --pipelogin & -sleep 10 +sleep 7 /usr/bin/Xvfb :108 & -sleep 5 +sleep 3 echo "skypiax8 xxx"| DISPLAY=:108 /usr/bin/skype --pipelogin & -sleep 10 +sleep 7 /usr/bin/Xvfb :109 & -sleep 5 +sleep 3 echo "skypiax9 xxx"| DISPLAY=:109 /usr/bin/skype --pipelogin & -sleep 10 +sleep 7 /usr/bin/Xvfb :110 & -sleep 5 +sleep 3 echo "skypiax10 xxx"| DISPLAY=:110 /usr/bin/skype --pipelogin & -sleep 10 +sleep 7 /usr/bin/Xvfb :111 & -sleep 5 +sleep 3 echo "skypiax11 xxx"| DISPLAY=:111 /usr/bin/skype --pipelogin & -sleep 10 +sleep 7 /usr/bin/Xvfb :112 & -sleep 5 +sleep 3 echo "skypiax12 xxx"| DISPLAY=:112 /usr/bin/skype --pipelogin & -sleep 10 +sleep 7 /usr/bin/Xvfb :113 & -sleep 5 +sleep 3 echo "skypiax13 xxx"| DISPLAY=:113 /usr/bin/skype --pipelogin & -sleep 10 +sleep 7 /usr/bin/Xvfb :114 & -sleep 5 +sleep 3 echo "skypiax14 xxx"| DISPLAY=:114 /usr/bin/skype --pipelogin & -sleep 10 +sleep 7 /usr/bin/Xvfb :115 & -sleep 5 +sleep 3 echo "skypiax15 xxx"| DISPLAY=:115 /usr/bin/skype --pipelogin & -sleep 10 +sleep 7 /usr/bin/Xvfb :116 & -sleep 5 +sleep 3 echo "skypiax16 xxx"| DISPLAY=:116 /usr/bin/skype --pipelogin & -sleep 10 +sleep 7 /usr/bin/Xvfb :117 & -sleep 5 +sleep 3 echo "skypiax17 xxx"| DISPLAY=:117 /usr/bin/skype --pipelogin & -sleep 10 +sleep 7 /usr/bin/Xvfb :118 & -sleep 5 +sleep 3 echo "skypiax18 xxx"| DISPLAY=:118 /usr/bin/skype --pipelogin & -sleep 10 +sleep 7 /usr/bin/Xvfb :119 & -sleep 5 +sleep 3 echo "skypiax19 xxx"| DISPLAY=:119 /usr/bin/skype --pipelogin & -sleep 10 +sleep 7 /usr/bin/Xvfb :120 & -sleep 5 +sleep 3 echo "skypiax20 xxx"| DISPLAY=:120 /usr/bin/skype --pipelogin & -sleep 10 +sleep 7 From gmaruzz at freeswitch.org Sun Jan 11 09:35:14 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Sun, 11 Jan 2009 11:35:14 -0600 Subject: [Freeswitch-branches] [commit] r11128 - freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax Message-ID: Author: gmaruzz Date: Sun Jan 11 11:35:14 2009 New Revision: 11128 Log: skypiax: added README file Added: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/README Added: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/README ============================================================================== --- (empty file) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/README Sun Jan 11 11:35:14 2009 @@ -0,0 +1,204 @@ +######################################################### +######################################################### +######################################################### + + An example of installation + +######################################################### +######################################################### +######################################################### + +Install ubuntu 8.04 LTS server (Released April 2008 and maintained until April 2013) with *only* OpenSSH Server. (we used the 64bit edition) + +Login at the real keyboard as the user you choose during install + +Check the IP address with ifconfig + +Logout + +=============================== +Login via ssh as the user you choose during install + +maruzz at 8-04-srv:~$ +maruzz at 8-04-srv:~$ sudo su +[sudo] password for maruzz: +root at 8-04-srv:/home/maruzz# passwd +Enter new UNIX password: +Retype new UNIX password: +passwd: password updated successfully +root at 8-04-srv:/home/maruzz# +root at 8-04-srv:/home/maruzz# apt-get update && apt-get -y upgrade +root at 8-04-srv:/home/maruzz# apt-get update && apt-get -y dist-upgrade +root at 8-04-srv:/home/maruzz# reboot + +=============================== +Login as root via ssh + +root at 8-04-srv:~# apt-get update && apt-get -y dist-upgrade +root at 8-04-srv:/home/maruzz# reboot + +=============================== + +Now, let's begin the real installation + +root at 8-04-srv:~# apt-get -y install build-essential subversion automake autoconf wget libtool libncurses5-dev xvfb libx11-dev libasound2-dev +root at 8-04-srv:~# svn co http://svn.freeswitch.org/svn/freeswitch/branches/gmaruzz freeswitch_gmaruzz +root at 8-04-srv:~# cd freeswitch_gmaruzz/ +root at 8-04-srv:~/freeswitch_gmaruzz# ./bootstrap.sh +root at 8-04-srv:~/freeswitch_gmaruzz# ./configure +root at 8-04-srv:~/freeswitch_gmaruzz# make && make install && make hd-sounds-install && make hd-moh-install && make samples + +*** go to have something to drink-eat-read-whatever +*** test that FS can be started + +root at 8-04-srv:~/freeswitch_gmaruzz# /usr/local/freeswitch/bin/freeswitch +freeswitch at 8-04-srv> ... + +*** copy the skypiax configuration file +root at 8-04-srv:~/freeswitch_gmaruzz# cp src/mod/endpoints/mod_skypiax/configs/skypiax.conf.xml /usr/local/freeswitch/conf/autoload_configs/ + +*** now, let's get and install the Skype client +root at 8-04-srv:~/freeswitch_gmaruzz# cd .. +root at 8-04-srv:~# +root at 8-04-srv:~# apt-get -y install ia32-libs lib32asound2 libc6-i386 lib32gcc1 lib32stdc++6 lib32ncurses5 lib32z1 libasound2-plugins +root at 8-04-srv:~# wget -c http://www.skype.com/go/getskype-linux-ubuntu-amd64 +root at 8-04-srv:~# dpkg -i skype_ubuntu-2.0.0.72-1_amd64.deb + +*** now, let's get the skype configuration directory we prepared on another (desktop) machine +*** on "How to prepare the configuration directory of Skype clients", see below +root at 8-04-srv:~# cp /mnt/root/configskypenew.tgz ./ +root at 8-04-srv:~# tar xzf configskypenew.tgz +root at 8-04-srv:~# chown root.root .Skype +root at 8-04-srv:~# + +**** almost ready! + +**** let's edit the skypiax config +root at 8-04-srv:~/freeswitch_gmaruzz# vi /usr/local/freeswitch/conf/autoload_configs/skypiax.conf.xml + +**** let's edit the startskype script +**** remember to add the removing of all the installed snd-* modules +root at 8-04-srv:~/freeswitch_gmaruzz# cp src/mod/endpoints/mod_skypiax/configs/startskype.sh ./ +root at 8-04-srv:~/freeswitch_gmaruzz# vi startskype.sh + +**** start the X servers and the Skype clients +root at 8-04-srv:~/freeswitch_gmaruzz# sh ./startskype.sh + +**** this is the situation you want after startskype.sh +root at 8-04-srv:~/freeswitch_gmaruzz# lsmod | grep snd +snd_dummy 22016 0 +snd_pcm 99336 1 snd_dummy +snd_timer 35080 1 snd_pcm +snd 78024 3 snd_dummy,snd_pcm,snd_timer +snd_page_alloc 20368 1 snd_pcm +soundcore 17568 1 snd +root at 8-04-srv:~/freeswitch_gmaruzz# + + +**** start FS and the load skypiax! +root at 8-04-srv:~/freeswitch_gmaruzz# /usr/local/freeswitch/bin/freeswitch +freeswitch at 8-04-srv> load mod_skypiax + + + +============================================= + +top - 18:14:26 up 2:02, 2 users, load average: 0.03, 0.08, 0.04 +Tasks: 111 total, 1 running, 110 sleeping, 0 stopped, 0 zombie +Cpu(s): 0.1%us, 0.3%sy, 0.0%ni, 99.6%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st +Mem: 3096688k total, 1835100k used, 1261588k free, 137688k buffers +Swap: 248968k total, 0k used, 248968k free, 1020888k cached + + PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND + 8272 root 20 0 320m 30m 4848 S 0 1.0 0:00.56 freeswitch + 7905 root 20 0 58520 27m 10m S 0 0.9 0:03.25 skype + 7937 root 20 0 59356 26m 10m S 0 0.9 0:03.01 skype + 8093 root 20 0 58524 26m 10m S 0 0.9 0:03.03 skype + 7981 root 20 0 58376 26m 10m S 0 0.9 0:02.72 skype + 8157 root 20 0 59452 26m 10m S 0 0.9 0:02.49 skype + 7889 root 20 0 57888 26m 10m S 0 0.9 0:03.03 skype + 8189 root 20 0 58544 26m 10m S 0 0.9 0:02.62 skype + 7953 root 20 0 58400 26m 10m S 0 0.9 0:03.27 skype + 7997 root 20 0 57988 26m 10m S 1 0.9 0:03.00 skype + 8029 root 20 0 58456 26m 10m S 0 0.9 0:02.57 skype + 8045 root 20 0 58368 26m 10m S 0 0.9 0:02.70 skype + 8077 root 20 0 58444 26m 10m S 0 0.9 0:02.69 skype + 8109 root 20 0 59564 26m 10m S 0 0.9 0:02.75 skype + 8061 root 20 0 57984 26m 10m S 0 0.9 0:02.67 skype + 7921 root 20 0 58388 26m 10m S 0 0.9 0:02.92 skype + 7873 root 20 0 58492 26m 10m S 1 0.9 0:03.83 skype + 8125 root 20 0 58404 26m 10m S 1 0.9 0:02.89 skype + 8013 root 20 0 58460 26m 10m S 0 0.9 0:03.88 skype + 8173 root 20 0 58468 26m 10m S 0 0.9 0:02.55 skype + 8141 root 20 0 58232 26m 10m S 0 0.9 0:02.88 skype + 7884 root 20 0 43624 9.8m 2232 S 0 0.3 0:00.33 Xvfb + 8024 root 20 0 43624 9.8m 2232 S 0 0.3 0:00.30 Xvfb + 8040 root 20 0 43624 9.8m 2232 S 0 0.3 0:00.32 Xvfb + 8072 root 20 0 43624 9.8m 2232 S 0 0.3 0:00.29 Xvfb + 7900 root 20 0 43624 9.8m 2232 S 0 0.3 0:00.32 Xvfb + 7916 root 20 0 43624 9.8m 2232 S 0 0.3 0:00.32 Xvfb + 8120 root 20 0 43624 9.8m 2232 S 0 0.3 0:00.31 Xvfb + 8152 root 20 0 43624 9.8m 2232 S 0 0.3 0:00.29 Xvfb + 8168 root 20 0 43624 9.8m 2232 S 0 0.3 0:00.28 Xvfb + 8184 root 20 0 43624 9.8m 2232 S 0 0.3 0:00.28 Xvfb + 7868 root 20 0 43624 9.8m 2232 S 0 0.3 0:00.31 Xvfb + 7932 root 20 0 43624 9.8m 2232 S 0 0.3 0:00.32 Xvfb + 7948 root 20 0 43624 9.8m 2232 S 0 0.3 0:00.32 Xvfb + 7964 root 20 0 43624 9.8m 2232 S 0 0.3 0:00.33 Xvfb + 7992 root 20 0 43624 9.8m 2232 S 0 0.3 0:00.31 Xvfb + 8008 root 20 0 43624 9.8m 2232 S 0 0.3 0:00.31 Xvfb + 8056 root 20 0 43624 9.8m 2232 S 0 0.3 0:00.30 Xvfb +...some more Xvfb + +============================================= + +20 incoming concurrent skype calls listening to moh at 16khz: + +top - 18:40:04 up 2:27, 2 users, load average: 0.14, 0.13, 0.06 +Tasks: 111 total, 1 running, 110 sleeping, 0 stopped, 0 zombie +Cpu(s): 18.6%us, 4.5%sy, 0.0%ni, 76.4%id, 0.0%wa, 0.1%hi, 0.4%si, 0.0%st +Mem: 3096688k total, 1858460k used, 1238228k free, 137692k buffers +Swap: 248968k total, 0k used, 248968k free, 1023148k cached + + PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND + 8866 root 20 0 336m 35m 5016 S 9 1.2 0:21.23 freeswitch + 8812 root 20 0 84632 28m 10m S 6 0.9 0:14.02 skype + 8580 root 20 0 84252 27m 10m S 6 0.9 0:28.19 skype + 8713 root 20 0 84716 27m 10m S 6 0.9 0:18.06 skype + 8628 root 20 0 84268 27m 10m S 7 0.9 0:24.37 skype + 8793 root 20 0 84756 27m 10m S 6 0.9 0:14.24 skype + 8664 root 20 0 84140 27m 10m S 6 0.9 0:23.19 skype + 8745 root 20 0 84628 27m 10m S 6 0.9 0:16.85 skype + 8644 root 20 0 84588 27m 10m S 6 0.9 0:22.81 skype + 8697 root 20 0 84516 27m 10m S 6 0.9 0:21.03 skype + 8514 root 20 0 83164 27m 10m S 7 0.9 0:29.47 skype + 8564 root 20 0 84496 27m 10m S 4 0.9 0:28.65 skype + 8681 root 20 0 84632 27m 10m S 6 0.9 0:23.20 skype + 8532 root 20 0 83528 27m 10m S 6 0.9 0:28.39 skype + 8612 root 20 0 84460 27m 10m S 6 0.9 0:24.70 skype + 8729 root 20 0 84368 27m 10m S 8 0.9 0:18.86 skype + 8761 root 20 0 84644 27m 10m S 6 0.9 0:16.70 skype + 8777 root 20 0 83752 27m 10m S 7 0.9 0:16.19 skype + 8596 root 20 0 83692 27m 10m S 7 0.9 0:26.49 skype + 8831 root 20 0 83568 27m 10m S 7 0.9 0:13.13 skype + 8548 root 20 0 83336 27m 10m S 6 0.9 0:30.67 skype + 8575 root 20 0 43636 9.8m 2232 S 0 0.3 0:00.63 Xvfb + 8543 root 20 0 43636 9.8m 2232 S 0 0.3 0:00.64 Xvfb + 8527 root 20 0 43624 9.8m 2232 S 0 0.3 0:00.65 Xvfb + 8591 root 20 0 43624 9.8m 2232 S 0 0.3 0:00.60 Xvfb + 8658 root 20 0 43624 9.8m 2232 S 0 0.3 0:00.58 Xvfb + 8724 root 20 0 43624 9.8m 2232 S 0 0.3 0:00.64 Xvfb + 8740 root 20 0 43624 9.8m 2232 S 0 0.3 0:00.65 Xvfb + 8509 root 20 0 43624 9.8m 2232 S 0 0.3 0:00.66 Xvfb + 8607 root 20 0 43624 9.8m 2232 S 0 0.3 0:00.61 Xvfb + 8623 root 20 0 43624 9.8m 2232 S 0 0.3 0:00.57 Xvfb + 8692 root 20 0 43624 9.8m 2232 S 0 0.3 0:00.55 Xvfb + 8756 root 20 0 43624 9.8m 2232 S 0 0.3 0:00.55 Xvfb + 8772 root 20 0 43624 9.8m 2232 S 0 0.3 0:00.60 Xvfb + 8788 root 20 0 43624 9.8m 2232 S 0 0.3 0:00.56 Xvfb + 8823 root 20 0 43624 9.8m 2232 S 0 0.3 0:00.59 Xvfb + 8639 root 20 0 43624 9.8m 2232 S 0 0.3 0:00.58 Xvfb + 8676 root 20 0 43624 9.8m 2232 S 0 0.3 0:00.55 Xvfb +...some more Xvfb + + From gmaruzz at freeswitch.org Sun Jan 11 10:44:16 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Sun, 11 Jan 2009 12:44:16 -0600 Subject: [Freeswitch-branches] [commit] r11129 - freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs Message-ID: Author: gmaruzz Date: Sun Jan 11 12:44:16 2009 New Revision: 11129 Log: skypiax: added configs/skypiax_auth.c file Added: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/skypiax_auth.c Added: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/skypiax_auth.c ============================================================================== --- (empty file) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/skypiax_auth.c Sun Jan 11 12:44:16 2009 @@ -0,0 +1,195 @@ +//gcc -Wall -ggdb skypiax_auth.c -o skypiax_auth -lX11 +#include +#include +#include +#include +#include + +struct SkypiaxHandles { + Window skype_win; + Display *disp; + Window win; + int api_connected; + int fdesc[2]; +}; + +int skypiax_skype_send_message(struct SkypiaxHandles *SkypiaxHandles, + const char *message_P) +{ + + Window w_P; + Display *disp; + Window handle_P; + + w_P = SkypiaxHandles->skype_win; + disp = SkypiaxHandles->disp; + handle_P = SkypiaxHandles->win; + + Atom atom1 = XInternAtom(disp, "SKYPECONTROLAPI_MESSAGE_BEGIN", False); + Atom atom2 = XInternAtom(disp, "SKYPECONTROLAPI_MESSAGE", False); + unsigned int pos = 0; + unsigned int len = strlen(message_P); + XEvent e; + + memset(&e, 0, sizeof(e)); + e.xclient.type = ClientMessage; + e.xclient.message_type = atom1; /* leading message */ + e.xclient.display = disp; + e.xclient.window = handle_P; + e.xclient.format = 8; + + do { + unsigned int i; + for (i = 0; i < 20 && i + pos <= len; ++i) + e.xclient.data.b[i] = message_P[i + pos]; + XSendEvent(disp, w_P, False, 0, &e); + + e.xclient.message_type = atom2; /* following messages */ + pos += i; + } while (pos <= len); + + XSync(disp, False); + + return 1; +} + +int skypiax_skype_present(struct SkypiaxHandles *SkypiaxHandles) +{ + Atom skype_inst = XInternAtom(SkypiaxHandles->disp, "_SKYPE_INSTANCE", True); + + Atom type_ret; + int format_ret; + unsigned long nitems_ret; + unsigned long bytes_after_ret; + unsigned char *prop; + int status; + + status = + XGetWindowProperty(SkypiaxHandles->disp, DefaultRootWindow(SkypiaxHandles->disp), + skype_inst, 0, 1, False, XA_WINDOW, &type_ret, &format_ret, + &nitems_ret, &bytes_after_ret, &prop); + + /* sanity check */ + if (status != Success || format_ret != 32 || nitems_ret != 1) { + SkypiaxHandles->skype_win = (Window) - 1; + printf("Skype instance not found\n"); + return 0; + } + + SkypiaxHandles->skype_win = *(const unsigned long *) prop & 0xffffffff; + printf("Skype instance found with id #%d\n", + (unsigned int) SkypiaxHandles->skype_win); + return 1; +} + +void skypiax_skype_clean_disp(void *data) +{ + + int *dispptr; + int disp; + + dispptr = data; + disp = *dispptr; + + if (disp) { + close(disp); + } else { + } + usleep(1000); +} + +int main(int argc, char *argv[]) +{ + + struct SkypiaxHandles SkypiaxHandles; + char buf[512]; + Display *disp = NULL; + Window root = -1; + Window win = -1; + char *dispname; + + if(argc==2) + dispname=argv[1]; + else + dispname=":0.0"; + + disp = XOpenDisplay(dispname); + if (!disp) { + printf("Cannot open X Display '%s', exiting\n", dispname); + return -1; + } + + int xfd; + xfd = XConnectionNumber(disp); + + SkypiaxHandles.disp = disp; + + if (skypiax_skype_present(&SkypiaxHandles)) { + root = DefaultRootWindow(disp); + win = + XCreateSimpleWindow(disp, root, 0, 0, 1, 1, 0, + BlackPixel(disp, DefaultScreen(disp)), BlackPixel(disp, + DefaultScreen + (disp))); + + SkypiaxHandles.win = win; + + snprintf(buf, 512, "NAME skypiax"); + + if (!skypiax_skype_send_message(&SkypiaxHandles, buf)) { + printf ("Sending message failed - probably Skype crashed. Please run/restart Skype manually and launch Skypiax again\n"); + return -1; + } + + snprintf(buf, 512, "PROTOCOL 6"); + if (!skypiax_skype_send_message(&SkypiaxHandles, buf)) { + printf ("Sending message failed - probably Skype crashed. Please run/restart Skype manually and launch Skypiax again\n"); + return -1; + } + + /* perform an events loop */ + XEvent an_event; + char buf[21]; /* can't be longer */ + char buffer[17000]; + char *b; + int i; + + b = buffer; + + while (1) { + XNextEvent(disp, &an_event); + switch (an_event.type) { + case ClientMessage: + + if (an_event.xclient.format != 8) + break; + + for (i = 0; i < 20 && an_event.xclient.data.b[i] != '\0'; ++i) + buf[i] = an_event.xclient.data.b[i]; + + buf[i] = '\0'; + + strcat(buffer, buf); + + if (i < 20) { /* last fragment */ + unsigned int howmany; + + howmany = strlen(b) + 1; + + printf("RECEIVED==> %s\n", b); + memset(buffer, '\0', 17000); + } + + break; + default: + break; + } + } + } else { + + printf ("Sending message failed - probably Skype crashed. Please run/restart Skype manually and launch Skypiax again\n"); + return -1; + } + return 0; + +} From gmaruzz at freeswitch.org Sun Jan 11 11:05:47 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Sun, 11 Jan 2009 13:05:47 -0600 Subject: [Freeswitch-branches] [commit] r11130 - in freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax: . configs Message-ID: Author: gmaruzz Date: Sun Jan 11 13:05:47 2009 New Revision: 11130 Log: skypiax: added README.skypiax_auth Added: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/README.skypiax_auth Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c Added: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/README.skypiax_auth ============================================================================== --- (empty file) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/README.skypiax_auth Sun Jan 11 13:05:47 2009 @@ -0,0 +1,45 @@ +How to use skypiax_auth + +You will use skypiax_auth only at the setup moment, to make the Skype client asking you to authorize "skypiax" to connect to the same Skype client. + +Then you copy the .Skype configuration directory of the user that has launched Skype (eg: /home/maruzz/.Skype if you are maruzz) on the home directory of the user that will start Skype on the server (eg: root). + +Compile skypiax_auth: +$ gcc -Wall -ggdb skypiax_auth.c -o skypiax_auth -lX11 + +Start the Skype client on a desktop linux machine, logout from your autologin username if any, and login with the username and password you want to use for skypiax + +Configure the Skype client to use the right audio devices, to not update, to not make "events", etc etc... + +Then, when satisfied, use skypiax_auth (that simulates FS-skypiax connecting to the Skype client). The Skype client will ask you to be authorized to let "skypiax" connect. + + +############################ +first time you use skypiax_auth +############################ +$ ./skypiax_auth +Skype instance found with id #27263062 +RECEIVED==> ERROR 68 +RECEIVED==> OK + +############################ +Give the auth to the Skype client, and tell him not to ask again +Then Ctrl-C to exit from skypiax_auth +############################ + + +Close (Quit) the Skype client from the tray icon, so it saves its config. +Then, relaunch the Skype client + +############################ +you use skypiax_auth again +############################ +$ ./skypiax_auth +Skype instance found with id #27263062 +RECEIVED==> OK +RECEIVED==> PROTOCOL 6 +RECEIVED==> CONNSTATUS ONLINE +RECEIVED==> CURRENTUSERHANDLE gmaruzz3 +RECEIVED==> USERSTATUS INVISIBLE + + Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c Sun Jan 11 13:05:47 2009 @@ -498,9 +498,8 @@ //ERRORA("tech_pvt->audiopipe[0] = %d\n", SKYPIAX_P_LOG, tech_pvt->audiopipe[0]); //ERRORA("tech_pvt->audiopipe[1] = %d\n", SKYPIAX_P_LOG, tech_pvt->audiopipe[1]); if (samples != SAMPLES_PER_FRAME * sizeof(short)) { - if (samples) - ERRORA("SRV PIPE READ=====> NOT GOOD samples=%u expected=%lu\n", SKYPIAX_P_LOG, - samples, SAMPLES_PER_FRAME * sizeof(short)); + //if (samples) + //ERRORA("SRV PIPE READ=====> NOT GOOD samples=%u expected=%lu\n", SKYPIAX_P_LOG, samples, SAMPLES_PER_FRAME * sizeof(short)); assert(samples == SAMPLES_PER_FRAME * sizeof(short)); //do a crash, please //do nothing } else { From gmaruzz at freeswitch.org Sun Jan 11 11:07:33 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Sun, 11 Jan 2009 13:07:33 -0600 Subject: [Freeswitch-branches] [commit] r11131 - freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax Message-ID: Author: gmaruzz Date: Sun Jan 11 13:07:33 2009 New Revision: 11131 Log: skypiax: updated README Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/README Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/README ============================================================================== --- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/README (original) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/README Sun Jan 11 13:07:33 2009 @@ -65,7 +65,7 @@ root at 8-04-srv:~# dpkg -i skype_ubuntu-2.0.0.72-1_amd64.deb *** now, let's get the skype configuration directory we prepared on another (desktop) machine -*** on "How to prepare the configuration directory of Skype clients", see below +*** on "How to prepare the configuration directory of Skype clients", see configs/README.skypiax_auth root at 8-04-srv:~# cp /mnt/root/configskypenew.tgz ./ root at 8-04-srv:~# tar xzf configskypenew.tgz root at 8-04-srv:~# chown root.root .Skype From gmaruzz at freeswitch.org Mon Jan 12 01:59:35 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Mon, 12 Jan 2009 03:59:35 -0600 Subject: [Freeswitch-branches] [commit] r11133 - in freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax: . configs Message-ID: Author: gmaruzz Date: Mon Jan 12 03:59:35 2009 New Revision: 11133 Log: skypiax: X11_errors_trap() X11_errors_untrap() Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/skypiax_auth.c freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/skypiax_auth.c ============================================================================== --- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/skypiax_auth.c (original) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/skypiax_auth.c Mon Jan 12 03:59:35 2009 @@ -13,6 +13,32 @@ int fdesc[2]; }; +XErrorHandler old_handler = 0; +int xerror = 0; + char *dispname; + +int X11_errors_handler(Display * dpy, XErrorEvent * err) +{ + (void) dpy; + + xerror = err->error_code; + printf("\n\nReceived error code %d from X Server on display '%s'\n\n", xerror, dispname); + return 0; /* ignore the error */ +} + +static void X11_errors_trap(void) +{ + xerror = 0; + old_handler = XSetErrorHandler(X11_errors_handler); +} + +static int X11_errors_untrap(void) +{ + XSetErrorHandler(old_handler); + return (xerror != BadValue) && (xerror != BadWindow); +} + + int skypiax_skype_send_message(struct SkypiaxHandles *SkypiaxHandles, const char *message_P) { @@ -20,6 +46,7 @@ Window w_P; Display *disp; Window handle_P; + int ok; w_P = SkypiaxHandles->skype_win; disp = SkypiaxHandles->disp; @@ -31,6 +58,7 @@ unsigned int len = strlen(message_P); XEvent e; + memset(&e, 0, sizeof(e)); e.xclient.type = ClientMessage; e.xclient.message_type = atom1; /* leading message */ @@ -38,6 +66,7 @@ e.xclient.window = handle_P; e.xclient.format = 8; + X11_errors_trap(); do { unsigned int i; for (i = 0; i < 20 && i + pos <= len; ++i) @@ -49,6 +78,11 @@ } while (pos <= len); XSync(disp, False); + ok = X11_errors_untrap(); + + if (!ok) + printf("Sending message failed with status %d\n", xerror); + return 1; } @@ -64,20 +98,22 @@ unsigned char *prop; int status; + X11_errors_trap(); status = XGetWindowProperty(SkypiaxHandles->disp, DefaultRootWindow(SkypiaxHandles->disp), skype_inst, 0, 1, False, XA_WINDOW, &type_ret, &format_ret, &nitems_ret, &bytes_after_ret, &prop); + X11_errors_untrap(); /* sanity check */ if (status != Success || format_ret != 32 || nitems_ret != 1) { SkypiaxHandles->skype_win = (Window) - 1; - printf("Skype instance not found\n"); + printf("Skype instance not found on display '%s'\n", dispname); return 0; } SkypiaxHandles->skype_win = *(const unsigned long *) prop & 0xffffffff; - printf("Skype instance found with id #%d\n", + printf("Skype instance found on display '%s', with id #%d\n", dispname, (unsigned int) SkypiaxHandles->skype_win); return 1; } @@ -106,7 +142,6 @@ Display *disp = NULL; Window root = -1; Window win = -1; - char *dispname; if(argc==2) dispname=argv[1]; @@ -137,13 +172,13 @@ snprintf(buf, 512, "NAME skypiax"); if (!skypiax_skype_send_message(&SkypiaxHandles, buf)) { - printf ("Sending message failed - probably Skype crashed. Please run/restart Skype manually and launch Skypiax again\n"); + printf ("Sending message failed - probably Skype crashed. Please run/restart Skype manually and launch skypiax_auth again\n"); return -1; } snprintf(buf, 512, "PROTOCOL 6"); if (!skypiax_skype_send_message(&SkypiaxHandles, buf)) { - printf ("Sending message failed - probably Skype crashed. Please run/restart Skype manually and launch Skypiax again\n"); + printf ("Sending message failed - probably Skype crashed. Please run/restart Skype manually and launch skypiax_auth again\n"); return -1; } @@ -186,8 +221,7 @@ } } } else { - - printf ("Sending message failed - probably Skype crashed. Please run/restart Skype manually and launch Skypiax again\n"); + printf ("Skype client not found on display '%s'. Please run/restart Skype manually and launch skypiax_auth again\n\n\n", dispname); return -1; } return 0; Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c Mon Jan 12 03:59:35 2009 @@ -5,6 +5,13 @@ extern switch_endpoint_interface_t *skypiax_endpoint_interface; extern int running; +/*************************************/ +#ifndef WIN32 +XErrorHandler old_handler = 0; +int xerror = 0; +#endif /* WIN32 */ +/*************************************/ + static void *SWITCH_THREAD_FUNC skypiax_do_tcp_srv_thread(switch_thread_t * thread, void *obj) { @@ -778,6 +785,31 @@ } #else /* NOT WIN32 */ + +int X11_errors_handler(Display * dpy, XErrorEvent * err) +{ + (void) dpy; + private_t *tech_pvt = NULL; + + xerror = err->error_code; + ERRORA("Received error code %d from X Server\n\n", SKYPIAX_P_LOG, xerror); + return 0; /* ignore the error */ +} + +static void X11_errors_trap(void) +{ + xerror = 0; + old_handler = XSetErrorHandler(X11_errors_handler); +} + +static int X11_errors_untrap(void) +{ + XSetErrorHandler(old_handler); + return (xerror != BadValue) && (xerror != BadWindow); +} + + + int skypiax_skype_send_message(struct SkypiaxHandles *SkypiaxHandles, const char *message_P) { @@ -785,6 +817,8 @@ Window w_P; Display *disp; Window handle_P; + int ok; + private_t *tech_pvt = NULL; w_P = SkypiaxHandles->skype_win; disp = SkypiaxHandles->disp; @@ -803,6 +837,7 @@ e.xclient.window = handle_P; e.xclient.format = 8; + X11_errors_trap(); //XLockDisplay(disp); do { unsigned int i; @@ -815,6 +850,10 @@ } while (pos <= len); XSync(disp, False); + ok = X11_errors_untrap(); + + if (!ok) + ERRORA("Sending message failed with status %d\n", SKYPIAX_P_LOG, xerror); //XUnlockDisplay(disp); return 1; @@ -832,12 +871,14 @@ int status; private_t *tech_pvt = NULL; + X11_errors_trap(); //XLockDisplay(disp); status = XGetWindowProperty(SkypiaxHandles->disp, DefaultRootWindow(SkypiaxHandles->disp), skype_inst, 0, 1, False, XA_WINDOW, &type_ret, &format_ret, &nitems_ret, &bytes_after_ret, &prop); //XUnlockDisplay(disp); + X11_errors_untrap(); /* sanity check */ if (status != Success || format_ret != 32 || nitems_ret != 1) { From gmaruzz at freeswitch.org Mon Jan 12 03:07:47 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Mon, 12 Jan 2009 05:07:47 -0600 Subject: [Freeswitch-branches] [commit] r11134 - in freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax: . configs Message-ID: Author: gmaruzz Date: Mon Jan 12 05:07:47 2009 New Revision: 11134 Log: docs Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/README freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/README.skypiax_auth freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/skypiax.conf.xml freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/startskype.bat freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/startskype.sh Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/README ============================================================================== --- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/README (original) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/README Mon Jan 12 05:07:47 2009 @@ -2,7 +2,36 @@ ######################################################### ######################################################### - An example of installation +WHAT IS SKYPIAX + +This software (Skypiax) uses the Skype API but is not endorsed, + certified or otherwise approved in any way by Skype. + +######################################################### +######################################################### +######################################################### + +Skypiax is an endpoint (channel driver) that use the Skype client as an interface to the Skype network, and allows incoming and outgoing Skype calls from/to FreeSWITCH. + +Think at Skypiax as similar to OpenZAP for analog lines: for each channel you need an interface (a Skype client). So, for eg, for two concurrent calls, you will need two channels, and two Skype clients running on your machine. + +On Linux the Skype client uses a lot of CPU. To lower its CPU consumption, you can use the Xvfb "fake" X server and (more important) the snd-dummy ALSA "fake" sound driver. + +On a Linux machine with 3GB ram and a quad core intel6600, we got no problem with 20 concurrent calls, and plenty of room for adding more Skypiax channels. + +On Windows, no need to do anything special, the Skype client is lighter on CPU. + +More info on skypiax: http://wiki.freeswitch.org/wiki/Skypiax + http://www.celliax.org + +Skypiax has been contributed to the community by: + Giovanni Maruzzelli + (gmaruzz at gmail dot com) +######################################################### +######################################################### +######################################################### + + An example of Skypiax installation on FreeSWITCH Linux ######################################################### ######################################################### @@ -57,6 +86,9 @@ *** copy the skypiax configuration file root at 8-04-srv:~/freeswitch_gmaruzz# cp src/mod/endpoints/mod_skypiax/configs/skypiax.conf.xml /usr/local/freeswitch/conf/autoload_configs/ +*** optionally, copy the dialplan configuration file that contains the "skypiax" modifications (eg: you can call "sip:skype/remote_skypename__OR__skypeout_phonenumber" for calling via the Skype network from a SIP softphone to remote_skypename or to a phone number via SkypeOut, or you can call the "2908" extension from any phone to be bridged to the Skype Test Call) +root at 8-04-srv:~/freeswitch_gmaruzz# cp src/mod/endpoints/mod_skypiax/configs/default.xml /usr/local/freeswitch/conf/dialplan/ + *** now, let's get and install the Skype client root at 8-04-srv:~/freeswitch_gmaruzz# cd .. root at 8-04-srv:~# @@ -65,7 +97,7 @@ root at 8-04-srv:~# dpkg -i skype_ubuntu-2.0.0.72-1_amd64.deb *** now, let's get the skype configuration directory we prepared on another (desktop) machine -*** on "How to prepare the configuration directory of Skype clients", see configs/README.skypiax_auth +*** on "How to prepare the configuration directory of Skype clients on Linux", see configs/README.skypiax_auth root at 8-04-srv:~# cp /mnt/root/configskypenew.tgz ./ root at 8-04-srv:~# tar xzf configskypenew.tgz root at 8-04-srv:~# chown root.root .Skype @@ -102,6 +134,7 @@ ============================================= +20 idle skypiax channels: top - 18:14:26 up 2:02, 2 users, load average: 0.03, 0.08, 0.04 Tasks: 111 total, 1 running, 110 sleeping, 0 stopped, 0 zombie Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/README.skypiax_auth ============================================================================== --- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/README.skypiax_auth (original) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/README.skypiax_auth Mon Jan 12 05:07:47 2009 @@ -1,18 +1,34 @@ -How to use skypiax_auth +####################################### +HOW TO USE SKYPIAX_AUTH +####################################### -You will use skypiax_auth only at the setup moment, to make the Skype client asking you to authorize "skypiax" to connect to the same Skype client. +You will use skypiax_auth only at the setup moment, to force the Skype client to ask you to authorize "skypiax" to connect to it. Then you copy the .Skype configuration directory of the user that has launched Skype (eg: /home/maruzz/.Skype if you are maruzz) on the home directory of the user that will start Skype on the server (eg: root). Compile skypiax_auth: $ gcc -Wall -ggdb skypiax_auth.c -o skypiax_auth -lX11 -Start the Skype client on a desktop linux machine, logout from your autologin username if any, and login with the username and password you want to use for skypiax +Then: -Configure the Skype client to use the right audio devices, to not update, to not make "events", etc etc... +1) Start the Skype client on a desktop linux machine, logout from your autologin username if any, and login with the username and password you want to use for skypiax -Then, when satisfied, use skypiax_auth (that simulates FS-skypiax connecting to the Skype client). The Skype client will ask you to be authorized to let "skypiax" connect. +2) Configure the Skype client to use the right audio devices, to not update, to not make "events", etc etc... +3) Then, when satisfied, use skypiax_auth (that simulates FS-skypiax connecting to the Skype client). The Skype client will ask you to be authorized to let "skypiax" connect. + +4) Give the authorization and check the "not ask me again" option. + +5) Close (Quit) the Skype client from the tray icon, so it saves its config. + +6) Then, relaunch the Skype client and use skypiax_auth again, just to be sure it now succeed. + +7) Close (Quit) the Skype client from the tray icon, so it saves its config. + +*** Do the steps 1-7 for all Skype usernames you will want to use on the server (eg: one Skype username per channel) + +When finished wityh all the Skype usernames: +Copy or targzip the .Skype directory and all its content on the home directory of the server user that will launch the Skype client(s). ############################ first time you use skypiax_auth Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/skypiax.conf.xml ============================================================================== --- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/skypiax.conf.xml (original) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/skypiax.conf.xml Mon Jan 12 05:07:47 2009 @@ -29,6 +29,7 @@ + Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/startskype.bat ============================================================================== --- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/startskype.bat (original) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/startskype.bat Mon Jan 12 05:07:47 2009 @@ -12,38 +12,41 @@ call wait 7 start Skype.exe /secondary /username:skypiax2 /password:xxx call wait 7 -start Skype.exe /secondary /username:skypiax3 /password:xxx -call wait 7 -start Skype.exe /secondary /username:skypiax4 /password:xxx -call wait 7 -start Skype.exe /secondary /username:skypiax5 /password:xxx -call wait 7 -start Skype.exe /secondary /username:skypiax6 /password:xxx -call wait 7 -start Skype.exe /secondary /username:skypiax7 /password:xxx -call wait 7 -start Skype.exe /secondary /username:skypiax8 /password:xxx -call wait 7 -start Skype.exe /secondary /username:skypiax9 /password:xxx -call wait 7 -start Skype.exe /secondary /username:skypiax10 /password:xxx -call wait 7 -start Skype.exe /secondary /username:skypiax11 /password:xxx -call wait 7 -start Skype.exe /secondary /username:skypiax12 /password:xxx -call wait 7 -start Skype.exe /secondary /username:skypiax13 /password:xxx -call wait 7 -start Skype.exe /secondary /username:skypiax14 /password:xxx -call wait 7 -start Skype.exe /secondary /username:skypiax15 /password:xxx -call wait 7 -start Skype.exe /secondary /username:skypiax16 /password:xxx -call wait 7 -start Skype.exe /secondary /username:skypiax17 /password:xxx -call wait 7 -start Skype.exe /secondary /username:skypiax18 /password:xxx -call wait 7 -start Skype.exe /secondary /username:skypiax19 /password:xxx -call wait 7 -start Skype.exe /secondary /username:skypiax20 /password:xxx +REM +REM Following Skype client instances are commented out +REM +REM start Skype.exe /secondary /username:skypiax3 /password:xxx +REM call wait 7 +REM start Skype.exe /secondary /username:skypiax4 /password:xxx +REM call wait 7 +REM start Skype.exe /secondary /username:skypiax5 /password:xxx +REM call wait 7 +REM start Skype.exe /secondary /username:skypiax6 /password:xxx +REM call wait 7 +REM start Skype.exe /secondary /username:skypiax7 /password:xxx +REM call wait 7 +REM start Skype.exe /secondary /username:skypiax8 /password:xxx +REM call wait 7 +REM start Skype.exe /secondary /username:skypiax9 /password:xxx +REM call wait 7 +REM start Skype.exe /secondary /username:skypiax10 /password:xxx +REM call wait 7 +REM start Skype.exe /secondary /username:skypiax11 /password:xxx +REM call wait 7 +REM start Skype.exe /secondary /username:skypiax12 /password:xxx +REM call wait 7 +REM start Skype.exe /secondary /username:skypiax13 /password:xxx +REM call wait 7 +REM start Skype.exe /secondary /username:skypiax14 /password:xxx +REM call wait 7 +REM start Skype.exe /secondary /username:skypiax15 /password:xxx +REM call wait 7 +REM start Skype.exe /secondary /username:skypiax16 /password:xxx +REM call wait 7 +REM start Skype.exe /secondary /username:skypiax17 /password:xxx +REM call wait 7 +REM start Skype.exe /secondary /username:skypiax18 /password:xxx +REM call wait 7 +REM start Skype.exe /secondary /username:skypiax19 /password:xxx +REM call wait 7 +REM start Skype.exe /secondary /username:skypiax20 /password:xxx Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/startskype.sh ============================================================================== --- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/startskype.sh (original) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/startskype.sh Mon Jan 12 05:07:47 2009 @@ -21,112 +21,116 @@ echo "skypiax2 xxx"| DISPLAY=:102 /usr/bin/skype --pipelogin & sleep 7 -/usr/bin/Xvfb :103 & -sleep 3 - -echo "skypiax3 xxx"| DISPLAY=:103 /usr/bin/skype --pipelogin & - -sleep 7 -/usr/bin/Xvfb :104 & -sleep 3 - -echo "skypiax4 xxx"| DISPLAY=:104 /usr/bin/skype --pipelogin & - -sleep 7 -/usr/bin/Xvfb :105 & -sleep 3 - -echo "skypiax5 xxx"| DISPLAY=:105 /usr/bin/skype --pipelogin & - -sleep 7 -/usr/bin/Xvfb :106 & -sleep 3 - -echo "skypiax6 xxx"| DISPLAY=:106 /usr/bin/skype --pipelogin & - -sleep 7 -/usr/bin/Xvfb :107 & -sleep 3 - -echo "skypiax7 xxx"| DISPLAY=:107 /usr/bin/skype --pipelogin & - -sleep 7 -/usr/bin/Xvfb :108 & -sleep 3 - -echo "skypiax8 xxx"| DISPLAY=:108 /usr/bin/skype --pipelogin & - -sleep 7 -/usr/bin/Xvfb :109 & -sleep 3 - -echo "skypiax9 xxx"| DISPLAY=:109 /usr/bin/skype --pipelogin & - -sleep 7 -/usr/bin/Xvfb :110 & -sleep 3 - -echo "skypiax10 xxx"| DISPLAY=:110 /usr/bin/skype --pipelogin & - -sleep 7 -/usr/bin/Xvfb :111 & -sleep 3 - -echo "skypiax11 xxx"| DISPLAY=:111 /usr/bin/skype --pipelogin & - -sleep 7 -/usr/bin/Xvfb :112 & -sleep 3 - -echo "skypiax12 xxx"| DISPLAY=:112 /usr/bin/skype --pipelogin & - -sleep 7 -/usr/bin/Xvfb :113 & -sleep 3 - -echo "skypiax13 xxx"| DISPLAY=:113 /usr/bin/skype --pipelogin & - -sleep 7 -/usr/bin/Xvfb :114 & -sleep 3 - -echo "skypiax14 xxx"| DISPLAY=:114 /usr/bin/skype --pipelogin & - -sleep 7 -/usr/bin/Xvfb :115 & -sleep 3 - -echo "skypiax15 xxx"| DISPLAY=:115 /usr/bin/skype --pipelogin & - -sleep 7 -/usr/bin/Xvfb :116 & -sleep 3 - -echo "skypiax16 xxx"| DISPLAY=:116 /usr/bin/skype --pipelogin & - -sleep 7 -/usr/bin/Xvfb :117 & -sleep 3 - -echo "skypiax17 xxx"| DISPLAY=:117 /usr/bin/skype --pipelogin & - -sleep 7 -/usr/bin/Xvfb :118 & -sleep 3 - -echo "skypiax18 xxx"| DISPLAY=:118 /usr/bin/skype --pipelogin & - -sleep 7 -/usr/bin/Xvfb :119 & -sleep 3 - -echo "skypiax19 xxx"| DISPLAY=:119 /usr/bin/skype --pipelogin & - -sleep 7 -/usr/bin/Xvfb :120 & -sleep 3 - -echo "skypiax20 xxx"| DISPLAY=:120 /usr/bin/skype --pipelogin & - -sleep 7 +################################################################# +# Following X server Skype client instances are commented out +################################################################# +###/usr/bin/Xvfb :103 & +###sleep 3 +### +###echo "skypiax3 xxx"| DISPLAY=:103 /usr/bin/skype --pipelogin & +### +###sleep 7 +###/usr/bin/Xvfb :104 & +###sleep 3 +### +###echo "skypiax4 xxx"| DISPLAY=:104 /usr/bin/skype --pipelogin & +### +###sleep 7 +###/usr/bin/Xvfb :105 & +###sleep 3 +### +###echo "skypiax5 xxx"| DISPLAY=:105 /usr/bin/skype --pipelogin & +### +###sleep 7 +###/usr/bin/Xvfb :106 & +###sleep 3 +### +###echo "skypiax6 xxx"| DISPLAY=:106 /usr/bin/skype --pipelogin & +### +###sleep 7 +###/usr/bin/Xvfb :107 & +###sleep 3 +### +###echo "skypiax7 xxx"| DISPLAY=:107 /usr/bin/skype --pipelogin & +### +###sleep 7 +###/usr/bin/Xvfb :108 & +###sleep 3 +### +###echo "skypiax8 xxx"| DISPLAY=:108 /usr/bin/skype --pipelogin & +### +###sleep 7 +###/usr/bin/Xvfb :109 & +###sleep 3 +### +###echo "skypiax9 xxx"| DISPLAY=:109 /usr/bin/skype --pipelogin & +### +###sleep 7 +###/usr/bin/Xvfb :110 & +###sleep 3 +### +###echo "skypiax10 xxx"| DISPLAY=:110 /usr/bin/skype --pipelogin & +### +###sleep 7 +###/usr/bin/Xvfb :111 & +###sleep 3 +### +###echo "skypiax11 xxx"| DISPLAY=:111 /usr/bin/skype --pipelogin & +### +###sleep 7 +###/usr/bin/Xvfb :112 & +###sleep 3 +### +###echo "skypiax12 xxx"| DISPLAY=:112 /usr/bin/skype --pipelogin & +### +###sleep 7 +###/usr/bin/Xvfb :113 & +###sleep 3 +### +###echo "skypiax13 xxx"| DISPLAY=:113 /usr/bin/skype --pipelogin & +### +###sleep 7 +###/usr/bin/Xvfb :114 & +###sleep 3 +### +###echo "skypiax14 xxx"| DISPLAY=:114 /usr/bin/skype --pipelogin & +### +###sleep 7 +###/usr/bin/Xvfb :115 & +###sleep 3 +### +###echo "skypiax15 xxx"| DISPLAY=:115 /usr/bin/skype --pipelogin & +### +###sleep 7 +###/usr/bin/Xvfb :116 & +###sleep 3 +### +###echo "skypiax16 xxx"| DISPLAY=:116 /usr/bin/skype --pipelogin & +### +###sleep 7 +###/usr/bin/Xvfb :117 & +###sleep 3 +### +###echo "skypiax17 xxx"| DISPLAY=:117 /usr/bin/skype --pipelogin & +### +###sleep 7 +###/usr/bin/Xvfb :118 & +###sleep 3 +### +###echo "skypiax18 xxx"| DISPLAY=:118 /usr/bin/skype --pipelogin & +### +###sleep 7 +###/usr/bin/Xvfb :119 & +###sleep 3 +### +###echo "skypiax19 xxx"| DISPLAY=:119 /usr/bin/skype --pipelogin & +### +###sleep 7 +###/usr/bin/Xvfb :120 & +###sleep 3 +### +###echo "skypiax20 xxx"| DISPLAY=:120 /usr/bin/skype --pipelogin & +### +###sleep 7 +### From gmaruzz at freeswitch.org Mon Jan 12 03:50:49 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Mon, 12 Jan 2009 05:50:49 -0600 Subject: [Freeswitch-branches] [commit] r11135 - freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax Message-ID: Author: gmaruzz Date: Mon Jan 12 05:50:49 2009 New Revision: 11135 Log: removed mod_skypiax_stuff.c Removed: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/mod_skypiax_stuff.c From gmaruzz at freeswitch.org Mon Jan 12 04:12:05 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Mon, 12 Jan 2009 06:12:05 -0600 Subject: [Freeswitch-branches] [commit] r11136 - freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax Message-ID: Author: gmaruzz Date: Mon Jan 12 06:12:05 2009 New Revision: 11136 Log: docs Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/README Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/README ============================================================================== --- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/README (original) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/README Mon Jan 12 06:12:05 2009 @@ -11,22 +11,38 @@ ######################################################### ######################################################### -Skypiax is an endpoint (channel driver) that use the Skype client as an interface to the Skype network, and allows incoming and outgoing Skype calls from/to FreeSWITCH. +Skypiax is an endpoint (channel driver) that use the Skype client as an interface to the Skype network, and allows incoming and outgoing Skype calls from/to FreeSWITCH (that can be bridged, originated, answered, etc. as in all other endpoints, eg sofia/SIP). -Think at Skypiax as similar to OpenZAP for analog lines: for each channel you need an interface (a Skype client). So, for eg, for two concurrent calls, you will need two channels, and two Skype clients running on your machine. +Think at Skypiax as similar to OpenZAP for analog lines: for each channel you need an interface (a Skype client). So, for eg, for two concurrent calls, you will need two channels, two Skype clients running on server. -On Linux the Skype client uses a lot of CPU. To lower its CPU consumption, you can use the Xvfb "fake" X server and (more important) the snd-dummy ALSA "fake" sound driver. +If your server's Skype client(s) has got the Skype credits, Skypiax works for SkypeOut calls too. -On a Linux machine with 3GB ram and a quad core intel6600, we got no problem with 20 concurrent calls, and plenty of room for adding more Skypiax channels. +You can use it from the dialplan, eg with the provided modified "default.xml" dialplan, you can call "sip:skype/remote_skypename__OR__skypeout_phonenumber" for calling via the Skype network from a SIP softphone to remote_skypename or to a phone number via SkypeOut, or you can call the "2908" extension from any phone to be bridged to the Skype Test Call). + +With the provided skypiax.conf.xml all incoming Skype calls will be routed to the "5000" extension, the IVR in default FreeSWITCH installation. + +On Linux the Skype client uses a lot of CPU. To lower its CPU consumption, you can use the Xvfb "fake" X server and (more important) the snd-dummy ALSA "fake" sound driver. Scripts are provided for this. But for a low number of channels it would works with regular X servers and ALSA drivers. + +On a Linux machine with 3GB ram and a quad core intel6600, we got no problem with 20 concurrent calls, and plenty of room for adding more Skypiax channels (100? not tested). On Windows, no need to do anything special, the Skype client is lighter on CPU. -More info on skypiax: http://wiki.freeswitch.org/wiki/Skypiax - http://www.celliax.org + +''Skypiax is now pre-beta, but usable for testing and finding bugs :-).'' + + +'''You can download Skypiax source code with subversion with the command:''' + +svn co http://svn.freeswitch.org/svn/freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax mod_skypiax +then, follow the README file in the mod_skypiax directory. + +More info on skypiax: +http://wiki.freeswitch.org/wiki/Skypiax +http://www.celliax.org Skypiax has been contributed to the community by: - Giovanni Maruzzelli - (gmaruzz at gmail dot com) +Giovanni Maruzzelli (gmaruzz at gmail dot com) + ######################################################### ######################################################### ######################################################### From gmaruzz at freeswitch.org Mon Jan 12 09:29:26 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Mon, 12 Jan 2009 11:29:26 -0600 Subject: [Freeswitch-branches] [commit] r11138 - freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax Message-ID: Author: gmaruzz Date: Mon Jan 12 11:29:26 2009 New Revision: 11138 Log: skypiax: implemented anthm suggested changes, no more pointer to session in pvt, use uuid instead Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/mod_skypiax.c freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax.h freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.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 Mon Jan 12 11:29:26 2009 @@ -59,6 +59,8 @@ static switch_status_t skypiax_codec(private_t * tech_pvt, int sample_rate, int codec_ms) { +switch_core_session_t *session=NULL; + if (switch_core_codec_init (&tech_pvt->read_codec, "L16", NULL, sample_rate, codec_ms, 1, SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE, NULL, @@ -79,8 +81,12 @@ tech_pvt->read_frame.rate = sample_rate; tech_pvt->read_frame.codec = &tech_pvt->read_codec; - switch_core_session_set_read_codec(tech_pvt->session, &tech_pvt->read_codec); - switch_core_session_set_write_codec(tech_pvt->session, &tech_pvt->write_codec); + session = switch_core_session_locate(tech_pvt->session_uuid_str); + + switch_core_session_set_read_codec(session, &tech_pvt->read_codec); + switch_core_session_set_write_codec(session, &tech_pvt->write_codec); + + switch_core_session_rwunlock(session); return SWITCH_STATUS_SUCCESS; @@ -97,7 +103,7 @@ switch_mutex_init(&tech_pvt->flag_mutex, SWITCH_MUTEX_NESTED, switch_core_session_get_pool(session)); switch_core_session_set_private(session, tech_pvt); - tech_pvt->session = session; + switch_copy_string(tech_pvt->session_uuid_str, switch_core_session_get_uuid(session), sizeof(tech_pvt->session_uuid_str)); if (skypiax_codec(tech_pvt, SAMPLERATE_SKYPIAX, 20) != SWITCH_STATUS_SUCCESS) { ERRORA("skypiax_codec FAILED\n", SKYPIAX_P_LOG); } else { @@ -577,7 +583,7 @@ DEBUGA_SKYPE("skype call ended\n", SKYPIAX_P_LOG); if (tech_pvt) { - session = tech_pvt->session; + session = switch_core_session_locate(tech_pvt->session_uuid_str); if (session) { channel = switch_core_session_get_channel(session); @@ -587,13 +593,13 @@ ERRORA("no channel?\n", SKYPIAX_P_LOG); } } else { - ERRORA("no session?\n", SKYPIAX_P_LOG); + DEBUGA_SKYPE("no session\n", SKYPIAX_P_LOG); } } else { ERRORA("no tech_pvt?\n", SKYPIAX_P_LOG); } tech_pvt->interface_state = SKYPIAX_STATE_DOWN; - tech_pvt->session = NULL; //FIXME + memset(tech_pvt->session_uuid_str, '\0', sizeof(tech_pvt->session_uuid_str)); } } DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG); Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax.h ============================================================================== --- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax.h (original) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax.h Mon Jan 12 11:29:26 2009 @@ -157,7 +157,7 @@ switch_codec_t write_codec; switch_frame_t read_frame; unsigned char databuf[SWITCH_RECOMMENDED_BUFFER_SIZE]; - switch_core_session_t *session; + char session_uuid_str[SWITCH_UUID_FORMATTED_LENGTH+1]; switch_caller_profile_t *caller_profile; switch_mutex_t *mutex; switch_mutex_t *flag_mutex; Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c Mon Jan 12 11:29:26 2009 @@ -1353,8 +1353,7 @@ DEBUGA_SKYPE("Call %s received a DTMF: %s\n", SKYPIAX_P_LOG, id, value); - //tech_pvt = p; - session = tech_pvt->session; + session = switch_core_session_locate(tech_pvt->session_uuid_str); channel = switch_core_session_get_channel(session); if (channel) { @@ -1566,7 +1565,7 @@ //FIXME *new_session=switch_loadable_module_create_interface(skypiax_endpoint_interface, pool); - if (!tech_pvt->session) { //FIXME FIXME FIXME + if (!strlen(tech_pvt->session_uuid_str)) { switch_core_session_t *session = NULL; //private_t *tech_pvt = NULL; switch_channel_t *channel = NULL; @@ -1620,10 +1619,10 @@ switch_core_session_t *session = NULL; switch_channel_t *channel = NULL; - if (tech_pvt->session) { - session = tech_pvt->session; + if (strlen(tech_pvt->session_uuid_str)) { + session = switch_core_session_locate(tech_pvt->session_uuid_str); } else { - ERRORA("No tech_pvt->session???\n", SKYPIAX_P_LOG); + ERRORA("No session???\n", SKYPIAX_P_LOG); } if (session) { channel = switch_core_session_get_channel(session); @@ -1714,7 +1713,7 @@ } return -1; } - tech_pvt->session = session; + switch_copy_string(tech_pvt->session_uuid_str, switch_core_session_get_uuid(session), sizeof(tech_pvt->session_uuid_str)); caller_profile = tech_pvt->caller_profile; caller_profile->destination_number = rdest; From gmaruzz at freeswitch.org Mon Jan 12 09:30:42 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Mon, 12 Jan 2009 11:30:42 -0600 Subject: [Freeswitch-branches] [commit] r11139 - freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax Message-ID: Author: gmaruzz Date: Mon Jan 12 11:30:42 2009 New Revision: 11139 Log: skypiax: indent -gnu -ts4 -br -brs -cdw -lp -ce -nbfda -npcs -nprs -npsl -nbbo -saf -sai -saw -cs -bbo -nhnl -nut -sob -l90 Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/mod_skypiax.c freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax.h freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.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 Mon Jan 12 11:30:42 2009 @@ -59,7 +59,7 @@ static switch_status_t skypiax_codec(private_t * tech_pvt, int sample_rate, int codec_ms) { -switch_core_session_t *session=NULL; + switch_core_session_t *session = NULL; if (switch_core_codec_init (&tech_pvt->read_codec, "L16", NULL, sample_rate, codec_ms, 1, @@ -103,7 +103,8 @@ switch_mutex_init(&tech_pvt->flag_mutex, SWITCH_MUTEX_NESTED, switch_core_session_get_pool(session)); switch_core_session_set_private(session, tech_pvt); - switch_copy_string(tech_pvt->session_uuid_str, switch_core_session_get_uuid(session), sizeof(tech_pvt->session_uuid_str)); + switch_copy_string(tech_pvt->session_uuid_str, switch_core_session_get_uuid(session), + sizeof(tech_pvt->session_uuid_str)); if (skypiax_codec(tech_pvt, SAMPLERATE_SKYPIAX, 20) != SWITCH_STATUS_SUCCESS) { ERRORA("skypiax_codec FAILED\n", SKYPIAX_P_LOG); } else { @@ -583,7 +584,7 @@ DEBUGA_SKYPE("skype call ended\n", SKYPIAX_P_LOG); if (tech_pvt) { - session = switch_core_session_locate(tech_pvt->session_uuid_str); + session = switch_core_session_locate(tech_pvt->session_uuid_str); if (session) { channel = switch_core_session_get_channel(session); @@ -814,7 +815,8 @@ skype_user); switch_set_string(globals.SKYPIAX_INTERFACES[interface_id].context, context); switch_set_string(globals.SKYPIAX_INTERFACES[interface_id].dialplan, dialplan); - switch_set_string(globals.SKYPIAX_INTERFACES[interface_id].destination, destination); + switch_set_string(globals.SKYPIAX_INTERFACES[interface_id].destination, + destination); switch_set_string(globals.SKYPIAX_INTERFACES[interface_id].context, context); DEBUGA_SKYPE @@ -849,8 +851,7 @@ globals.SKYPIAX_INTERFACES[interface_id].destination); DEBUGA_SKYPE ("interface_id=%d globals.SKYPIAX_INTERFACES[interface_id].context=%s\n", - SKYPIAX_P_LOG, interface_id, - globals.SKYPIAX_INTERFACES[interface_id].context); + SKYPIAX_P_LOG, interface_id, globals.SKYPIAX_INTERFACES[interface_id].context); NOTICA("STARTING interface_id=%d\n", SKYPIAX_P_LOG, interface_id); switch_threadattr_create(&skypiax_skypeapi_thread_attr, skypiax_module_pool); @@ -902,10 +903,10 @@ i, globals.SKYPIAX_INTERFACES[i].context); DEBUGA_SKYPE("i=%d globals.SKYPIAX_INTERFACES[%d].dialplan=%s\n", SKYPIAX_P_LOG, i, i, globals.SKYPIAX_INTERFACES[i].dialplan); - DEBUGA_SKYPE("i=%d globals.SKYPIAX_INTERFACES[%d].destination=%s\n", SKYPIAX_P_LOG, - i, i, globals.SKYPIAX_INTERFACES[i].destination); - DEBUGA_SKYPE("i=%d globals.SKYPIAX_INTERFACES[%d].context=%s\n", SKYPIAX_P_LOG, - i, i, globals.SKYPIAX_INTERFACES[i].context); + DEBUGA_SKYPE("i=%d globals.SKYPIAX_INTERFACES[%d].destination=%s\n", + SKYPIAX_P_LOG, i, i, globals.SKYPIAX_INTERFACES[i].destination); + DEBUGA_SKYPE("i=%d globals.SKYPIAX_INTERFACES[%d].context=%s\n", SKYPIAX_P_LOG, i, + i, globals.SKYPIAX_INTERFACES[i].context); } } } Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax.h ============================================================================== --- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax.h (original) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax.h Mon Jan 12 11:30:42 2009 @@ -157,7 +157,7 @@ switch_codec_t write_codec; switch_frame_t read_frame; unsigned char databuf[SWITCH_RECOMMENDED_BUFFER_SIZE]; - char session_uuid_str[SWITCH_UUID_FORMATTED_LENGTH+1]; + char session_uuid_str[SWITCH_UUID_FORMATTED_LENGTH + 1]; switch_caller_profile_t *caller_profile; switch_mutex_t *mutex; switch_mutex_t *flag_mutex; Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c Mon Jan 12 11:30:42 2009 @@ -506,7 +506,7 @@ //ERRORA("tech_pvt->audiopipe[1] = %d\n", SKYPIAX_P_LOG, tech_pvt->audiopipe[1]); if (samples != SAMPLES_PER_FRAME * sizeof(short)) { //if (samples) - //ERRORA("SRV PIPE READ=====> NOT GOOD samples=%u expected=%lu\n", SKYPIAX_P_LOG, samples, SAMPLES_PER_FRAME * sizeof(short)); + //ERRORA("SRV PIPE READ=====> NOT GOOD samples=%u expected=%lu\n", SKYPIAX_P_LOG, samples, SAMPLES_PER_FRAME * sizeof(short)); assert(samples == SAMPLES_PER_FRAME * sizeof(short)); //do a crash, please //do nothing } else { @@ -808,8 +808,6 @@ return (xerror != BadValue) && (xerror != BadWindow); } - - int skypiax_skype_send_message(struct SkypiaxHandles *SkypiaxHandles, const char *message_P) { @@ -1353,7 +1351,7 @@ DEBUGA_SKYPE("Call %s received a DTMF: %s\n", SKYPIAX_P_LOG, id, value); - session = switch_core_session_locate(tech_pvt->session_uuid_str); + session = switch_core_session_locate(tech_pvt->session_uuid_str); channel = switch_core_session_get_channel(session); if (channel) { @@ -1565,7 +1563,7 @@ //FIXME *new_session=switch_loadable_module_create_interface(skypiax_endpoint_interface, pool); - if (!strlen(tech_pvt->session_uuid_str)) { + if (!strlen(tech_pvt->session_uuid_str)) { switch_core_session_t *session = NULL; //private_t *tech_pvt = NULL; switch_channel_t *channel = NULL; @@ -1596,9 +1594,9 @@ switch_caller_profile_new(switch_core_session_get_pool(session), "skypiax", tech_pvt->dialplan, tech_pvt->callid_name, - tech_pvt->callid_number, NULL, - NULL, NULL, NULL, - "mod_skypiax", tech_pvt->context, + tech_pvt->callid_number, NULL, NULL, + NULL, NULL, "mod_skypiax", + tech_pvt->context, tech_pvt->destination)) != 0) { char name[128]; //switch_snprintf(name, sizeof(name), "skypiax/%s/%s", tech_pvt->name, tech_pvt->caller_profile->destination_number); @@ -1620,7 +1618,7 @@ switch_channel_t *channel = NULL; if (strlen(tech_pvt->session_uuid_str)) { - session = switch_core_session_locate(tech_pvt->session_uuid_str); + session = switch_core_session_locate(tech_pvt->session_uuid_str); } else { ERRORA("No session???\n", SKYPIAX_P_LOG); } @@ -1713,7 +1711,8 @@ } return -1; } - switch_copy_string(tech_pvt->session_uuid_str, switch_core_session_get_uuid(session), sizeof(tech_pvt->session_uuid_str)); + switch_copy_string(tech_pvt->session_uuid_str, switch_core_session_get_uuid(session), + sizeof(tech_pvt->session_uuid_str)); caller_profile = tech_pvt->caller_profile; caller_profile->destination_number = rdest; From intralanman at freeswitch.org Mon Jan 12 09:41:26 2009 From: intralanman at freeswitch.org (FreeSWITCH SVN) Date: Mon, 12 Jan 2009 11:41:26 -0600 Subject: [Freeswitch-branches] [commit] r11140 - freeswitch/branches/ctrix Message-ID: Author: intralanman Date: Mon Jan 12 11:41:26 2009 New Revision: 11140 Log: Added: freeswitch/branches/ctrix/ From ctrix at freeswitch.org Mon Jan 12 09:48:43 2009 From: ctrix at freeswitch.org (FreeSWITCH SVN) Date: Mon, 12 Jan 2009 11:48:43 -0600 Subject: [Freeswitch-branches] [commit] r11141 - freeswitch/branches/ctrix/mod_airpe Message-ID: Author: ctrix Date: Mon Jan 12 11:48:43 2009 New Revision: 11141 Log: Initial empty dir for mod_airpe Added: freeswitch/branches/ctrix/mod_airpe/ From gmaruzz at freeswitch.org Mon Jan 12 09:50:34 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Mon, 12 Jan 2009 11:50:34 -0600 Subject: [Freeswitch-branches] [commit] r11142 - freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax Message-ID: Author: gmaruzz Date: Mon Jan 12 11:50:34 2009 New Revision: 11142 Log: skypiax: implemented anthm suggested changes, fixed switch_core_session_rwunlock(session), indented again Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/mod_skypiax.c freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.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 Mon Jan 12 11:50:34 2009 @@ -590,8 +590,10 @@ channel = switch_core_session_get_channel(session); if (channel) { switch_channel_hangup(channel, SWITCH_CAUSE_NORMAL_CLEARING); + switch_core_session_rwunlock(session); } else { ERRORA("no channel?\n", SKYPIAX_P_LOG); + switch_core_session_rwunlock(session); } } else { DEBUGA_SKYPE("no session\n", SKYPIAX_P_LOG); Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c ============================================================================== --- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c (original) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c Mon Jan 12 11:50:34 2009 @@ -1364,6 +1364,7 @@ switch_set_flag(tech_pvt, TFLAG_DTMF); switch_mutex_unlock(tech_pvt->flag_mutex); } + switch_core_session_rwunlock(session); } if (!strcasecmp(prop, "FAILUREREASON")) { @@ -1634,6 +1635,7 @@ ERRORA("No channel???\n", SKYPIAX_P_LOG); } + switch_core_session_rwunlock(session); } } else { From gmaruzz at freeswitch.org Mon Jan 12 11:03:07 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Mon, 12 Jan 2009 13:03:07 -0600 Subject: [Freeswitch-branches] [commit] r11144 - freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax Message-ID: Author: gmaruzz Date: Mon Jan 12 13:03:06 2009 New Revision: 11144 Log: docs Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/README Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/README ============================================================================== --- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/README (original) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/README Mon Jan 12 13:03:06 2009 @@ -17,7 +17,9 @@ If your server's Skype client(s) has got the Skype credits, Skypiax works for SkypeOut calls too. -You can use it from the dialplan, eg with the provided modified "default.xml" dialplan, you can call "sip:skype/remote_skypename__OR__skypeout_phonenumber" for calling via the Skype network from a SIP softphone to remote_skypename or to a phone number via SkypeOut, or you can call the "2908" extension from any phone to be bridged to the Skype Test Call). +You can use it from the dialplan, eg with the provided modified "default.xml" dialplan, you can call a "skype uri" that's the word 'skype' followed by a slash and a destination: "skype/remote_skypename__OR__skypeout_phonenumber" for calling via the Skype network. Eg "skype/echo123" or "skype/+18007844444". + +You can use the "skype uri" of the provided dialplan also directly for a SIP softphone, eg X-Lite. With the provided skypiax.conf.xml all incoming Skype calls will be routed to the "5000" extension, the IVR in default FreeSWITCH installation. @@ -25,7 +27,7 @@ On a Linux machine with 3GB ram and a quad core intel6600, we got no problem with 20 concurrent calls, and plenty of room for adding more Skypiax channels (100? not tested). -On Windows, no need to do anything special, the Skype client is lighter on CPU. +On Windows, no need to do anything special, the Skype client is lighter on CPU. ''Skypiax is now pre-beta, but usable for testing and finding bugs :-).'' From ctrix at freeswitch.org Mon Jan 12 15:24:44 2009 From: ctrix at freeswitch.org (FreeSWITCH SVN) Date: Mon, 12 Jan 2009 17:24:44 -0600 Subject: [Freeswitch-branches] [commit] r11153 - in freeswitch/branches/ctrix/mod_airpe: . config Message-ID: Author: ctrix Date: Mon Jan 12 17:24:44 2009 New Revision: 11153 Log: Initial import of airpe... Not yet fully working, don't expect too much. Added: freeswitch/branches/ctrix/mod_airpe/airpe_api.c freeswitch/branches/ctrix/mod_airpe/airpe_apps.c freeswitch/branches/ctrix/mod_airpe/airpe_if_common.c freeswitch/branches/ctrix/mod_airpe/airpe_if_osx.c freeswitch/branches/ctrix/mod_airpe/airpe_if_win32.c freeswitch/branches/ctrix/mod_airpe/airpe_if_x11.c freeswitch/branches/ctrix/mod_airpe/config/ 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 Added: freeswitch/branches/ctrix/mod_airpe/airpe_api.c ============================================================================== --- (empty file) +++ freeswitch/branches/ctrix/mod_airpe/airpe_api.c Mon Jan 12 17:24:44 2009 @@ -0,0 +1,262 @@ +/* + * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application + * Copyright (C) 2005/2006, Anthony Minessale II + * + * 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 mod_airpe. + * + * The Initial Developer of the Original Code is + * Massimo Cetra + * + * Portions created by the Initial Developer are Copyright (C) + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * Thanks to gmaruzz for his work on skypiax (both * and freeswitch). + * Some of his code inspired this module + * + */ + +#include "mod_airpe.h" + +#define AIRPE_MOODTEXT_SYNTAX "airpe_moodtext " +SWITCH_STANDARD_API(airpe_moodtext_command) +{ + int argc = 0; + char *argv[2] = { 0 }; + char *mycmd = NULL; + char *client = NULL; + airpe_interface_t *airpe = NULL; + + if (!switch_strlen_zero(cmd) && (mycmd = strdup(cmd))) { + argc = switch_separate_string(mycmd, ' ', argv, (sizeof(argv) / sizeof(argv[0]))); + switch_assert(argv[0]); + } + + if ( argc < 1 ) { + stream->write_function(stream, "-USAGE: %s\n", AIRPE_MOODTEXT_SYNTAX); + goto done; + } + + client = argv[0]; + airpe = airpe_find_interface(client); + + if ( !airpe ) { + stream->write_function(stream, "-ERR interface not found for client "); + stream->write_function(stream, client); + stream->write_function(stream, "\n"); + goto done; + } + + if ( argc == 1 ) { + stream->write_function(stream, "+OK: "); + if ( airpe->mood_text ) + stream->write_function(stream, airpe->mood_text); + else + stream->write_function(stream, "UNKNOWN"); + stream->write_function(stream, "\n"); + } + else { + if ( airpe_set_mood_text(airpe, argv[1]) != SWITCH_STATUS_SUCCESS ) { + stream->write_function(stream, "-ERR cannot send message to the client\n"); + goto done; + } + else { + char buf[SKYPE_MSG_LEN]; + snprintf(buf, SKYPE_MSG_LEN, "SET PROFILE MOOD_TEXT %s", airpe->mood_text ); + airpe_cmd_write(airpe, buf); + } + stream->write_function(stream, "+OK mood_text set.\n"); + } + + done: + return SWITCH_STATUS_SUCCESS; +} + +#define AIRPE_INFO_SYNTAX "airpe_status " +SWITCH_STANDARD_API(airpe_info_command) +{ + int argc = 0; + char *argv[4] = { 0 }; + char *mycmd = NULL; + char *client = NULL; + char buf[512]; + airpe_interface_t *airpe = NULL; + + if (!switch_strlen_zero(cmd) && (mycmd = strdup(cmd))) { + argc = switch_separate_string(mycmd, ' ', argv, (sizeof(argv) / sizeof(argv[0]))); + switch_assert(argv[0]); + } + + if ( argc < 1 ) { + stream->write_function(stream, "-USAGE: %s\n", AIRPE_INFO_SYNTAX); + goto done; + } + + client = argv[0]; + airpe = airpe_find_interface(client); + + if ( !airpe ) { + stream->write_function(stream, "-ERR interface not found for client "); + stream->write_function(stream, client); + stream->write_function(stream, "\n"); + goto done; + } + + switch_snprintf(buf, sizeof(buf), "%-20s: %s\n", "Client name", airpe->name); + stream->write_function(stream, buf); + switch_snprintf(buf, sizeof(buf), "%-20s: %s\n", "Dialplan", airpe->dialplan); + stream->write_function(stream, buf); + switch_snprintf(buf, sizeof(buf), "%-20s: %s\n", "Context", airpe->context); + stream->write_function(stream, buf); + switch_snprintf(buf, sizeof(buf), "%-20s: %s\n", "Destination", airpe->destination); + stream->write_function(stream, buf); + switch_snprintf(buf, sizeof(buf), "%-20s: %s\n", "Skype username", airpe->skype_user); + stream->write_function(stream, buf); + if ( airpe->audio_in_port > 0 ) + switch_snprintf(buf, sizeof(buf), "%-20s: %d\n", "Audio in port", airpe->audio_in_port); + else + switch_snprintf(buf, sizeof(buf), "%-20s: %s\n", "Audio in port", "NOT SET"); + stream->write_function(stream, buf); + if ( airpe->audio_in_port > 0 ) + switch_snprintf(buf, sizeof(buf), "%-20s: %d\n", "Audio out port", airpe->audio_out_port); + else + switch_snprintf(buf, sizeof(buf), "%-20s: %s\n", "Audio out port", "NOT SET"); + stream->write_function(stream, buf); + + switch_snprintf(buf, sizeof(buf), "%-20s: %s\n", "Connection status", skype_conn_status_string(airpe->conn_status) ); + stream->write_function(stream, buf); + switch_snprintf(buf, sizeof(buf), "%-20s: %s\n", "Client status", skype_user_status_string(airpe->user_status) ); + stream->write_function(stream, buf); + + switch_snprintf(buf, sizeof(buf), "%-20s: %s\n", "Skype version", (airpe->skype_version) ? airpe->skype_version : "Unknown" ); + stream->write_function(stream, buf); + switch_snprintf(buf, sizeof(buf), "%-20s: %s\n", "Mood text", (airpe->mood_text ) ? airpe->mood_text : "Unknown" ); + stream->write_function(stream, buf); + + done: + return SWITCH_STATUS_SUCCESS; +} + +#define AIRPE_STATUS_SYNTAX "airpe_status " +SWITCH_STANDARD_API(airpe_status_command) +{ + int argc = 0; + char *argv[4] = { 0 }; + char *mycmd = NULL; + char *client = NULL; + char *cstatus= NULL; + airpe_interface_t *airpe = NULL; + + if (!switch_strlen_zero(cmd) && (mycmd = strdup(cmd))) { + argc = switch_separate_string(mycmd, ' ', argv, (sizeof(argv) / sizeof(argv[0]))); + switch_assert(argv[0]); + } + + if ( argc < 1 ) { + stream->write_function(stream, "-USAGE: %s\n", AIRPE_STATUS_SYNTAX); + goto done; + } + + client = argv[0]; + if ( argc > 1 ) + cstatus = argv[1]; + + airpe = airpe_find_interface(client); + + if ( !airpe ) { + stream->write_function(stream, "-ERR interface not found: \n"); + stream->write_function(stream, client); + stream->write_function(stream, "\n"); + goto done; + } + + if ( !cstatus ) { + const char *str_status = NULL; + str_status = skype_user_status_string( airpe->user_status ); + stream->write_function(stream, "+OK status is "); + if ( str_status ) + stream->write_function(stream, str_status); + else + stream->write_function(stream, "... uhmmm, ehmm, DUNNO... "); + stream->write_function(stream, "\n"); + } + else { + char buf[SKYPE_MSG_LEN]; + const char *str_status = NULL; + + if ( !strncasecmp(cstatus, "unknown", sizeof("unknown") ) ) + str_status = skype_user_status_string(USER_STATUS_UNKNOWN); + else if ( !strncasecmp(cstatus, "online", sizeof("online") ) ) + str_status = skype_user_status_string(USER_STATUS_ONLINE); + else if ( !strncasecmp(cstatus, "offline", sizeof("offline") ) ) + str_status = skype_user_status_string(USER_STATUS_OFFLINE); + else if ( !strncasecmp(cstatus, "skypeme", sizeof("skypeme") ) ) + str_status = skype_user_status_string(USER_STATUS_SKYPEME); + else if ( !strncasecmp(cstatus, "away", sizeof("away") ) ) + str_status = skype_user_status_string(USER_STATUS_AWAY); + else if ( !strncasecmp(cstatus, "na", sizeof("na") ) ) + str_status = skype_user_status_string(USER_STATUS_NA); + else if ( !strncasecmp(cstatus, "dnd", sizeof("dnd") ) ) + str_status = skype_user_status_string(USER_STATUS_DND); + else if ( !strncasecmp(cstatus, "invisible", sizeof("invisible") ) ) + str_status = skype_user_status_string(USER_STATUS_INVISIBLE); + else if ( !strncasecmp(cstatus, "loggedout", sizeof("loggedout") ) ) + str_status = skype_user_status_string(USER_STATUS_LOGGEDOUT); + + if ( str_status ) { + snprintf(buf, SKYPE_MSG_LEN, "SET USERSTATUS %s", cstatus ); + if ( airpe_cmd_write(airpe, buf) != SWITCH_STATUS_SUCCESS ) { + stream->write_function(stream, "-ERR cannot send message to the client\n"); + goto done; + } + stream->write_function(stream, "+OK status set.\n"); + } + else { + stream->write_function(stream, "-ERR invalid status string\n"); + } + } + + done: + return SWITCH_STATUS_SUCCESS; +} + + + +switch_status_t airpe_register_api( switch_loadable_module_interface_t **module_interface ) { + + switch_api_interface_t *api; + + switch_console_set_complete("add airpe_moodtext "); + SWITCH_ADD_API(api, "airpe_moodtext", "sets the mood text of an airpe client", airpe_moodtext_command, AIRPE_MOODTEXT_SYNTAX); + + switch_console_set_complete("add airpe_info "); + SWITCH_ADD_API(api, "airpe_info", "shows the status of an airpe client", airpe_info_command, AIRPE_INFO_SYNTAX); + + switch_console_set_complete("add airpe_status "); + SWITCH_ADD_API(api, "airpe_status", "sets the status of an airpe client", airpe_status_command, AIRPE_STATUS_SYNTAX); + + return SWITCH_STATUS_SUCCESS; +} + +/* For Emacs: + * Local Variables: + * mode:c + * indent-tabs-mode:t + * tab-width:4 + * c-basic-offset:4 + * End: + * For VIM: + * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab: + */ Added: freeswitch/branches/ctrix/mod_airpe/airpe_apps.c ============================================================================== --- (empty file) +++ freeswitch/branches/ctrix/mod_airpe/airpe_apps.c Mon Jan 12 17:24:44 2009 @@ -0,0 +1,56 @@ +/* + * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application + * Copyright (C) 2005/2006, Anthony Minessale II + * + * 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 mod_airpe. + * + * The Initial Developer of the Original Code is + * Massimo Cetra + * + * Portions created by the Initial Developer are Copyright (C) + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * Thanks to gmaruzz for his work on skypiax (both * and freeswitch). + * Some of his code inspired this module + * + */ + +#include "mod_airpe.h" + +SWITCH_STANDARD_APP(airpe_app_test) +{ +} + + +switch_status_t airpe_register_apps( switch_loadable_module_interface_t **module_interface ) { + switch_application_interface_t *app_interface; + + SWITCH_ADD_APP(app_interface, "airpe_test", "test text", "test text", airpe_app_test, "", SAF_SUPPORT_NOMEDIA); + + return SWITCH_STATUS_SUCCESS; +} + +/* For Emacs: + * Local Variables: + * mode:c + * indent-tabs-mode:t + * tab-width:4 + * c-basic-offset:4 + * End: + * For VIM: + * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab: + */ + Added: freeswitch/branches/ctrix/mod_airpe/airpe_if_common.c ============================================================================== --- (empty file) +++ freeswitch/branches/ctrix/mod_airpe/airpe_if_common.c Mon Jan 12 17:24:44 2009 @@ -0,0 +1,770 @@ +/* + * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application + * Copyright (C) 2005/2006, Anthony Minessale II + * + * 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 mod_airpe. + * + * The Initial Developer of the Original Code is + * Massimo Cetra + * + * Portions created by the Initial Developer are Copyright (C) + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * Thanks to gmaruzz for his work on skypiax (both * and freeswitch). + * Some of his code inspired this module + * + */ + +#include "mod_airpe.h" + +static struct { + USER_STATUS status; + const char *name; +} user_status_names[] = { + { USER_STATUS_UNKNOWN, "UNKNOWN" }, + { USER_STATUS_ONLINE, "ONLINE" }, + { USER_STATUS_OFFLINE, "OFFLINE" }, + { USER_STATUS_SKYPEME, "SKYPEME" }, + { USER_STATUS_AWAY, "AWAY" }, + { USER_STATUS_NA, "NA" }, + { USER_STATUS_DND, "DND" }, + { USER_STATUS_INVISIBLE, "INVISIBLE" }, + { USER_STATUS_LOGGEDOUT, "LOGGEDOUT" }, +}; + +static struct { + CONN_STATUS status; + const char *name; +} connection_status_names[] = { + { CONN_STATUS_UNKNOWN, "UNKNOWN" }, + { CONN_STATUS_OFFLINE, "OFFLINE" }, + { CONN_STATUS_CONNECTING, "CONNECTING" }, + { CONN_STATUS_PAUSING, "PAUSING" }, + { CONN_STATUS_ONLINE, "ONLINE" }, +}; + +/* ************************************************************************* */ + +const char *skype_user_status_string(USER_STATUS st) { + int t; + const char *ret = NULL; + + for ( t = 0; t < sizeof(user_status_names) / sizeof(user_status_names[0]); t++ ) { + if ( user_status_names[t].status == st ) { + ret = user_status_names[t].name; + break; + } + } + return ret; +} + +USER_STATUS skype_user_status(const char *str) { + int t; + USER_STATUS ret = USER_STATUS_UNKNOWN; + + for ( t = 0; t < sizeof(user_status_names) / sizeof(user_status_names[0]); t++ ) { + if ( !strncasecmp(user_status_names[t].name, str, strlen(user_status_names[t].name) ) ) { + ret = user_status_names[t].status; + break; + } + } + return ret; +} + +/* ************************************************************************* */ + +const char *skype_conn_status_string(CONN_STATUS st) { + int t; + const char *ret = NULL; + + for ( t = 0; t < sizeof(connection_status_names) / sizeof(connection_status_names[0]); t++ ) { + if ( connection_status_names[t].status == st ) { + ret = connection_status_names[t].name; + break; + } + } + return ret; +} + +CONN_STATUS skype_conn_status(const char *str) { + int t; + CONN_STATUS ret = CONN_STATUS_UNKNOWN; + + for ( t = 0; t < sizeof(connection_status_names) / sizeof(connection_status_names[0]); t++ ) { + if ( !strncasecmp(connection_status_names[t].name, str, strlen(connection_status_names[t].name) ) ) { + ret = connection_status_names[t].status; + break; + } + } + return ret; +} + +/* ************************************************************************* */ + +switch_status_t airpe_set_version(airpe_interface_t *airpe, char *string) { + assert(airpe); + switch_safe_free(airpe->skype_version); + if ( string ) + airpe->skype_version = strdup(string); + return SWITCH_STATUS_SUCCESS; +} + +switch_status_t airpe_set_mood_text(airpe_interface_t *airpe, char *string) { + assert(airpe); + switch_safe_free(airpe->mood_text); + if ( string ) + airpe->mood_text = strdup(string); + return SWITCH_STATUS_SUCCESS; +} + +switch_status_t airpe_set_partner_displayname(airpe_interface_t *airpe, char *string) { + assert(airpe); + switch_safe_free(airpe->partner_displayname); + if ( string ) + airpe->partner_displayname = strdup(string); + return SWITCH_STATUS_SUCCESS; +} + +switch_status_t airpe_set_partner_handle(airpe_interface_t *airpe, char *string) { + assert(airpe); + switch_safe_free(airpe->partner_handle); + if ( string ) + airpe->partner_handle = strdup(string); + return SWITCH_STATUS_SUCCESS; +} + +switch_status_t airpe_cmd_write(airpe_interface_t *airpe, char *msg) { + if ( airpe->debug ) + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "msg to airpe client %s: %s\n", airpe->name, msg); + return airpe_skype_send_message(airpe->skype_window, msg); +} + +switch_status_t airpe_originate(airpe_interface_t *airpe, char *dest) { + char msg[SKYPE_MSG_LEN]; + + /* + Those commands are outdated and shouldn't be used + Documented so that no one adds them. + airpe_cmd_write(p, "SET AGC OFF"); + airpe_cmd_write(p, "SET AEC OFF"); + */ + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "airpe client %s: Originating to %s\n", airpe->name, dest); + + snprintf(msg, sizeof(msg), "CALL %s", dest); + + if ( (airpe_cmd_write(airpe, msg) != SWITCH_STATUS_SUCCESS) ) { + return SWITCH_STATUS_FALSE; + } + + return SWITCH_STATUS_SUCCESS; +} + +switch_status_t airpe_explicit_hangup(airpe_interface_t *airpe) { + char buf[SKYPE_MSG_LEN]; + + if ( airpe->active_call_id > 0 ) { + snprintf(buf, sizeof(buf), "SET CALL %d STATUS FINISHED", airpe->active_call_id); + return airpe_cmd_write(airpe, buf); + } + return SWITCH_STATUS_FALSE; +} + + + +/***************************************************************************** + SKYPE AUDIO + *****************************************************************************/ + +switch_status_t airpe_hangup( private_object_t *pvt ) { + airpe_interface_t *airpe; + + assert(pvt); + assert(pvt->session); + assert(pvt->airpe); + + airpe = pvt->airpe; + + if ( airpe->audio_in_active_socket ) { + switch_socket_shutdown(airpe->audio_in_active_socket, SWITCH_SHUTDOWN_READWRITE); + switch_socket_close(airpe->audio_in_active_socket); + airpe->audio_in_active_socket = 0; + } + + if ( airpe->audio_out_active_socket ) { + switch_socket_shutdown(airpe->audio_out_active_socket, SWITCH_SHUTDOWN_READWRITE); + switch_socket_close(airpe->audio_out_active_socket); + airpe->audio_out_active_socket = 0; + } + + airpe->tech_pvt = NULL; + + return SWITCH_STATUS_SUCCESS; +} + +switch_status_t airpe_audio_write( private_object_t *pvt, switch_frame_t *frame ) { + switch_socket_t *inbound_socket = NULL; + switch_memory_pool_t *pool; + airpe_interface_t *airpe; + switch_status_t rv; + switch_size_t mlen; + char *mbuf; + + assert(pvt); + assert(pvt->session); + assert(pvt->airpe); + + airpe = pvt->airpe; + pool = switch_core_session_get_pool(pvt->session); + + if ( !airpe->audio_in_active_socket ) { + rv = switch_socket_accept(&inbound_socket, airpe->audio_in_socket, pool); + if ( rv == SWITCH_STATUS_SUCCESS ) { + airpe->audio_in_active_socket = inbound_socket; + switch_sleep(100000); + } + else { + return SWITCH_STATUS_FALSE; + } + } + + mbuf = frame->data; + mlen = frame->datalen; + rv = switch_socket_send(airpe->audio_in_active_socket, mbuf, &mlen); + + return rv; +} + +switch_status_t airpe_audio_read( private_object_t *pvt ) { + switch_socket_t *inbound_socket = NULL; + switch_memory_pool_t *pool; + airpe_interface_t *airpe; + switch_status_t rv; + switch_size_t mlen; + char *ptr; + + assert(pvt); + assert(pvt->session); + assert(pvt->airpe); + + airpe = pvt->airpe; + pool = switch_core_session_get_pool(pvt->session); + + if ( !airpe->audio_out_active_socket ) { + rv = switch_socket_accept(&inbound_socket, airpe->audio_out_socket, pool); + if ( rv == SWITCH_STATUS_SUCCESS ) { + airpe->audio_out_active_socket = inbound_socket; + switch_sleep(100000); + } + else { + return SWITCH_STATUS_FALSE; + } + } + + pvt->read_frame.datalen = 0; + ptr = pvt->read_frame.data; + mlen = sizeof(pvt->databuf); + rv = switch_socket_recv(airpe->audio_out_active_socket, ptr, &mlen); + + if ( (rv==SWITCH_STATUS_SUCCESS) ) { + pvt->read_frame.datalen = mlen; + } +// if ( mlen == 0 ) +// return SWITCH_STATUS_SUCCESS; + + return rv; +} + +/***************************************************************************** + SKYPE CONTROL MESSAGES + *****************************************************************************/ + +static switch_status_t airpe_manage_incoming_call( airpe_interface_t *airpe, int callid ) { + char chan_name[256]; + switch_channel_t *channel = NULL; + switch_core_session_t *new_session = NULL; + private_object_t *tech_pvt = NULL; + + new_session = airpe_request_session(NULL); + if ( !new_session ) { + return SWITCH_STATUS_FALSE; + } + + switch_core_session_add_stream(new_session, NULL); + + tech_pvt = (private_object_t *) switch_core_session_alloc(new_session, sizeof(private_object_t)); + if ( !tech_pvt ) { + switch_core_session_destroy(&new_session); + return SWITCH_STATUS_FALSE; + } + memset(tech_pvt, 0, sizeof(private_object_t)); + + channel = switch_core_session_get_channel(new_session); + assert(channel); + + if ( airpe_tech_init(tech_pvt, new_session) != SWITCH_STATUS_SUCCESS ) { + switch_core_session_destroy(&new_session); + return SWITCH_STATUS_FALSE; + } + tech_pvt->airpe = airpe; + + switch_snprintf(chan_name, sizeof(chan_name), MODNAME"/%s", airpe->name); + switch_channel_set_name(channel, chan_name); + + tech_pvt->caller_profile = switch_caller_profile_new( switch_core_session_get_pool(new_session), + airpe->name, /* Username */ + airpe->dialplan, /* Diaplan */ + airpe->partner_displayname, /* cid_name */ + airpe->partner_handle, /* cid_number */ + NULL, /* network_addr */ + NULL, /* ani */ + NULL, /* aniii */ + NULL, /* rdnis */ + MODNAME, /* source */ + airpe->context, /* context */ + airpe->destination /* destination_number */ + ); + + if ( !tech_pvt->caller_profile ) { + switch_core_session_destroy(&new_session); + return SWITCH_STATUS_FALSE; + } + else + switch_channel_set_caller_profile(channel, tech_pvt->caller_profile); + + + switch_set_flag(tech_pvt, TFLAG_INBOUND); + airpe->active_call_id = callid; + switch_channel_set_state(channel, CS_INIT); + + if ( switch_core_session_thread_launch(new_session) != SWITCH_STATUS_SUCCESS ) { + airpe->active_call_id = 0; + switch_core_session_destroy(&new_session); + return SWITCH_STATUS_FALSE; + } + + return SWITCH_STATUS_SUCCESS; +} + +static switch_status_t airpe_manage_call_status( airpe_interface_t *airpe, int callid, const char *status ) { + char buf[SKYPE_MSG_LEN]; + switch_core_session_t *session = NULL; + switch_channel_t *channel = NULL; + + if ( airpe->active_call_id && airpe->active_call_id != callid ) { +ADEBUG("CASE 1 - different call\n"); + if ( !strncmp(status, "UNPLACED", strlen("UNPLACED")) ) { + snprintf(buf, sizeof(buf), "SET CALL %d STATUS FINISHED", callid); + airpe_cmd_write(airpe, buf); + } + else { + ADEBUG("*** (%d/%d) Unmanaged status %s\n", airpe->active_call_id, callid, status); + } + + } + else if ( airpe->active_call_id && airpe->active_call_id == callid ) { +ADEBUG("CASE 2 - my call\n"); + if ( airpe->tech_pvt ) { + assert(airpe->tech_pvt); + session = airpe->tech_pvt->session; + assert(session); + + channel = switch_core_session_get_channel(session); + assert(channel); + } + + if ( !strncmp(status, "ROUTING", strlen("ROUTING")) ) { + } + else if ( !strncmp(status, "RINGING", strlen("RINGING")) ) { + //if ( switch_test_flag(tech_pvt, TFLAG_OUTBOUND) ) { + //switch_channel_set_state(channel, CS_RINGING); + switch_core_session_queue_indication(session, SWITCH_MESSAGE_INDICATE_RINGING); + switch_channel_mark_ring_ready(channel); + //} + + snprintf(buf, sizeof(buf), "ALTER CALL %d SET_INPUT PORT=\"%d\"", callid, airpe->audio_in_port); + airpe_cmd_write(airpe, buf); + snprintf(buf, sizeof(buf), "ALTER CALL %d SET_OUTPUT PORT=\"%d\"", callid, airpe->audio_out_port); + airpe_cmd_write(airpe, buf); + + + + switch_channel_set_state(channel, CS_ROUTING); + + } + else if ( !strncmp(status, "INPROGRESS", strlen("INPROGRESS")) ) { + snprintf(buf, sizeof(buf), "ALTER CALL %d STOP_VIDEO_SEND", callid ); + airpe_cmd_write(airpe, buf); + snprintf(buf, sizeof(buf), "ALTER CALL %d STOP_VIDEO_RECEIVE", callid ); + airpe_cmd_write(airpe, buf); + + if ( channel ) { + switch_channel_mark_answered(channel); + } + else { + if ( airpe_manage_incoming_call(airpe, callid) != SWITCH_STATUS_SUCCESS ) { + snprintf(buf, sizeof(buf), "ALTER CALL %d END HANGUP", callid ); + airpe_cmd_write(airpe, buf); + airpe->active_call_id = 0; + } + } + } + else if ( !strncmp(status, "FINISHED", strlen("FINISHED")) ) { + if ( channel ) + switch_channel_hangup(channel, SWITCH_CAUSE_NORMAL_CLEARING); + airpe->active_call_id = 0; + } + else if ( !strncmp(status, "FAILED", strlen("FAILED")) ) { + if ( channel ) + switch_channel_hangup(channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER); + airpe->active_call_id = 0; + } + else if ( !strncmp(status, "CANCELLED", strlen("CANCELLED")) ) { + if ( channel ) + switch_channel_hangup(channel, SWITCH_CAUSE_ORIGINATOR_CANCEL); + airpe->active_call_id = 0; + } + else if ( !strncmp(status, "REFUSED", strlen("REFUSED")) ) { + if ( channel ) + switch_channel_hangup(channel, SWITCH_CAUSE_CALL_REJECTED); + airpe->active_call_id = 0; + } + else if ( !strncmp(status, "MISSED", strlen("MISSED")) ) { + if ( channel ) + switch_channel_hangup(channel, SWITCH_CAUSE_NO_ANSWER); + airpe->active_call_id = 0; + } + else if ( !strncmp(status, "UNPLACED", strlen("UNPLACED")) ) { + } + else { +ADEBUG("Unmanaged status \n"); + } + } + else { +ADEBUG("CASE 3 - no calls online\n"); + if ( !strncmp(status, "UNPLACED", strlen("UNPLACED")) ) { + airpe->active_call_id = callid; + } + else if ( !strncmp(status, "RINGING", strlen("RINGING")) ) { + airpe->active_call_id = callid; + snprintf(buf, sizeof(buf), "ALTER CALL %d ANSWER", callid ); + airpe_cmd_write(airpe, buf); + } + else { + ADEBUG("--- (%d/%d) Unmanaged status %s\n", airpe->active_call_id, callid, status); + } + } + + return SWITCH_STATUS_SUCCESS; +} + +switch_status_t airpe_manage_skype_msg( airpe_interface_t *airpe, const char *msg ) { + char *buf = NULL; + int argc = 0; + char *argv[9] = { 0 }; + + assert(airpe); + assert(msg); + + if ( airpe->debug ) + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "airpe client %s: %s\n", airpe->name, msg); + + buf = strdup(msg); + argc = switch_separate_string(buf, ' ', argv, (sizeof(argv) / sizeof(argv[0]))); + + if ( argc == 0 ) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "airpe client %s: %s - Message without arguments? uh?\n", airpe->name, msg); + free(buf); + return SWITCH_STATUS_FALSE; + } + + + + if ( !strncmp( buf, "CURRENTUSERHANDLE", strlen("CURRENTUSERHANDLE")) ) { + /* The username that the client is using. */ + // TODO ... if the user handle mismatches, disconnect the channel or simply disable + // all operations + } + else if ( !strncmp( buf, "USERSTATUS", strlen("USERSTATUS")) && argc > 1 ) { + /* The status of the user of the client (ex: NA, ONLINE) */ + airpe->user_status = skype_user_status(argv[1]); + } + else if ( !strncmp( buf, "PROTOCOL", strlen("PROTOCOL")) && argc > 1 ) { + /* The protocol of the client */ + airpe->protocol = atoi(argv[1]); + } + else if ( !strncmp( buf, "CLEAR", strlen("CLEAR")) ) { + /* something has been cleared in the UI - Ignored */ + } + else if ( !strncmp( buf, "PONG", strlen("PONG")) ) { + /* keepalive */ + airpe_skype_watchdog_reset(airpe->skype_window); + } + else if ( !strncmp( buf, "CONNSTATUS", strlen("CONNSTATUS")) && argc >= 2 ) { + /* The connection status of the client (ex: ONLINE) */ + airpe->conn_status = skype_conn_status( argv[1] ); + } + else if ( !strncmp( buf, "USER", strlen("USER")) ) { + /* Updates about the users of our list - ignored */ + } + else if ( !strncmp( buf, "GROUP", strlen("GROUP")) ) { + /* Updates about the groups of our list - ignored */ + } + else if ( !strncmp( buf, "CONTACTS", strlen("CONTACTS")) ) { + /* Other messages referring to the contact list - ignored */ + } + else if ( !strncmp( buf, "OK", strlen("OK")) ) { + /* Acknowledge - ignored */ + } + else if ( !strncmp( buf, "AUTOAWAY", strlen("AUTOAWAY")) ) { + /* Autoaway - ignored */ + } +//TODO: RECEIVEDAUTHREQUEST - Add a config option to authorize or forget about it. + else if ( !strncmp( buf, "MUTE", strlen("MUTE")) && argc >= 2 ) { + if ( !strncmp(argv[1], "ON", 2) ) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "airpe client %s: I don't like to be muted...\n", airpe->name); + airpe_cmd_write(airpe, "MUTE OFF"); + } + } + else if ( !strncmp( buf, "CHATMESSAGE", strlen("CHATMESSAGE")) ) { + /* a message has been received (unknown content) - ignored */ + } + else if ( !strncmp( buf, "CHAT", strlen("CHAT")) && argc >=2 ) { + /* Chat status - ignored. */ + if ( airpe->protocol > 6 ) { + //TODO : ALTER CHAT 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); + } + } + else if ( !strncmp( buf, "CHATMEMBER", strlen("CHATMEMBER")) ) { + /* Informations about the chat members - ignored */ + } + else if ( !strncmp( buf, "PROFILE", strlen("PROFILE")) && argc >= 2 ) { + if ( !strncmp(argv[1], "MOOD_TEXT", strlen("MOOD_TEXT")) ) { + char *tmp = NULL; + char *mood; + tmp = strdup(msg); + if ( tmp ) { + mood = strstr(tmp, "PROFILE MOOD_TEXT "); + if ( mood ) { + mood += strlen("PROFILE MOOD_TEXT "); + airpe_set_mood_text(airpe, mood); + } + switch_safe_free(tmp); + } + } + } + else if ( !strncmp( buf, "SKYPEVERSION", strlen("SKYPEVERSION")) ) { + airpe_set_version(airpe, argv[1]); + } + else if ( !strncmp( buf, "CALL", strlen("CALL")) && argc >= 3 ) { + char *cmd = argv[2]; + int callid = atoi(argv[1]); + + if ( !strncmp(cmd, "DURATION", strlen("DURATION")) ) { + /* Ignore the duration that is updated every second */ + 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]; + airpe_manage_call_status( airpe, callid, callstatus ); + } + else if ( !strncmp(cmd, "CONF_ID", strlen("CONF_ID")) ) { + char buf[SKYPE_MSG_LEN]; + + if ( !airpe->active_call_id ) { + airpe_set_partner_displayname(airpe, NULL); + airpe_set_partner_handle(airpe, NULL); + + snprintf(buf, sizeof(buf), "GET CALL %d PARTNER_DISPNAME", callid); + airpe_cmd_write(airpe, buf); + + snprintf(buf, sizeof(buf), "GET CALL %d PARTNER_HANDLE", callid); + airpe_cmd_write(airpe, buf); + + airpe_cmd_write(airpe, "PING"); + } + else { + snprintf(buf, sizeof(buf), "ALTER CALL %d END HANGUP", callid ); + airpe_cmd_write(airpe, buf); + } + } + else if ( !strncmp(cmd, "VAA_INPUT_STATUS", strlen("VAA_INPUT_STATUS")) ) { + /* Let's ignore */ + } + else if ( !strncmp(cmd, "DTMF", strlen("DTMF")) ) { + /* This is an incoming DTMF */ + switch_core_session_t *session; + switch_channel_t *channel; + switch_dtmf_t dtmf = { 0, switch_core_default_dtmf_duration(0) }; + const char *signal_ptr; + int tmp; + + assert(airpe->tech_pvt); + session = airpe->tech_pvt->session; + assert(session); + channel = switch_core_session_get_channel(session); + assert(channel); + + signal_ptr = argv[3]; + + if (*signal_ptr && (*signal_ptr == '*' || *signal_ptr == '#' || *signal_ptr == 'A' || *signal_ptr == 'B' || *signal_ptr == 'C' || *signal_ptr == 'D')) { + dtmf.digit = *signal_ptr; + } else { + tmp = atoi(signal_ptr); + dtmf.digit = switch_rfc2833_to_char(tmp); + } + + switch_mutex_lock(airpe->tech_pvt->flag_mutex); + switch_channel_queue_dtmf(channel, &dtmf); + switch_mutex_unlock(airpe->tech_pvt->flag_mutex); + } + else if ( !strncmp(cmd, "FAILUREREASON", strlen("FAILUREREASON")) && argc >=2 ) { + airpe->last_fail_reason = atoi(argv[1]); + airpe_cmd_write(airpe, "CLEAR CALLHISTORY ALL"); + } + else if ( !strncmp(cmd, "SEEN", strlen("SEEN")) && argc >=4 ) { + /* + char buf[SKYPE_MSG_LEN] = ""; + char *seenstatus = argv[3]; + if ( !strncmp(seenstatus, "FALSE", strlen("FALSE")) ) { + snprintf(buf, sizeof(buf), "SET CALL %d SEEN", callid); + airpe_cmd_write(airpe, buf); + } + */ + airpe_cmd_write(airpe, "CLEAR CALLHISTORY ALL"); + } + else if ( !strncmp(cmd, "PARTNER_DISPNAME", strlen("PARTNER_DISPNAME")) && argc >=2 ) { + char *data, *tmp = NULL; + tmp = strdup(msg); + if ( tmp && (callid == airpe->active_call_id) ) { + data = strstr(tmp, "PARTNER_DISPNAME "); + if ( data ) { + data += strlen("PARTNER_DISPNAME "); + airpe_set_partner_displayname(airpe, data); + } + } + switch_safe_free(tmp); + } + else if ( !strncmp(cmd, "PARTNER_HANDLE", strlen("PARTNER_HANDLE")) && argc >=2 ) { + char *data, *tmp = NULL; + tmp = strdup(msg); + if ( tmp && (callid == airpe->active_call_id) ) { + data = strstr(tmp, "PARTNER_HANDLE "); + if ( data ) { + data += strlen("PARTNER_HANDLE "); + airpe_set_partner_handle(airpe, data); + } + switch_safe_free(tmp); + } + } + else { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "CALL ID %d\n", callid); + } + } + else if ( !strncmp( buf, "DTMF", strlen("DTMF")) && argc>3 ) { + /* We are alerted that a DTMF we was sent to the other party - Ignored */ + } + else if ( !strncmp( msg, "ERROR 68", strlen("ERROR 68")) ) { + /* The client needs authorization. Probably we reconnected to a new skype window. */ + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Airpe client %s needs authorization.\n", airpe->name); + switch_sleep(1000000); + airpe_on_connect_messages(airpe, airpe->protocol); + } + else if ( !strncmp( msg, "ALTER CALL", strlen("ALTER CALL")) ) { + /* The response to our hangup - Ignored */ + } + else if ( !strncmp( msg, "SET CALL", strlen("SET CALL")) ) { + /* Ignoring by now */ + } + else if ( !strncmp( buf, "ERROR", strlen("ERROR")) ) { + //TODO If we are in the middle of a call, hangup + } + else { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Unmanaged message\n"); + } + + switch_safe_free(buf); + + return SWITCH_STATUS_SUCCESS; +} + +switch_status_t airpe_on_connect_messages( airpe_interface_t *airpe, int protocol ) { + char buf[SKYPE_MSG_LEN] = ""; + + snprintf(buf, sizeof(buf), "NAME airpe"); + if ( airpe_cmd_write(airpe, buf) != SWITCH_STATUS_SUCCESS ) + return SWITCH_STATUS_FALSE; + snprintf(buf, sizeof(buf), "PROTOCOL %d", protocol); + if ( airpe_cmd_write(airpe, buf) != SWITCH_STATUS_SUCCESS ) + return SWITCH_STATUS_FALSE; + snprintf(buf, sizeof(buf), "CLEAR CALLHISTORY ALL"); + if ( airpe_cmd_write(airpe, buf) != SWITCH_STATUS_SUCCESS ) + return SWITCH_STATUS_FALSE; + snprintf(buf, sizeof(buf), "CLEAR CHATHISTORY"); + if ( airpe_cmd_write(airpe, buf) != SWITCH_STATUS_SUCCESS ) + return SWITCH_STATUS_FALSE; + snprintf(buf, sizeof(buf), "GET SKYPEVERSION"); + if ( airpe_cmd_write(airpe, buf) != SWITCH_STATUS_SUCCESS ) + return SWITCH_STATUS_FALSE; + snprintf(buf, sizeof(buf), "GET PROFILE MOOD_TEXT"); + if ( airpe_cmd_write(airpe, buf) != SWITCH_STATUS_SUCCESS ) + return SWITCH_STATUS_FALSE; + snprintf(buf, sizeof(buf), "GET PROFILE FULLNAME"); + if ( airpe_cmd_write(airpe, buf) != SWITCH_STATUS_SUCCESS ) + return SWITCH_STATUS_FALSE; + snprintf(buf, sizeof(buf), "GET CONNSTATUS"); + if ( airpe_cmd_write(airpe, buf) != SWITCH_STATUS_SUCCESS ) + return SWITCH_STATUS_FALSE; + snprintf(buf, sizeof(buf), "SET AUTOAWAY OFF"); + if ( airpe_cmd_write(airpe, buf) != SWITCH_STATUS_SUCCESS ) + return SWITCH_STATUS_FALSE; + snprintf(buf, sizeof(buf), "SET MUTE OFF"); + if ( airpe_cmd_write(airpe, buf) != SWITCH_STATUS_SUCCESS ) + return SWITCH_STATUS_FALSE; + + /* + The following two raise an error on linux, even if are supported from protocol 6 upwards. + That's not a big problem so we'll send them. + */ + + snprintf(buf, sizeof(buf), "SET PCSPEAKER OFF"); + if ( airpe_cmd_write(airpe, buf) != SWITCH_STATUS_SUCCESS ) + return SWITCH_STATUS_FALSE; + snprintf(buf, sizeof(buf), "SET SILENT_MODE ON"); + if ( airpe_cmd_write(airpe, buf) != SWITCH_STATUS_SUCCESS ) + return SWITCH_STATUS_FALSE; + + return SWITCH_STATUS_SUCCESS; +} + +/* For Emacs: + * Local Variables: + * mode:c + * indent-tabs-mode:t + * tab-width:4 + * c-basic-offset:4 + * End: + * For VIM: + * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab: + */ Added: freeswitch/branches/ctrix/mod_airpe/airpe_if_osx.c ============================================================================== --- (empty file) +++ freeswitch/branches/ctrix/mod_airpe/airpe_if_osx.c Mon Jan 12 17:24:44 2009 @@ -0,0 +1,19 @@ + +#include "mod_airpe.h" + +#if defined (MACOSX) || defined(DARWIN) + +#error OSX Not yet supported + +#endif + +/* For Emacs: + * Local Variables: + * mode:c + * indent-tabs-mode:t + * tab-width:4 + * c-basic-offset:4 + * End: + * For VIM: + * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab: + */ Added: freeswitch/branches/ctrix/mod_airpe/airpe_if_win32.c ============================================================================== --- (empty file) +++ freeswitch/branches/ctrix/mod_airpe/airpe_if_win32.c Mon Jan 12 17:24:44 2009 @@ -0,0 +1,19 @@ + +#include "mod_airpe.h" + +#ifdef WIN32 + +#error WIN32 Not yet supported + +#endif + +/* For Emacs: + * Local Variables: + * mode:c + * indent-tabs-mode:t + * tab-width:4 + * c-basic-offset:4 + * End: + * For VIM: + * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab: + */ Added: freeswitch/branches/ctrix/mod_airpe/airpe_if_x11.c ============================================================================== --- (empty file) +++ freeswitch/branches/ctrix/mod_airpe/airpe_if_x11.c Mon Jan 12 17:24:44 2009 @@ -0,0 +1,355 @@ +/* + * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application + * Copyright (C) 2005/2006, Anthony Minessale II + * + * 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 mod_airpe. + * + * The Initial Developer of the Original Code is + * Massimo Cetra + * + * Portions created by the Initial Developer are Copyright (C) + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * Thanks to gmaruzz for his work on skypiax (both * and freeswitch). + * Some of his code inspired this module + * + */ + +#if defined (__GNUC__) && !(defined (MACOSX) || defined(DARWIN) ) + +#include "mod_airpe.h" + +#include +#include +#include + +#define X11_MSG_LEN 20 + +struct skype_window_handler_s { + Display *disp; + Window win; + uint8_t api_connected; + int fdesc[2]; + Window skype_win; + int watchdog; +}; + + + + +static XErrorHandler old_handler = 0; +static int xerror = 0; + +static int xerrhandler(Display *dpy, XErrorEvent *err) +{ + xerror = err->error_code; + /* Return 0 so that the error is ignored */ + return 0; +} + +static void trap_errors() +{ + xerror = 0; + old_handler = XSetErrorHandler(xerrhandler); +} + +static int untrap_errors() +{ + XSetErrorHandler(old_handler); + return (xerror != BadValue) && (xerror != BadWindow); +} + +switch_status_t airpe_skype_watchdog_reset(skype_window_handler_t *window) { + window->watchdog = 0; + return SWITCH_STATUS_SUCCESS; +} + +switch_status_t airpe_skype_watchdog_increment(skype_window_handler_t *window) { + window->watchdog++; + + if ( window->watchdog >= 5 ) { + } + + return SWITCH_STATUS_SUCCESS; +} + +skype_window_handler_t *skype_window_alloc( switch_memory_pool_t *pool) { + return switch_core_alloc( pool, sizeof(skype_window_handler_t)); +} + +switch_status_t skype_restart( skype_window_handler_t *window, const char *params ) { + + 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 + + int fid; + const char *args[] = { "skype", "--actiondispatch", params, 0 }; + + if((fid = fork()) == 0) { + if(execvp("skype", (char *const*)args) == -1) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "airpe client: cannot launch Skype, error %d: %s.\n", errno, strerror(errno) ); + return SWITCH_STATUS_FALSE; + } + } + else if(fid == -1) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "airpe client: cannot launch Skype.\n"); + return SWITCH_STATUS_FALSE; + } +*/ + return SWITCH_STATUS_SUCCESS; +} + +switch_status_t airpe_skype_send_message(skype_window_handler_t *window, const char *message_P) { + Window w_P; + Display *disp; + Window handle_P; + Atom atom1; + Atom atom2; + unsigned int pos; + unsigned int len; + XEvent xev; + int ok; + + w_P = window->skype_win; + disp = window->disp; + handle_P = window->win; + + atom1 = XInternAtom(disp, "SKYPECONTROLAPI_MESSAGE_BEGIN", False); + atom2 = XInternAtom(disp, "SKYPECONTROLAPI_MESSAGE", False); + pos = 0; + len = strlen(message_P); + + memset(&xev, 0, sizeof(XEvent)); + xev.xclient.type = ClientMessage; + xev.xclient.message_type = atom1; + xev.xclient.display = disp; + xev.xclient.window = handle_P; + xev.xclient.format = 8; + + trap_errors(); + do { + unsigned int i; + for (i = 0; i < 20 && i + pos <= len; ++i) + xev.xclient.data.b[i] = message_P[i + pos]; + XSendEvent(disp, w_P, False, 0, &xev); + + xev.xclient.message_type = atom2; + pos += i; + } while (pos <= len); + + XSync(disp, False); + ok = untrap_errors(); + if (!ok) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "airpe client X11 error.\n"); + airpe_skype_avalaible(window); + } + return SWITCH_STATUS_SUCCESS; +} + +switch_status_t airpe_skype_avalaible(skype_window_handler_t *window) +{ + + Atom skype_inst; + Atom type_ret; + int format_ret; + unsigned long nitems_ret; + unsigned long bytes_after_ret; + unsigned char *prop; + int status, ok; + + skype_inst = XInternAtom(window->disp, "_SKYPE_INSTANCE", True); + + trap_errors(); + status = XGetWindowProperty( + window->disp, + DefaultRootWindow(window->disp), + skype_inst, + 0, + 1, + False, + XA_WINDOW, + &type_ret, + &format_ret, + &nitems_ret, + &bytes_after_ret, &prop); + + ok = untrap_errors(); + if (!ok) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "airpe client X11 error.\n"); + airpe_skype_avalaible(window); + } + + /* sanity check */ + if (status != Success || format_ret != 32 || nitems_ret != 1) { + window->skype_win = (Window) - 1; + return SWITCH_STATUS_FALSE; + } + + window->skype_win = *(const unsigned long *) prop & 0xffffffff; + + return SWITCH_STATUS_SUCCESS; +} + + + +/***************************************************************************** + THREADS + *****************************************************************************/ + +void *SWITCH_THREAD_FUNC airpe_skype_thread(switch_thread_t * thread, void *obj) { + + skype_window_handler_t *skype_window = NULL; + airpe_interface_t *airpe = NULL; + Display *disp = NULL; + Window root = -1; + Window win = -1; + int xfd; + + assert(obj); + + airpe = obj; + + skype_window = airpe->skype_window; + assert(skype_window); + + disp = XOpenDisplay(airpe->X11_display); + if (!disp) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "airpe client %s: cannot open display %s\n", airpe->name, airpe->X11_display); + return NULL; + } + + xfd = XConnectionNumber(disp); + fcntl(xfd, F_SETFD, FD_CLOEXEC); + + skype_window->disp = disp; + + if ( airpe_skype_avalaible(skype_window) == SWITCH_STATUS_SUCCESS ) { + root = DefaultRootWindow(disp); + win = XCreateSimpleWindow( + disp, + root, + 0, 0, 1, 1, 0, + BlackPixel(disp, DefaultScreen(disp)), + BlackPixel(disp, DefaultScreen(disp)) + ); + + skype_window->win = win; + + if ( airpe_on_connect_messages( airpe, 6 ) != SWITCH_STATUS_SUCCESS ) { + switch_log_printf( SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, + "airpe client %s. Failed to send handshake messages\n", + airpe->name); + return NULL; + } + + // perform an events loop + XEvent an_event; + char buf[X11_MSG_LEN + 2] = ""; + char buffer[SKYPE_MSG_LEN] = ""; + int i; + fd_set rset; + int x11_fd; + int empty_loops = 0; + + airpe->running = 1; + XFlush(disp); + x11_fd = ConnectionNumber(disp); + + while ( airpe->running ) { + FD_ZERO(&rset); + FD_SET( x11_fd, &rset); + + struct timeval timeout; + int ret; + + timeout.tv_usec = 10 * 1000; + ret = select(x11_fd+1, &rset, 0, 0, &timeout); + + if ( !airpe->running ) /* Quick way to skip the loop when we are signaled to exit. */ + break; + + if ( ret <=0 ) { + empty_loops ++; + if ( empty_loops >= 250 ) { + airpe_cmd_write(airpe, "PING"); + airpe_skype_watchdog_increment(skype_window); + empty_loops = 0; + } + continue; + } + + airpe_skype_watchdog_reset(skype_window); + + /* Process all the pending messages queued (not only one) */ + while ( XPending(disp) ) + { + XNextEvent(disp, &an_event); + + switch (an_event.type) + { + case ClientMessage: + if (an_event.xclient.format != 8) + break; + + for (i = 0; i < X11_MSG_LEN && an_event.xclient.data.b[i] != '\0'; ++i) { + buf[i] = an_event.xclient.data.b[i]; + } + buf[i] = '\0'; + + strcat(buffer, buf); + + if (i < X11_MSG_LEN) { + unsigned int howmany; + howmany = strlen(buffer) + 1; + airpe_manage_skype_msg( airpe, buffer); + memset(&buffer, 0, sizeof(buffer)); + } + break; + default: + if ( airpe->debug ) + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "airpe client %s: unknown event\n", airpe->name); + break; + } + } + } + + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "airpe client %s: exiting thread\n", airpe->name); + + /* Hangup our call, if we have one */ + airpe_explicit_hangup(airpe); + + } else { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "airpe client %s: skype not running on display %s\n", airpe->name, airpe->X11_display); + } + + return NULL; +} + +#endif + +/* For Emacs: + * Local Variables: + * mode:c + * indent-tabs-mode:t + * tab-width:4 + * c-basic-offset:4 + * End: + * For VIM: + * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab: + */ Added: freeswitch/branches/ctrix/mod_airpe/config/airpe.conf.xml ============================================================================== --- (empty file) +++ freeswitch/branches/ctrix/mod_airpe/config/airpe.conf.xml Mon Jan 12 17:24:44 2009 @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Added: freeswitch/branches/ctrix/mod_airpe/mod_airpe.c ============================================================================== --- (empty file) +++ freeswitch/branches/ctrix/mod_airpe/mod_airpe.c Mon Jan 12 17:24:44 2009 @@ -0,0 +1,868 @@ +/* + * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application + * Copyright (C) 2005/2006, Anthony Minessale II + * + * 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 mod_airpe. + * + * The Initial Developer of the Original Code is + * Massimo Cetra + * + * Portions created by the Initial Developer are Copyright (C) + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * Thanks to gmaruzz for his work on skypiax (both * and freeswitch). + * Some of his code inspired this module + * + */ + +#include "mod_airpe.h" + +/***************************************************************************** + MODULE PRIVATE STRUCTS && FUNCTIONS + *****************************************************************************/ + +static switch_endpoint_interface_t *airpe_endpoint_interface; + +static struct { + char *dialplan; + char *context; + char *destination; + int audio_tcp_port_start; + + switch_mutex_t *mutex; + switch_hash_t *interfaces_hash; + int last_port_used; +} globals; + +static switch_memory_pool_t *airpe_module_pool = NULL; + + +airpe_interface_t *airpe_find_interface( const char *name) { + return switch_core_hash_find(globals.interfaces_hash, name); +} + + +/***************************************************************************** + TECH STUFF + *****************************************************************************/ + +static switch_status_t airpe_codec_init(private_object_t * tech_pvt, int sample_rate, int codec_ms) { + airpe_interface_t *airpe = NULL; + + if ( switch_core_codec_init(&tech_pvt->read_codec, "L16", NULL, sample_rate, codec_ms, 1, SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE, NULL, NULL) != SWITCH_STATUS_SUCCESS) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "airpe client: %s - Cannot init read codec.\n", airpe->name); + return SWITCH_STATUS_FALSE; + } + + if ( switch_core_codec_init(&tech_pvt->write_codec, "L16", NULL, sample_rate, codec_ms, 1, SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE, NULL, NULL) != SWITCH_STATUS_SUCCESS ) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "airpe client: %s - Cannot init write codec.\n", airpe->name); + switch_core_codec_destroy(&tech_pvt->read_codec); + return SWITCH_STATUS_FALSE; + } + + tech_pvt->read_frame.rate = sample_rate; + tech_pvt->read_frame.codec = &tech_pvt->read_codec; + + switch_core_session_set_read_codec(tech_pvt->session, &tech_pvt->read_codec); + switch_core_session_set_write_codec(tech_pvt->session, &tech_pvt->write_codec); + + return SWITCH_STATUS_SUCCESS; +} + +switch_status_t airpe_tech_init( private_object_t * tech_pvt, switch_core_session_t * session ) { + + tech_pvt->read_frame.data = tech_pvt->databuf; + tech_pvt->read_frame.buflen = sizeof(tech_pvt->databuf); + + switch_mutex_init(&tech_pvt->mutex, SWITCH_MUTEX_NESTED, switch_core_session_get_pool(session)); + switch_mutex_init(&tech_pvt->flag_mutex, SWITCH_MUTEX_NESTED, switch_core_session_get_pool(session)); + + switch_core_session_set_private(session, tech_pvt); + tech_pvt->session = session; + return airpe_codec_init(tech_pvt, CODEC_SAMPLE_RATE, CODEC_INTERVAL_MS); +} + +static switch_socket_t *airpe_socket_create( const char *host, int port ) { + switch_status_t rv; + switch_socket_t *new_sock = NULL; + switch_sockaddr_t *sa; + + rv = switch_sockaddr_info_get(&sa, host, AF_INET, port, 0, airpe_module_pool); + if ( rv != SWITCH_STATUS_SUCCESS ) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Socket Creation Error! (1)\n"); + return NULL; + } + + rv = switch_socket_create(&new_sock, AF_INET, SOCK_STREAM, SWITCH_PROTO_TCP, airpe_module_pool); + if ( rv != SWITCH_STATUS_SUCCESS ) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Socket Creation Error! (2)\n"); + return NULL; + } + + rv = switch_socket_opt_set(new_sock, SWITCH_SO_REUSEADDR, 1); + if ( rv != SWITCH_STATUS_SUCCESS ) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Socket Creation Error! (3)\n"); + return NULL; + } + + rv = switch_socket_opt_set(new_sock, SWITCH_SO_NONBLOCK, 1); + if ( rv != SWITCH_STATUS_SUCCESS ) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Socket Creation Error! (3)\n"); + return NULL; + } + + rv = switch_socket_bind(new_sock, sa); + if ( rv != SWITCH_STATUS_SUCCESS ) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Socket Creation Error! (4)\n"); + return NULL; + } + + rv = switch_socket_listen(new_sock, 5); + if ( rv != SWITCH_STATUS_SUCCESS ) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Socket Creation Error! (5)\n"); + return NULL; + } + + return new_sock; +} + +static int fetch_next_port(void) { + int port = 0; + + if ( !globals.last_port_used ) + globals.last_port_used = globals.audio_tcp_port_start; + + switch_mutex_lock(globals.mutex); + port = globals.last_port_used; + globals.last_port_used++; + switch_mutex_unlock(globals.mutex); + + return port; +} + +static switch_status_t airpe_audio_sockets_create( airpe_interface_t *airpe ) { + switch_socket_t *new_sock; + int port; + + new_sock = NULL; + while ( !new_sock ) { + port = fetch_next_port(); + if ( airpe->debug ) + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Assigning in port %d for client %s\n", port, airpe->name); + new_sock = airpe_socket_create("127.0.0.1", port); + if ( new_sock ) { + airpe->audio_in_socket = new_sock; + airpe->audio_in_port = port; + } + } + + new_sock = NULL; + while ( !new_sock ) { + port = fetch_next_port(); + if ( airpe->debug ) + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Assigning out port %d for client %s\n", port, airpe->name); + new_sock = airpe_socket_create("127.0.0.1", port); + if ( new_sock ) { + airpe->audio_out_socket = new_sock; + airpe->audio_out_port = port; + } + } + + return SWITCH_STATUS_SUCCESS; +} + + +static switch_status_t airpe_start_client(airpe_interface_t *airpe) { + + switch_threadattr_t *attr_skype = NULL; + + airpe->user_status = USER_STATUS_UNKNOWN; + airpe->conn_status = CONN_STATUS_UNKNOWN; + airpe->call_status = CALL_STATUS_UNKNOWN; + + airpe_audio_sockets_create(airpe); + + switch_threadattr_create(&attr_skype, airpe_module_pool); + //switch_threadattr_detach_set(attr_skype, 1); + switch_threadattr_stacksize_set(attr_skype, SWITCH_THREAD_STACKSIZE); + + switch_thread_create(&airpe->airpe_thread_skype, + attr_skype, + airpe_skype_thread, + airpe, + airpe_module_pool); + + return SWITCH_STATUS_SUCCESS; +} + +static switch_status_t airpe_stop_client(airpe_interface_t *airpe) { + + if ( airpe->audio_in_socket ) { + if ( airpe->debug ) + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Shutting down socket on port %d for client %s\n", airpe->audio_in_port, airpe->name); + airpe->audio_in_port = 0; + switch_socket_shutdown(airpe->audio_in_socket, SWITCH_SHUTDOWN_READWRITE); + switch_socket_close(airpe->audio_in_socket); + } + + if ( airpe->audio_out_socket ) { + if ( airpe->debug ) + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Shutting down socket on port %d for client %s\n", airpe->audio_out_port, airpe->name); + airpe->audio_out_port = 0; + switch_socket_shutdown(airpe->audio_out_socket, SWITCH_SHUTDOWN_READWRITE); + switch_socket_close(airpe->audio_out_socket); + } + + airpe_set_version(airpe, NULL); + airpe_set_mood_text(airpe, NULL); + airpe_set_partner_displayname(airpe, NULL); + airpe_set_partner_handle(airpe, NULL); + + return SWITCH_STATUS_SUCCESS; +} + +switch_core_session_t *airpe_request_session( switch_memory_pool_t **pool ) { + /* I prefer not to expose airpe_endpoint_interface out of this file. */ + return switch_core_session_request(airpe_endpoint_interface, pool); +} + + +/***************************************************************************** + CHANNEL STATE HANDLERS + *****************************************************************************/ + +static switch_status_t channel_on_init(switch_core_session_t * session) +{ + switch_channel_t *channel; + private_object_t *tech_pvt = NULL; + + channel = switch_core_session_get_channel(session); + assert(channel); + + tech_pvt = switch_core_session_get_private(session); + assert(tech_pvt); + assert(tech_pvt->airpe); + + tech_pvt->airpe->tech_pvt = tech_pvt; + + 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); + } + + if ( switch_test_flag(tech_pvt, TFLAG_INBOUND) ) { + char buf[SKYPE_MSG_LEN]; + snprintf(buf, sizeof(buf), "ALTER CALL %d SET_INPUT PORT=\"%d\"", tech_pvt->airpe->active_call_id, tech_pvt->airpe->audio_in_port); + airpe_cmd_write(tech_pvt->airpe, buf); + snprintf(buf, sizeof(buf), "ALTER CALL %d SET_OUTPUT PORT=\"%d\"", tech_pvt->airpe->active_call_id, tech_pvt->airpe->audio_out_port); + airpe_cmd_write(tech_pvt->airpe, buf); + + switch_channel_set_state(channel, CS_ROUTING); + } + + return SWITCH_STATUS_SUCCESS; +} + +static switch_status_t channel_on_routing(switch_core_session_t * session) { + char buf[SKYPE_MSG_LEN]; + switch_channel_t *channel = NULL; + private_object_t *tech_pvt = NULL; + + channel = switch_core_session_get_channel(session); + assert(channel); + + tech_pvt = switch_core_session_get_private(session); + assert(tech_pvt); + + if ( switch_test_flag(tech_pvt, TFLAG_INBOUND) ) { + snprintf(buf, sizeof(buf), "ALTER CALL %d ANSWER", tech_pvt->airpe->active_call_id); + airpe_cmd_write(tech_pvt->airpe, buf); + } + + return SWITCH_STATUS_SUCCESS; +} + +static switch_status_t channel_on_execute(switch_core_session_t * session) { + switch_channel_t *channel = NULL; + private_object_t *tech_pvt = NULL; + + channel = switch_core_session_get_channel(session); + assert(channel); + + tech_pvt = switch_core_session_get_private(session); + assert(tech_pvt); + + return SWITCH_STATUS_SUCCESS; +} + +static switch_status_t channel_on_hangup(switch_core_session_t * session) +{ + switch_channel_t *channel = NULL; + private_object_t *tech_pvt = NULL; + airpe_interface_t *airpe = NULL; + char msg[SKYPE_MSG_LEN]; + + channel = switch_core_session_get_channel(session); + assert(channel); + + tech_pvt = switch_core_session_get_private(session); + assert(tech_pvt); + + airpe = tech_pvt->airpe; + assert(airpe); + + if ( airpe->active_call_id ) { + snprintf(msg, sizeof(msg), "ALTER CALL %d HANGUP", airpe->active_call_id); + airpe_cmd_write(airpe, msg); +// airpe->active_call_id = 0; +// airpe->tech_pvt = NULL; + } + + airpe_hangup( tech_pvt ); + + if (tech_pvt->read_codec.implementation) { + switch_core_codec_destroy(&tech_pvt->read_codec); + } + + if (tech_pvt->write_codec.implementation) { + switch_core_codec_destroy(&tech_pvt->write_codec); + } + + return SWITCH_STATUS_SUCCESS; +} + +static switch_status_t channel_on_exchange_media(switch_core_session_t * session) { + return SWITCH_STATUS_SUCCESS; +} + +/***************************************************************************** + CHANNEL IO INTERFACE / ROUTINES + *****************************************************************************/ +static switch_call_cause_t channel_outgoing_channel( + switch_core_session_t *session, + switch_event_t *var_event, + switch_caller_profile_t *outbound_profile, + switch_core_session_t **new_session, + switch_memory_pool_t **pool, + switch_originate_flag_t flags) +{ + switch_caller_profile_t *caller_profile = NULL; + private_object_t *tech_pvt = NULL; + switch_channel_t *channel = NULL; + + assert(outbound_profile); + + /* New session creation */ + *new_session = airpe_request_session(pool); + if ( *new_session ) + { + char *chan_interface = NULL; + char *chan_destination = NULL; + + switch_core_session_add_stream(*new_session, NULL); + + tech_pvt = (private_object_t *) switch_core_session_alloc(*new_session, sizeof(private_object_t)); + + if ( tech_pvt ) { + channel = switch_core_session_get_channel(*new_session); + if ( airpe_tech_init( tech_pvt, *new_session ) != SWITCH_STATUS_SUCCESS ) { + switch_core_session_destroy(new_session); + return SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER; + } + } else { + switch_core_session_destroy(new_session); + return SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER; + } + + + chan_interface = switch_core_session_strdup( *new_session, outbound_profile->destination_number); + if (( chan_destination = strchr(chan_interface, '/'))) { + *chan_destination++ = '\0'; + } + if ( !chan_interface || !chan_destination ) { + switch_core_session_destroy(new_session); + return SWITCH_CAUSE_INVALID_NUMBER_FORMAT; + } + + if ( (tech_pvt->airpe = airpe_find_interface(chan_interface))==NULL ) { + switch_core_session_destroy(new_session); + return SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER; + } + tech_pvt->destination = chan_destination; + + if ( tech_pvt->airpe->active_call_id != 0 ) { + /* We're busy, man! */ + switch_core_session_destroy(new_session); + return SWITCH_CAUSE_REQUESTED_CHAN_UNAVAIL; + } + + if (outbound_profile) { + char name[128]; + snprintf(name, sizeof(name), "airpe/%s", outbound_profile->destination_number); + switch_channel_set_name(channel, name); + caller_profile = switch_caller_profile_clone(*new_session, outbound_profile); + switch_channel_set_caller_profile(channel, caller_profile); + tech_pvt->caller_profile = caller_profile; + } + else + { + switch_core_session_destroy(new_session); + return SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER; + } + + switch_channel_set_flag(channel, CF_OUTBOUND); + switch_set_flag_locked(tech_pvt, TFLAG_OUTBOUND); + switch_channel_set_state(channel, CS_INIT); + return SWITCH_CAUSE_SUCCESS; + } + else + { + return SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER; + } +} + +static switch_status_t channel_read_frame(switch_core_session_t * session, + switch_frame_t ** frame, + switch_io_flag_t flags, + int stream_id) +{ + switch_channel_t *channel = NULL; + private_object_t *tech_pvt = NULL; + switch_byte_t *data; + + channel = switch_core_session_get_channel(session); + assert(channel); + + tech_pvt = switch_core_session_get_private(session); + assert(tech_pvt); + + tech_pvt->read_frame.flags = SFF_NONE; + *frame = NULL; + + if ( airpe_audio_read(tech_pvt) != SWITCH_STATUS_SUCCESS) { + ADEBUG("airpe_audio_read ERROR\n"); + return SWITCH_STATUS_FALSE; + } + + if (!tech_pvt->read_frame.datalen) { + goto cng; + } + + *frame = &tech_pvt->read_frame; + + return SWITCH_STATUS_SUCCESS; + +cng: + data = (switch_byte_t *) tech_pvt->read_frame.data; + data[0] = 65; + data[1] = 0; + tech_pvt->read_frame.datalen = 2; + tech_pvt->read_frame.flags = SFF_CNG; + *frame = &tech_pvt->read_frame; + return SWITCH_STATUS_SUCCESS; +} + +static switch_status_t channel_write_frame(switch_core_session_t * session, + switch_frame_t * frame, + switch_io_flag_t flags, + int stream_id) +{ + switch_channel_t *channel = NULL; + private_object_t *tech_pvt = NULL; + airpe_interface_t *airpe = NULL; + switch_status_t rv; + + channel = switch_core_session_get_channel(session); + assert(channel); + + tech_pvt = switch_core_session_get_private(session); + assert(tech_pvt); + + if ( !tech_pvt->airpe ) { + return SWITCH_STATUS_FALSE; + } + + airpe = tech_pvt->airpe; + + rv = airpe_audio_write(tech_pvt, frame); + return rv; +} + +static switch_status_t channel_kill_channel(switch_core_session_t * session, int sig) +{ + switch_channel_t *channel = NULL; + private_object_t *tech_pvt = NULL; + + channel = switch_core_session_get_channel(session); + assert(channel); + + tech_pvt = switch_core_session_get_private(session); + assert(tech_pvt); + + switch (sig) { + case SWITCH_SIG_KILL: + break; + case SWITCH_SIG_BREAK: + break; + default: + //TODO Log unhandled signal + break; + } + + return SWITCH_STATUS_SUCCESS; +} + +static switch_status_t channel_send_dtmf(switch_core_session_t * session, const switch_dtmf_t * dtmf) { + private_object_t *tech_pvt = switch_core_session_get_private(session); + airpe_interface_t *airpe; + char buf[SKYPE_MSG_LEN]; + + switch_assert(tech_pvt); + + airpe = tech_pvt->airpe; + + if ( airpe->active_call_id ) { + snprintf(buf, sizeof(buf), "SET CALL %d DTMF %c", airpe->active_call_id, dtmf->digit); + airpe_cmd_write(airpe, buf); + } + + return SWITCH_STATUS_SUCCESS; +} + +static switch_status_t channel_receive_message(switch_core_session_t * session, switch_core_session_message_t * msg) +{ + switch_channel_t *channel; + private_object_t *tech_pvt; + + channel = switch_core_session_get_channel(session); + assert(channel); + + tech_pvt = (private_object_t *) switch_core_session_get_private(session); + assert(tech_pvt); + + switch (msg->message_id) { + case SWITCH_MESSAGE_INDICATE_ANSWER: + ADEBUG("received message indicate answer...\n"); +/* + //switch_answer_channel(session); + char buf[SKYPE_MSG_LEN]; + snprintf(buf, sizeof(buf), "ALTER CALL %d ANSWER", tech_pvt->airpe->active_call_id ); + airpe_cmd_write(tech_pvt->airpe, buf); +*/ + break; + case SWITCH_MESSAGE_INDICATE_UNBRIDGE: + ADEBUG("received message indicate unbridge...\n"); + break; + case SWITCH_MESSAGE_INDICATE_TRANSCODING_NECESSARY: + ADEBUG("received message indicate transcode necessary...\n"); + break; + case SWITCH_MESSAGE_INDICATE_AUDIO_SYNC: + ADEBUG("received message indicate audio sync...\n"); + break; + case SWITCH_MESSAGE_INDICATE_TRANSFER: + ADEBUG("received message indicate transfer...\n"); + break; + default: + ADEBUG("Unmanaged received message... %d\n", msg->message_id); + break; + } + + return SWITCH_STATUS_SUCCESS; +} + +static switch_status_t channel_receive_event(switch_core_session_t * session, switch_event_t * event) +{ + char *body = NULL; + switch_channel_t *channel; + private_object_t *tech_pvt; + + channel = switch_core_session_get_channel(session); + assert(channel); + + tech_pvt = (private_object_t *) switch_core_session_get_private(session); + assert(tech_pvt); + + body = switch_event_get_body(event); + + if (!body) { + body = ""; + } + + return SWITCH_STATUS_SUCCESS; +} + + +/***************************************************************************** + CONFIGURATION + *****************************************************************************/ + +static switch_status_t load_config(void) { + switch_xml_t cfg, + xml, + global_settings, + param, + clients, + client; + switch_memory_pool_t *pool; + + pool = airpe_module_pool; + + if (!(xml = switch_xml_open_cfg("airpe.conf", &cfg, NULL))) { + return SWITCH_STATUS_TERM; + } + + if ( (global_settings = switch_xml_child(cfg, "globals") ) ) { + for (param = switch_xml_child(global_settings, "param"); param; param = param->next) { + char *var = (char *) switch_xml_attr_soft(param, "name"); + char *val = (char *) switch_xml_attr_soft(param, "value"); + + if (!strcmp(var, "dialplan")) { + globals.dialplan = switch_core_strdup(pool, val); + } else if (!strcmp(var, "context")) { + globals.context = switch_core_strdup(pool, val); + } else if (!strcmp(var, "destination")) { + globals.destination = switch_core_strdup(pool, val); + } else if (!strcmp(var, "audio-tcp-port_start")) { + globals.audio_tcp_port_start = atoi(val); + } + } + } + + if ( globals.audio_tcp_port_start <= 0 ) { + globals.audio_tcp_port_start = 21000; + } + + if ( !globals.dialplan ) + globals.dialplan = switch_core_strdup(pool, "XML"); + if ( !globals.context ) + globals.context = switch_core_strdup(pool, "default"); + if ( !globals.destination ) + globals.destination = switch_core_strdup(pool, "4321"); + + if ((clients = switch_xml_child(cfg, "clients"))) { + + for (client = switch_xml_child(clients, "client"); client; client = client->next) + { + char *name = (char *) switch_xml_attr(client, "name"); + char *context = NULL; + char *dialplan = NULL; + char *destination = NULL; + char *X11_display = NULL; + char *skype_user = NULL; + char *skype_password= NULL; + char *cid_name = NULL; + char *cid_num = NULL; + int debug = 0; + + airpe_interface_t *newconf = NULL; + + if (!name) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "No name attribute. Skipping unnamed client.\n"); + continue; + } + + if ( (newconf = switch_core_hash_find(globals.interfaces_hash, name)) ) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Duplicated client %s. Skipping\n", name); + continue; + } + + for (param = switch_xml_child(client, "param"); param; param = param->next) { + char *var = (char *) switch_xml_attr_soft(param, "name"); + char *val = (char *) switch_xml_attr_soft(param, "value"); + + if (!strcasecmp(var, "debug")) { + debug = switch_true(val) ? 1 : 0; + } else if (!strcasecmp(var, "context")) { + context = val; + } else if (!strcasecmp(var, "dialplan")) { + dialplan = val; + } else if (!strcasecmp(var, "destination")) { + destination = val; + } else if (!strcasecmp(var, "skype-user")) { + skype_user = val; + } else if (!strcasecmp(var, "skype-password")) { + skype_password = val; + } else if (!strcasecmp(var, "X11-display")) { + X11_display = val; + } else if (!strcasecmp(var, "cid-name")) { + cid_name = val; + } else if (!strcasecmp(var, "cid-num")) { + cid_num = val; + } + else + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Unknown config param %s\n", var); + } + if (!skype_user) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "No skype-user param for client %s. Skipping\n", name); + continue; + } + if (!skype_password) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "No skype-password param for client %s. Skipping\n", name); + continue; + } + if (!X11_display) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "No X11-display param for client %s. Skipping\n", name); + continue; + } + + if ( !dialplan ) + dialplan = globals.dialplan; + if ( !context ) + context = globals.context; + if ( !destination ) + destination = globals.destination; + + newconf = (airpe_interface_t *) switch_core_alloc( pool, sizeof(airpe_interface_t) ); + + if ( newconf ) { + switch_status_t status; + + memset(newconf, 0, sizeof(airpe_interface_t)); + + newconf->name = switch_core_strdup(pool, name); + newconf->dialplan = switch_core_strdup(pool, dialplan); + newconf->context = switch_core_strdup(pool, context); + newconf->destination = switch_core_strdup(pool, destination); + newconf->skype_user = switch_core_strdup(pool, skype_user); + newconf->skype_password = switch_core_strdup(pool, skype_password); + newconf->X11_display = switch_core_strdup(pool, X11_display); + newconf->audio_in_port = 0; + newconf->audio_in_port = 0; + newconf->debug = debug; + + newconf->skype_window = skype_window_alloc(pool); + + if ( newconf->skype_window ) { + status = airpe_start_client(newconf); + + if ( status == SWITCH_STATUS_SUCCESS ) { + switch_core_hash_insert(globals.interfaces_hash, name, newconf); + } + else { + // LOG OUR ERROR + } + } + else { + // LOG OUR ERROR + } + + } + else { + //TODO LOG ERROR ABOUT CREATING INTERFACE + } + } + + } + + switch_xml_free(xml); + return SWITCH_STATUS_SUCCESS; +} + + +/***************************************************************************** + MODULE INITIALIZATION FUNCTIONS + *****************************************************************************/ + +static switch_state_handler_table_t airpe_state_handlers = { + /*.on_init */ channel_on_init, + /*.on_routing */ channel_on_routing, + /*.on_execute */ channel_on_execute, + /*.on_hangup */ channel_on_hangup, + /*.on_exchange_media*/ channel_on_exchange_media, + /*.on_soft_execute */ NULL +}; + +static switch_io_routines_t airpe_io_routines = { + /*.outgoing_channel */ channel_outgoing_channel, + /*.read_frame */ channel_read_frame, + /*.write_frame */ channel_write_frame, + /*.kill_channel */ channel_kill_channel, + /*.send_dtmf */ channel_send_dtmf, + /*.receive_message */ channel_receive_message, + /*.receive_event */ channel_receive_event +}; + +SWITCH_MODULE_LOAD_FUNCTION(mod_airpe_load); +SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_airpe_shutdown); +SWITCH_MODULE_DEFINITION(mod_airpe, mod_airpe_load, mod_airpe_shutdown, NULL); + +SWITCH_MODULE_LOAD_FUNCTION(mod_airpe_load) +{ + airpe_module_pool = pool; + + memset(&globals, 0, sizeof(globals)); + + switch_core_hash_init(&globals.interfaces_hash, pool); + switch_mutex_init(&globals.mutex, SWITCH_MUTEX_NESTED, pool); + + load_config(); + + *module_interface = switch_loadable_module_create_module_interface(pool, modname); + + airpe_endpoint_interface = switch_loadable_module_create_interface(*module_interface, SWITCH_ENDPOINT_INTERFACE); + + airpe_endpoint_interface->interface_name = "airpe"; + airpe_endpoint_interface->io_routines = &airpe_io_routines; + airpe_endpoint_interface->state_handler = &airpe_state_handlers; + + airpe_register_api( &*module_interface ); + airpe_register_apps( &*module_interface ); + + + return SWITCH_STATUS_SUCCESS; +} + +SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_airpe_shutdown) +{ + switch_memory_pool_t *pool; + airpe_interface_t *airpe; + switch_hash_index_t *hi; + void *val; + + pool = airpe_module_pool; + + for (hi = switch_hash_first(NULL, globals.interfaces_hash); hi; hi = switch_hash_next(hi)) { + switch_hash_this(hi, NULL, NULL, &val); + airpe = ( airpe_interface_t *) val; + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Shutting down airpe client: %s\n", airpe->name); + airpe->running = 0; + /* Wake up the socket */ + airpe_cmd_write(airpe, "PING"); + airpe_stop_client(airpe); + /* + we won't delete the hash element. we're going to destroy the whole pool + switch_core_hash_delete(globals.interfaces_hash, airpe->name); + */ + } + switch_yield(500000); + + /* TODO... should we check that all interfaces has been switched off ? */ + + switch_core_hash_destroy(&globals.interfaces_hash); + switch_core_destroy_memory_pool(&pool); + return SWITCH_STATUS_UNLOAD; +} + +/* For Emacs: + * Local Variables: + * mode:c + * indent-tabs-mode:t + * tab-width:4 + * c-basic-offset:4 + * End: + * For VIM: + * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab: + */ Added: freeswitch/branches/ctrix/mod_airpe/mod_airpe.h ============================================================================== --- (empty file) +++ freeswitch/branches/ctrix/mod_airpe/mod_airpe.h Mon Jan 12 17:24:44 2009 @@ -0,0 +1,235 @@ +/* + * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application + * Copyright (C) 2005/2006, Anthony Minessale II + * + * 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 mod_airpe. + * + * The Initial Developer of the Original Code is + * Massimo Cetra + * + * Portions created by the Initial Developer are Copyright (C) + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * Thanks to gmaruzz for his work on skypiax (both * and freeswitch). + * Some of his code inspired this module + * + */ + +#include +#include + +#define MODNAME "airpe" + +#define SKYPE_MSG_LEN 1024 + +#define CODEC_SAMPLE_RATE 16000 +#define CODEC_INTERVAL_MS 20 +#define FRAMES_PER_SECOND 1000 / CODEC_INTERVAL_MS +#define SAMPLES_PER_FRAME CODEC_SAMPLE_RATE / FRAMES_PER_SECOND + +#define ADEBUG(...) switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, __VA_ARGS__ ); + +typedef enum { + CONN_STATUS_UNKNOWN, + CONN_STATUS_OFFLINE, + CONN_STATUS_CONNECTING, + CONN_STATUS_PAUSING, + CONN_STATUS_ONLINE, +} CONN_STATUS; + +typedef enum { + USER_STATUS_UNKNOWN, + USER_STATUS_ONLINE, + USER_STATUS_OFFLINE, + USER_STATUS_SKYPEME, + USER_STATUS_AWAY, + USER_STATUS_NA, + USER_STATUS_DND, + USER_STATUS_INVISIBLE, + USER_STATUS_LOGGEDOUT +} USER_STATUS; + +typedef enum { + CALL_STATUS_UNKNOWN, + CALL_STATUS_UNPLACED, + CALL_STATUS_ROUTING, + CALL_STATUS_EARLYMEDIA, + CALL_STATUS_FAILED, + CALL_STATUS_RINGING, + CALL_STATUS_INPROGRESS, + CALL_STATUS_ONHOLD, + CALL_STATUS_LOCALHOLD, + CALL_STATUS_REMOTEHOLD, + CALL_STATUS_FINISHED, + CALL_STATUS_MISSED, + CALL_STATUS_REFUSED, + CALL_STATUS_BUSY, + CALL_STATUS_CANCELLED, + CALL_STATUS_TRANSFERRING, /* Protocol 7 */ + CALL_STATUS_TRANSFERRED, /* Protocol 7 */ + + CALL_STATUS_VM_BUFFERING_GREETING, + CALL_STATUS_VM_PLAYING_GREETING, + CALL_STATUS_VM_RECORDING, + CALL_STATUS_VM_UPLOADING, + CALL_STATUS_VM_SENT, + CALL_STATUS_VM_CANCELLED , + CALL_STATUS_VM_FAILED, + CALL_STATUS_WAITING_REDIAL_COMMAND, + CALL_STATUS_REDIAL_PENDING, /* Protocol 8 */ + +} CALL_STATUS; + +typedef enum { + FAILURE_CODE_MISC = 1, + FAILURE_CODE_BAD_DESTINATION_NUM = 2, + FAILURE_CODE_USER_OFFLINE = 3, + FAILURE_CODE_NO_PROXY_FOUND = 4, + FAILURE_CODE_SESSION_TERMINATED = 5, + FAILURE_CODE_NO_CODEC_FOUND = 6, + FAILURE_CODE_LOCAL_SOUND_ERR = 7, + FAILURE_CODE_REMOTE_SOUND_ERR = 8, + FAILURE_CODE_CALL_BLOCKED = 9, + FAILURE_CODE_RECIPIENT_NOT_FRIEND = 10, + FAILURE_CODE_CALL_UNAUTHORIZED = 11, + FAILURE_CODE_SOUND_REC_ERR = 12, +} FAILURE_CODES; + + +typedef enum { + TFLAG_INBOUND = (1 << 1), + TFLAG_OUTBOUND = (1 << 2), +/* + TFLAG_IO = (1 << 0), + TFLAG_DTMF = (1 << 3), + TFLAG_VOICE = (1 << 4), + TFLAG_HANGUP = (1 << 5), + TFLAG_LINEAR = (1 << 6), + TFLAG_CODEC = (1 << 7), + TFLAG_BREAK = (1 << 8), + TFLAG_ANSWER = (1 << 9) +*/ +} TFLAGS; + +typedef struct skype_window_handler_s skype_window_handler_t; + +typedef struct airpe_interface_s airpe_interface_t; +typedef struct private_object_s private_object_t; + +struct airpe_interface_s { + char *name; + int debug; + char *dialplan; + char *context; + char *destination; + char *X11_display; + char *skype_user; + char *skype_password; + + int audio_in_port; + int audio_out_port; + switch_socket_t *audio_in_socket; + switch_socket_t *audio_out_socket; + switch_socket_t *audio_in_active_socket; + switch_socket_t *audio_out_active_socket; + + switch_thread_t *airpe_thread_skype; + skype_window_handler_t *skype_window; + + int protocol; + USER_STATUS user_status; + CALL_STATUS call_status; + CONN_STATUS conn_status; + + char *skype_version; + char *mood_text; + int active_call_id; + int last_fail_reason; + int running; + private_object_t *tech_pvt; + char *partner_displayname; + char *partner_handle; +}; + +struct private_object_s { + unsigned int flags; + switch_mutex_t *flag_mutex; + switch_mutex_t *mutex; + + airpe_interface_t *airpe; + switch_core_session_t *session; + switch_caller_profile_t *caller_profile; + char *destination; + + switch_codec_t read_codec; + switch_codec_t write_codec; + switch_frame_t read_frame; + uint8_t databuf[SWITCH_RECOMMENDED_BUFFER_SIZE]; +}; + + +/* CORE */ +airpe_interface_t *airpe_find_interface( const char *name); +switch_core_session_t *airpe_request_session( switch_memory_pool_t **pool ); +switch_status_t airpe_tech_init( private_object_t * tech_pvt, switch_core_session_t * session ); + +/* API */ +switch_status_t airpe_register_api( switch_loadable_module_interface_t **module_interface ); + +/* APPS */ +switch_status_t airpe_register_apps( switch_loadable_module_interface_t **module_interface ); + +/* INTERFACE - COMMON FUNCTIONS */ +const char *skype_user_status_string(USER_STATUS st); +USER_STATUS skype_user_status(const char *str); +const char *skype_conn_status_string(CONN_STATUS st); +CONN_STATUS skype_conn_status(const char *str); + +switch_status_t airpe_set_version(airpe_interface_t *airpe, char *string); +switch_status_t airpe_set_mood_text(airpe_interface_t *airpe, char *string); +switch_status_t airpe_set_partner_displayname(airpe_interface_t *airpe, char *string); +switch_status_t airpe_set_partner_handle(airpe_interface_t *airpe, char *string); + +switch_status_t airpe_hangup( private_object_t *pvt ); +switch_status_t airpe_audio_read( private_object_t *pvt ); +switch_status_t airpe_audio_write( private_object_t *pvt, switch_frame_t *frame ); + +switch_status_t airpe_cmd_write(airpe_interface_t *p, char *msg); +switch_status_t airpe_originate(airpe_interface_t *p, char *dest); +switch_status_t airpe_explicit_hangup(airpe_interface_t *airpe); +switch_status_t airpe_manage_skype_msg( airpe_interface_t *airpe, const char *msg ); + +switch_status_t airpe_on_connect_messages( airpe_interface_t *airpe, int protocol ); + +/* INTERFACE - PLATFORM DEPENDANT FUNCTIONS */ +switch_status_t airpe_skype_watchdog_reset(skype_window_handler_t *window); +switch_status_t airpe_skype_watchdog_increment(skype_window_handler_t *window); +skype_window_handler_t *skype_window_alloc( switch_memory_pool_t *pool); +switch_status_t airpe_skype_avalaible(skype_window_handler_t *window); +switch_status_t skype_restart( skype_window_handler_t *airpe, const char *params ); +switch_status_t airpe_skype_send_message(skype_window_handler_t *window, const char *message_P); +void *SWITCH_THREAD_FUNC airpe_skype_thread(switch_thread_t * thread, void *obj); + +/* For Emacs: + * Local Variables: + * mode:c + * indent-tabs-mode:t + * tab-width:4 + * c-basic-offset:4 + * End: + * For VIM: + * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab: + */ From ctrix at freeswitch.org Mon Jan 12 15:26:39 2009 From: ctrix at freeswitch.org (FreeSWITCH SVN) Date: Mon, 12 Jan 2009 17:26:39 -0600 Subject: [Freeswitch-branches] [commit] r11154 - freeswitch/branches/ctrix/mod_airpe Message-ID: Author: ctrix Date: Mon Jan 12 17:26:39 2009 New Revision: 11154 Log: Ohhh and empty docs are important, as well as the Makefile. Added: freeswitch/branches/ctrix/mod_airpe/INSTALL freeswitch/branches/ctrix/mod_airpe/Makefile freeswitch/branches/ctrix/mod_airpe/README Added: freeswitch/branches/ctrix/mod_airpe/INSTALL ============================================================================== --- (empty file) +++ freeswitch/branches/ctrix/mod_airpe/INSTALL Mon Jan 12 17:26:39 2009 @@ -0,0 +1,2 @@ + +Nothing to read here as well. Added: freeswitch/branches/ctrix/mod_airpe/Makefile ============================================================================== --- (empty file) +++ freeswitch/branches/ctrix/mod_airpe/Makefile Mon Jan 12 17:26:39 2009 @@ -0,0 +1,11 @@ +BASE=../../../.. + +MODNAME=mod_airpe + +LOCAL_LDFLAGS=-lX11 +LOCAL_OBJS=airpe_if_common.o airpe_api.o airpe_apps.o airpe_if_x11.o airpe_if_osx.o airpe_if_win32.o +LOCAL_SOURCES=airpe_if_common.c airpe_api.c airpe_apps.c airpe_if_x11.c airpe_if_osx.c airpe_if_win32.c + +include ../../../../build/modmake.rules + + Added: freeswitch/branches/ctrix/mod_airpe/README ============================================================================== --- (empty file) +++ freeswitch/branches/ctrix/mod_airpe/README Mon Jan 12 17:26:39 2009 @@ -0,0 +1,2 @@ + +Nothing to read, sorry From gmaruzz at freeswitch.org Tue Jan 13 01:55:53 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Tue, 13 Jan 2009 03:55:53 -0600 Subject: [Freeswitch-branches] [commit] r11158 - freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs Message-ID: Author: gmaruzz Date: Tue Jan 13 03:55:53 2009 New Revision: 11158 Log: docs Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/README.skypiax_auth Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/README.skypiax_auth ============================================================================== --- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/README.skypiax_auth (original) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/README.skypiax_auth Tue Jan 13 03:55:53 2009 @@ -11,23 +11,19 @@ Then: -1) Start the Skype client on a desktop linux machine, logout from your autologin username if any, and login with the username and password you want to use for skypiax - -2) Configure the Skype client to use the right audio devices, to not update, to not make "events", etc etc... - -3) Then, when satisfied, use skypiax_auth (that simulates FS-skypiax connecting to the Skype client). The Skype client will ask you to be authorized to let "skypiax" connect. - +1) on a Linux desktop machine, rmmod all the snd* modules +2) on the desktop machine, modprobe snd-dummy +3) on the desktop machine, logout from your autologin username if any, launch the Skype client and login as the username you'll use on server +4) on the desktop machine, set the desktop client to use the "hw:dummy" audio device, to not update, to not make "events", etc etc... Make and receive a couple of test calls. Please note that you (and the remote party) will hear nothing (you're using the snd-dummy "fake" audio driver), that's ok. +3) on the desktop machine, when satisfied of the Skype client setup, use skypiax_auth (that simulates FS-skypiax connecting to the Skype client). The Skype client will ask you to be authorized to let "skypiax" connect. 4) Give the authorization and check the "not ask me again" option. - 5) Close (Quit) the Skype client from the tray icon, so it saves its config. - 6) Then, relaunch the Skype client and use skypiax_auth again, just to be sure it now succeed. - 7) Close (Quit) the Skype client from the tray icon, so it saves its config. *** Do the steps 1-7 for all Skype usernames you will want to use on the server (eg: one Skype username per channel) -When finished wityh all the Skype usernames: +When finished with all the Skype usernames: Copy or targzip the .Skype directory and all its content on the home directory of the server user that will launch the Skype client(s). ############################ From gmaruzz at freeswitch.org Tue Jan 13 04:40:46 2009 From: gmaruzz at freeswitch.org (FreeSWITCH SVN) Date: Tue, 13 Jan 2009 06:40:46 -0600 Subject: [Freeswitch-branches] [commit] r11159 - in freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax: . configs Message-ID: Author: gmaruzz Date: Tue Jan 13 06:40:46 2009 New Revision: 11159 Log: skypiax: added Xserver (Xvfb) authorization file Added: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/skypiax.X.conf Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/README freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/startskype.sh Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/README ============================================================================== --- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/README (original) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/README Tue Jan 13 06:40:46 2009 @@ -131,6 +131,9 @@ root at 8-04-srv:~/freeswitch_gmaruzz# cp src/mod/endpoints/mod_skypiax/configs/startskype.sh ./ root at 8-04-srv:~/freeswitch_gmaruzz# vi startskype.sh +**** let's copy the X servers' auth config file +root at 8-04-srv:~/freeswitch_gmaruzz#cp src/mod/endpoints/mod_skypiax/configs/skypiax.X.conf /usr/local/freeswitch/conf/autoload_configs/skypiax.X.conf + **** start the X servers and the Skype clients root at 8-04-srv:~/freeswitch_gmaruzz# sh ./startskype.sh Added: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/skypiax.X.conf ============================================================================== --- (empty file) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/skypiax.X.conf Tue Jan 13 06:40:46 2009 @@ -0,0 +1 @@ +localhost Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/startskype.sh ============================================================================== --- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/startskype.sh (original) +++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/configs/startskype.sh Tue Jan 13 06:40:46 2009 @@ -8,14 +8,14 @@ sleep 3 #start the fake X server on a given port -/usr/bin/Xvfb :101 & +/usr/bin/Xvfb :101 -auth /usr/local/freeswitch/conf/autoload_configs/skypiax.X.conf & sleep 3 # start a Skype client instance that will connect to the X server above, and will login to the Skype network using the "username password" you send to it on stdin. Here xxx would be the password and skypiax1 the username echo "skypiax1 xxx"| DISPLAY=:101 /usr/bin/skype --pipelogin & sleep 7 -/usr/bin/Xvfb :102 & +/usr/bin/Xvfb :102 -auth /usr/local/freeswitch/conf/autoload_configs/skypiax.X.conf & sleep 3 echo "skypiax2 xxx"| DISPLAY=:102 /usr/bin/skype --pipelogin & @@ -25,109 +25,109 @@ ################################################################# # Following X server Skype client instances are commented out ################################################################# -###/usr/bin/Xvfb :103 & +###/usr/bin/Xvfb :103 -auth /usr/local/freeswitch/conf/autoload_configs/skypiax.X.conf & ###sleep 3 ### ###echo "skypiax3 xxx"| DISPLAY=:103 /usr/bin/skype --pipelogin & ### ###sleep 7 -###/usr/bin/Xvfb :104 & +###/usr/bin/Xvfb :104 -auth /usr/local/freeswitch/conf/autoload_configs/skypiax.X.conf & ###sleep 3 ### ###echo "skypiax4 xxx"| DISPLAY=:104 /usr/bin/skype --pipelogin & ### ###sleep 7 -###/usr/bin/Xvfb :105 & +###/usr/bin/Xvfb :105 -auth /usr/local/freeswitch/conf/autoload_configs/skypiax.X.conf & ###sleep 3 ### ###echo "skypiax5 xxx"| DISPLAY=:105 /usr/bin/skype --pipelogin & ### ###sleep 7 -###/usr/bin/Xvfb :106 & +###/usr/bin/Xvfb :106 -auth /usr/local/freeswitch/conf/autoload_configs/skypiax.X.conf & ###sleep 3 ### ###echo "skypiax6 xxx"| DISPLAY=:106 /usr/bin/skype --pipelogin & ### ###sleep 7 -###/usr/bin/Xvfb :107 & +###/usr/bin/Xvfb :107 -auth /usr/local/freeswitch/conf/autoload_configs/skypiax.X.conf & ###sleep 3 ### ###echo "skypiax7 xxx"| DISPLAY=:107 /usr/bin/skype --pipelogin & ### ###sleep 7 -###/usr/bin/Xvfb :108 & +###/usr/bin/Xvfb :108 -auth /usr/local/freeswitch/conf/autoload_configs/skypiax.X.conf & ###sleep 3 ### ###echo "skypiax8 xxx"| DISPLAY=:108 /usr/bin/skype --pipelogin & ### ###sleep 7 -###/usr/bin/Xvfb :109 & +###/usr/bin/Xvfb :109 -auth /usr/local/freeswitch/conf/autoload_configs/skypiax.X.conf & ###sleep 3 ### ###echo "skypiax9 xxx"| DISPLAY=:109 /usr/bin/skype --pipelogin & ### ###sleep 7 -###/usr/bin/Xvfb :110 & +###/usr/bin/Xvfb :110 -auth /usr/local/freeswitch/conf/autoload_configs/skypiax.X.conf & ###sleep 3 ### ###echo "skypiax10 xxx"| DISPLAY=:110 /usr/bin/skype --pipelogin & ### ###sleep 7 -###/usr/bin/Xvfb :111 & +###/usr/bin/Xvfb :111 -auth /usr/local/freeswitch/conf/autoload_configs/skypiax.X.conf & ###sleep 3 ### ###echo "skypiax11 xxx"| DISPLAY=:111 /usr/bin/skype --pipelogin & ### ###sleep 7 -###/usr/bin/Xvfb :112 & +###/usr/bin/Xvfb :112 -auth /usr/local/freeswitch/conf/autoload_configs/skypiax.X.conf & ###sleep 3 ### ###echo "skypiax12 xxx"| DISPLAY=:112 /usr/bin/skype --pipelogin & ### ###sleep 7 -###/usr/bin/Xvfb :113 & +###/usr/bin/Xvfb :113 -auth /usr/local/freeswitch/conf/autoload_configs/skypiax.X.conf & ###sleep 3 ### ###echo "skypiax13 xxx"| DISPLAY=:113 /usr/bin/skype --pipelogin & ### ###sleep 7 -###/usr/bin/Xvfb :114 & +###/usr/bin/Xvfb :114 -auth /usr/local/freeswitch/conf/autoload_configs/skypiax.X.conf & ###sleep 3 ### ###echo "skypiax14 xxx"| DISPLAY=:114 /usr/bin/skype --pipelogin & ### ###sleep 7 -###/usr/bin/Xvfb :115 & +###/usr/bin/Xvfb :115 -auth /usr/local/freeswitch/conf/autoload_configs/skypiax.X.conf & ###sleep 3 ### ###echo "skypiax15 xxx"| DISPLAY=:115 /usr/bin/skype --pipelogin & ### ###sleep 7 -###/usr/bin/Xvfb :116 & +###/usr/bin/Xvfb :116 -auth /usr/local/freeswitch/conf/autoload_configs/skypiax.X.conf & ###sleep 3 ### ###echo "skypiax16 xxx"| DISPLAY=:116 /usr/bin/skype --pipelogin & ### ###sleep 7 -###/usr/bin/Xvfb :117 & +###/usr/bin/Xvfb :117 -auth /usr/local/freeswitch/conf/autoload_configs/skypiax.X.conf & ###sleep 3 ### ###echo "skypiax17 xxx"| DISPLAY=:117 /usr/bin/skype --pipelogin & ### ###sleep 7 -###/usr/bin/Xvfb :118 & +###/usr/bin/Xvfb :118 -auth /usr/local/freeswitch/conf/autoload_configs/skypiax.X.conf & ###sleep 3 ### ###echo "skypiax18 xxx"| DISPLAY=:118 /usr/bin/skype --pipelogin & ### ###sleep 7 -###/usr/bin/Xvfb :119 & +###/usr/bin/Xvfb :119 -auth /usr/local/freeswitch/conf/autoload_configs/skypiax.X.conf & ###sleep 3 ### ###echo "skypiax19 xxx"| DISPLAY=:119 /usr/bin/skype --pipelogin & ### ###sleep 7 -###/usr/bin/Xvfb :120 & +###/usr/bin/Xvfb :120 -auth /usr/local/freeswitch/conf/autoload_configs/skypiax.X.conf & ###sleep 3 ### ###echo "skypiax20 xxx"| DISPLAY=:120 /usr/bin/skype --pipelogin & From ctrix at freeswitch.org Wed Jan 14 13:05:23 2009 From: ctrix at freeswitch.org (FreeSWITCH SVN) Date: Wed, 14 Jan 2009 15:05:23 -0600 Subject: [Freeswitch-branches] [commit] r11204 - freeswitch/branches/ctrix/mod_airpe Message-ID: Author: ctrix Date: Wed Jan 14 15:05:23 2009 New Revision: 11204 Log: Reworked all the call logic. Big cleanups of unused code. Should be almost working 100%! Modified: freeswitch/branches/ctrix/mod_airpe/airpe_api.c freeswitch/branches/ctrix/mod_airpe/airpe_if_common.c 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 15:05:23 2009 @@ -30,6 +30,13 @@ #include "mod_airpe.h" +/* + TODO + block / authorize users + add / remove users from contact list +*/ + + #define AIRPE_MOODTEXT_SYNTAX "airpe_moodtext " SWITCH_STANDARD_API(airpe_moodtext_command) { 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 15:05:23 2009 @@ -146,10 +146,36 @@ return SWITCH_STATUS_SUCCESS; } +void airpe_clear_call_id(airpe_interface_t *airpe) { + + airpe->active_call_id = 0; + switch_safe_free(airpe->active_session_uuid); + airpe->active_session_uuid = NULL; +} + +switch_status_t airpe_set_call_id(airpe_interface_t *airpe, int sk_id, char *fs_uuid) { + assert(airpe); + + airpe->active_call_id = sk_id; + + if ( fs_uuid ) { + switch_safe_free(airpe->active_session_uuid); + airpe->active_session_uuid = strdup(fs_uuid); + } + + return SWITCH_STATUS_SUCCESS; +} + +/* ************************************************************************* */ + switch_status_t airpe_cmd_write(airpe_interface_t *airpe, char *msg) { + switch_status_t status; + if ( airpe->debug ) - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "msg to airpe client %s: %s\n", airpe->name, msg); - return airpe_skype_send_message(airpe->skype_window, msg); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "msg to airpe client %s: > %s\n", airpe->name, msg); + + status = airpe_skype_send_message(airpe->skype_window, msg); + return status; } switch_status_t airpe_originate(airpe_interface_t *airpe, char *dest) { @@ -161,7 +187,7 @@ airpe_cmd_write(p, "SET AGC OFF"); airpe_cmd_write(p, "SET AEC OFF"); */ - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "airpe client %s: Originating to %s\n", airpe->name, dest); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "airpe client %s: Originating to client %s\n", airpe->name, dest); snprintf(msg, sizeof(msg), "CALL %s", dest); @@ -182,17 +208,14 @@ return SWITCH_STATUS_FALSE; } - - /***************************************************************************** SKYPE AUDIO *****************************************************************************/ -switch_status_t airpe_hangup( private_object_t *pvt ) { +switch_status_t airpe_call_shutdown( private_object_t *pvt ) { airpe_interface_t *airpe; assert(pvt); - assert(pvt->session); assert(pvt->airpe); airpe = pvt->airpe; @@ -225,10 +248,14 @@ assert(pvt); assert(pvt->session); assert(pvt->airpe); - + + if ( !switch_test_flag(pvt, TFLAG_IO) ) + return SWITCH_STATUS_SUCCESS; + airpe = pvt->airpe; pool = switch_core_session_get_pool(pvt->session); + if ( !airpe->audio_in_active_socket ) { rv = switch_socket_accept(&inbound_socket, airpe->audio_in_socket, pool); if ( rv == SWITCH_STATUS_SUCCESS ) { @@ -262,6 +289,9 @@ airpe = pvt->airpe; pool = switch_core_session_get_pool(pvt->session); + if ( !switch_test_flag(pvt, TFLAG_IO) ) + return SWITCH_STATUS_SUCCESS; + if ( !airpe->audio_out_active_socket ) { rv = switch_socket_accept(&inbound_socket, airpe->audio_out_socket, pool); if ( rv == SWITCH_STATUS_SUCCESS ) { @@ -269,7 +299,7 @@ switch_sleep(100000); } else { - return SWITCH_STATUS_FALSE; + return SWITCH_STATUS_SUCCESS; } } @@ -281,9 +311,6 @@ if ( (rv==SWITCH_STATUS_SUCCESS) ) { pvt->read_frame.datalen = mlen; } -// if ( mlen == 0 ) -// return SWITCH_STATUS_SUCCESS; - return rv; } @@ -320,7 +347,7 @@ } tech_pvt->airpe = airpe; - switch_snprintf(chan_name, sizeof(chan_name), MODNAME"/%s", airpe->name); + switch_snprintf(chan_name, sizeof(chan_name), MODNAME"/%s/%s", airpe->name, airpe->destination); switch_channel_set_name(channel, chan_name); tech_pvt->caller_profile = switch_caller_profile_new( switch_core_session_get_pool(new_session), @@ -346,11 +373,12 @@ switch_set_flag(tech_pvt, TFLAG_INBOUND); - airpe->active_call_id = callid; + airpe_set_call_id(airpe, callid, switch_core_session_get_uuid(new_session) ); + switch_channel_set_state(channel, CS_INIT); if ( switch_core_session_thread_launch(new_session) != SWITCH_STATUS_SUCCESS ) { - airpe->active_call_id = 0; + airpe_clear_call_id(airpe); switch_core_session_destroy(&new_session); return SWITCH_STATUS_FALSE; } @@ -363,8 +391,23 @@ switch_core_session_t *session = NULL; switch_channel_t *channel = NULL; + if ( airpe->active_session_uuid ) { + session = switch_core_session_locate(airpe->active_session_uuid); + if ( session ) + channel = switch_core_session_get_channel(session); + } + +/* +ADEBUG("MANAGING: %s - %d - %d - INB: %d - OUTB %d\n", + (airpe->active_session_uuid) ? airpe->active_session_uuid : "NO SESSION UUID", + (session) ? 1 : 0, + (channel) ? 1 : 0, + (airpe->tech_pvt) ? switch_test_flag(airpe->tech_pvt, TFLAG_INBOUND) : -1, + (airpe->tech_pvt) ? switch_test_flag(airpe->tech_pvt, TFLAG_OUTBOUND): -1 +); +*/ + if ( airpe->active_call_id && airpe->active_call_id != callid ) { -ADEBUG("CASE 1 - different call\n"); if ( !strncmp(status, "UNPLACED", strlen("UNPLACED")) ) { snprintf(buf, sizeof(buf), "SET CALL %d STATUS FINISHED", callid); airpe_cmd_write(airpe, buf); @@ -375,102 +418,88 @@ } else if ( airpe->active_call_id && airpe->active_call_id == callid ) { -ADEBUG("CASE 2 - my call\n"); - if ( airpe->tech_pvt ) { - assert(airpe->tech_pvt); - session = airpe->tech_pvt->session; - assert(session); - - channel = switch_core_session_get_channel(session); - assert(channel); - } - if ( !strncmp(status, "ROUTING", strlen("ROUTING")) ) { } else if ( !strncmp(status, "RINGING", strlen("RINGING")) ) { - //if ( switch_test_flag(tech_pvt, TFLAG_OUTBOUND) ) { - //switch_channel_set_state(channel, CS_RINGING); - switch_core_session_queue_indication(session, SWITCH_MESSAGE_INDICATE_RINGING); - switch_channel_mark_ring_ready(channel); - //} - - snprintf(buf, sizeof(buf), "ALTER CALL %d SET_INPUT PORT=\"%d\"", callid, airpe->audio_in_port); - airpe_cmd_write(airpe, buf); - snprintf(buf, sizeof(buf), "ALTER CALL %d SET_OUTPUT PORT=\"%d\"", callid, airpe->audio_out_port); - airpe_cmd_write(airpe, buf); - - - - switch_channel_set_state(channel, CS_ROUTING); - - } - else if ( !strncmp(status, "INPROGRESS", strlen("INPROGRESS")) ) { - snprintf(buf, sizeof(buf), "ALTER CALL %d STOP_VIDEO_SEND", callid ); - airpe_cmd_write(airpe, buf); - snprintf(buf, sizeof(buf), "ALTER CALL %d STOP_VIDEO_RECEIVE", callid ); - airpe_cmd_write(airpe, buf); - - if ( channel ) { - switch_channel_mark_answered(channel); + if ( session && channel ) { + switch_channel_mark_ring_ready(channel); } else { if ( airpe_manage_incoming_call(airpe, callid) != SWITCH_STATUS_SUCCESS ) { snprintf(buf, sizeof(buf), "ALTER CALL %d END HANGUP", callid ); airpe_cmd_write(airpe, buf); - airpe->active_call_id = 0; + airpe_clear_call_id(airpe); } } } + else if ( !strncmp(status, "INPROGRESS", strlen("INPROGRESS")) ) { + + if ( channel && switch_test_flag(airpe->tech_pvt, TFLAG_OUTBOUND) ) { + snprintf(buf, sizeof(buf), "ALTER CALL %d SET_INPUT PORT=\"%d\"", callid, airpe->audio_in_port); + airpe_cmd_write(airpe, buf); + airpe_cmd_write(airpe, "PING"); + snprintf(buf, sizeof(buf), "ALTER CALL %d SET_OUTPUT PORT=\"%d\"", callid, airpe->audio_out_port); + airpe_cmd_write(airpe, buf); + airpe_cmd_write(airpe, "PING"); + switch_set_flag(airpe->tech_pvt, TFLAG_IO); + + snprintf(buf, sizeof(buf), "ALTER CALL %d STOP_VIDEO_SEND", callid ); + airpe_cmd_write(airpe, buf); + snprintf(buf, sizeof(buf), "ALTER CALL %d STOP_VIDEO_RECEIVE", callid ); + airpe_cmd_write(airpe, buf); + + switch_channel_answer(channel); + } + + } else if ( !strncmp(status, "FINISHED", strlen("FINISHED")) ) { if ( channel ) switch_channel_hangup(channel, SWITCH_CAUSE_NORMAL_CLEARING); - airpe->active_call_id = 0; + airpe_clear_call_id(airpe); } else if ( !strncmp(status, "FAILED", strlen("FAILED")) ) { if ( channel ) switch_channel_hangup(channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER); - airpe->active_call_id = 0; + airpe_clear_call_id(airpe); } else if ( !strncmp(status, "CANCELLED", strlen("CANCELLED")) ) { if ( channel ) switch_channel_hangup(channel, SWITCH_CAUSE_ORIGINATOR_CANCEL); - airpe->active_call_id = 0; + airpe_clear_call_id(airpe); } else if ( !strncmp(status, "REFUSED", strlen("REFUSED")) ) { if ( channel ) switch_channel_hangup(channel, SWITCH_CAUSE_CALL_REJECTED); - airpe->active_call_id = 0; + airpe_clear_call_id(airpe); } else if ( !strncmp(status, "MISSED", strlen("MISSED")) ) { if ( channel ) switch_channel_hangup(channel, SWITCH_CAUSE_NO_ANSWER); - airpe->active_call_id = 0; + airpe_clear_call_id(airpe); } else if ( !strncmp(status, "UNPLACED", strlen("UNPLACED")) ) { } else { -ADEBUG("Unmanaged status \n"); + ADEBUG("Unmanaged status \n"); } } else { -ADEBUG("CASE 3 - no calls online\n"); - if ( !strncmp(status, "UNPLACED", strlen("UNPLACED")) ) { - airpe->active_call_id = callid; - } - else if ( !strncmp(status, "RINGING", strlen("RINGING")) ) { - airpe->active_call_id = callid; - snprintf(buf, sizeof(buf), "ALTER CALL %d ANSWER", callid ); - airpe_cmd_write(airpe, buf); + if ( !strncmp(status, "UNPLACED", strlen("UNPLACED")) ) { + airpe_set_call_id(airpe, callid, NULL); } else { ADEBUG("--- (%d/%d) Unmanaged status %s\n", airpe->active_call_id, callid, status); } } + if ( session ) + switch_core_session_rwunlock(session); + return SWITCH_STATUS_SUCCESS; } switch_status_t airpe_manage_skype_msg( airpe_interface_t *airpe, const char *msg ) { + switch_core_session_t *session = NULL; char *buf = NULL; int argc = 0; char *argv[9] = { 0 }; @@ -479,13 +508,16 @@ assert(msg); if ( airpe->debug ) - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "airpe client %s: %s\n", airpe->name, msg); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "airpe client %s: < %s\n", airpe->name, msg); + + if ( airpe->active_session_uuid ) + session = switch_core_session_locate(airpe->active_session_uuid); buf = strdup(msg); argc = switch_separate_string(buf, ' ', argv, (sizeof(argv) / sizeof(argv[0]))); - if ( argc == 0 ) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "airpe client %s: %s - Message without arguments? uh?\n", airpe->name, msg); + if ( argc == 0 ) { + /* Empty message. Shit happens (TM) */ free(buf); return SWITCH_STATUS_FALSE; } @@ -516,8 +548,14 @@ /* The connection status of the client (ex: ONLINE) */ airpe->conn_status = skype_conn_status( argv[1] ); } - else if ( !strncmp( buf, "USER", strlen("USER")) ) { - /* Updates about the users of our list - ignored */ + 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); + } } else if ( !strncmp( buf, "GROUP", strlen("GROUP")) ) { /* Updates about the groups of our list - ignored */ @@ -531,7 +569,6 @@ else if ( !strncmp( buf, "AUTOAWAY", strlen("AUTOAWAY")) ) { /* Autoaway - ignored */ } -//TODO: RECEIVEDAUTHREQUEST - Add a config option to authorize or forget about it. else if ( !strncmp( buf, "MUTE", strlen("MUTE")) && argc >= 2 ) { if ( !strncmp(argv[1], "ON", 2) ) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "airpe client %s: I don't like to be muted...\n", airpe->name); @@ -598,11 +635,10 @@ snprintf(buf, sizeof(buf), "GET CALL %d PARTNER_DISPNAME", callid); airpe_cmd_write(airpe, buf); - snprintf(buf, sizeof(buf), "GET CALL %d PARTNER_HANDLE", callid); airpe_cmd_write(airpe, buf); - airpe_cmd_write(airpe, "PING"); + airpe_set_call_id(airpe, callid, NULL); } else { snprintf(buf, sizeof(buf), "ALTER CALL %d END HANGUP", callid ); @@ -614,30 +650,28 @@ } else if ( !strncmp(cmd, "DTMF", strlen("DTMF")) ) { /* This is an incoming DTMF */ - switch_core_session_t *session; - switch_channel_t *channel; - switch_dtmf_t dtmf = { 0, switch_core_default_dtmf_duration(0) }; - const char *signal_ptr; - int tmp; - - assert(airpe->tech_pvt); - session = airpe->tech_pvt->session; - assert(session); - channel = switch_core_session_get_channel(session); - assert(channel); - - signal_ptr = argv[3]; + if ( session ) { + switch_channel_t *channel; + switch_dtmf_t dtmf = { 0, switch_core_default_dtmf_duration(0) }; + const char *signal_ptr; + int tmp; + + channel = switch_core_session_get_channel(session); + assert(channel); + + signal_ptr = argv[3]; + + if (*signal_ptr && (*signal_ptr == '*' || *signal_ptr == '#' || *signal_ptr == 'A' || *signal_ptr == 'B' || *signal_ptr == 'C' || *signal_ptr == 'D')) { + dtmf.digit = *signal_ptr; + } else { + tmp = atoi(signal_ptr); + dtmf.digit = switch_rfc2833_to_char(tmp); + } - if (*signal_ptr && (*signal_ptr == '*' || *signal_ptr == '#' || *signal_ptr == 'A' || *signal_ptr == 'B' || *signal_ptr == 'C' || *signal_ptr == 'D')) { - dtmf.digit = *signal_ptr; - } else { - tmp = atoi(signal_ptr); - dtmf.digit = switch_rfc2833_to_char(tmp); + switch_mutex_lock(airpe->tech_pvt->flag_mutex); + switch_channel_queue_dtmf(channel, &dtmf); + switch_mutex_unlock(airpe->tech_pvt->flag_mutex); } - - switch_mutex_lock(airpe->tech_pvt->flag_mutex); - switch_channel_queue_dtmf(channel, &dtmf); - switch_mutex_unlock(airpe->tech_pvt->flag_mutex); } else if ( !strncmp(cmd, "FAILUREREASON", strlen("FAILUREREASON")) && argc >=2 ) { airpe->last_fail_reason = atoi(argv[1]); @@ -706,6 +740,9 @@ switch_safe_free(buf); + if ( session ) + switch_core_session_rwunlock(session); + return SWITCH_STATUS_SUCCESS; } 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 15:05:23 2009 @@ -196,7 +196,6 @@ airpe_audio_sockets_create(airpe); switch_threadattr_create(&attr_skype, airpe_module_pool); - //switch_threadattr_detach_set(attr_skype, 1); switch_threadattr_stacksize_set(attr_skype, SWITCH_THREAD_STACKSIZE); switch_thread_create(&airpe->airpe_thread_skype, @@ -230,6 +229,7 @@ airpe_set_mood_text(airpe, NULL); airpe_set_partner_displayname(airpe, NULL); airpe_set_partner_handle(airpe, NULL); + airpe_set_call_id(airpe, 0, NULL); return SWITCH_STATUS_SUCCESS; } @@ -263,21 +263,12 @@ // TODO if fail switch_channel_hangup(channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER); } - if ( switch_test_flag(tech_pvt, TFLAG_INBOUND) ) { - char buf[SKYPE_MSG_LEN]; - snprintf(buf, sizeof(buf), "ALTER CALL %d SET_INPUT PORT=\"%d\"", tech_pvt->airpe->active_call_id, tech_pvt->airpe->audio_in_port); - airpe_cmd_write(tech_pvt->airpe, buf); - snprintf(buf, sizeof(buf), "ALTER CALL %d SET_OUTPUT PORT=\"%d\"", tech_pvt->airpe->active_call_id, tech_pvt->airpe->audio_out_port); - airpe_cmd_write(tech_pvt->airpe, buf); - - switch_channel_set_state(channel, CS_ROUTING); - } + switch_channel_set_state(channel, CS_ROUTING); return SWITCH_STATUS_SUCCESS; } static switch_status_t channel_on_routing(switch_core_session_t * session) { - char buf[SKYPE_MSG_LEN]; switch_channel_t *channel = NULL; private_object_t *tech_pvt = NULL; @@ -287,11 +278,6 @@ tech_pvt = switch_core_session_get_private(session); assert(tech_pvt); - if ( switch_test_flag(tech_pvt, TFLAG_INBOUND) ) { - snprintf(buf, sizeof(buf), "ALTER CALL %d ANSWER", tech_pvt->airpe->active_call_id); - airpe_cmd_write(tech_pvt->airpe, buf); - } - return SWITCH_STATUS_SUCCESS; } @@ -313,7 +299,6 @@ switch_channel_t *channel = NULL; private_object_t *tech_pvt = NULL; airpe_interface_t *airpe = NULL; - char msg[SKYPE_MSG_LEN]; channel = switch_core_session_get_channel(session); assert(channel); @@ -325,13 +310,11 @@ assert(airpe); if ( airpe->active_call_id ) { - snprintf(msg, sizeof(msg), "ALTER CALL %d HANGUP", airpe->active_call_id); - airpe_cmd_write(airpe, msg); -// airpe->active_call_id = 0; -// airpe->tech_pvt = NULL; + char buf[SKYPE_MSG_LEN]; + snprintf(buf, sizeof(buf), "ALTER CALL %d HANGUP", airpe->active_call_id); + airpe_cmd_write(airpe, buf); } - - airpe_hangup( tech_pvt ); + airpe_call_shutdown( tech_pvt ); if (tech_pvt->read_codec.implementation) { switch_core_codec_destroy(&tech_pvt->read_codec); @@ -351,6 +334,7 @@ /***************************************************************************** CHANNEL IO INTERFACE / ROUTINES *****************************************************************************/ + static switch_call_cause_t channel_outgoing_channel( switch_core_session_t *session, switch_event_t *var_event, @@ -422,9 +406,9 @@ switch_core_session_destroy(new_session); return SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER; } - - switch_channel_set_flag(channel, CF_OUTBOUND); - switch_set_flag_locked(tech_pvt, TFLAG_OUTBOUND); + airpe_set_call_id(tech_pvt->airpe, 0, switch_core_session_get_uuid(*new_session) ); + switch_channel_set_flag(channel, CF_OUTBOUND); + switch_set_flag(tech_pvt, TFLAG_OUTBOUND); switch_channel_set_state(channel, CS_INIT); return SWITCH_CAUSE_SUCCESS; } @@ -453,7 +437,10 @@ *frame = NULL; if ( airpe_audio_read(tech_pvt) != SWITCH_STATUS_SUCCESS) { - ADEBUG("airpe_audio_read ERROR\n"); +/* + if ( tech_pvt->airpe->debug ) + ADEBUG("airpe_audio_read ERROR\n"); +*/ return SWITCH_STATUS_FALSE; } @@ -492,12 +479,19 @@ assert(tech_pvt); if ( !tech_pvt->airpe ) { + ADEBUG("airpe_audio_write ERROR: no client\n"); return SWITCH_STATUS_FALSE; } airpe = tech_pvt->airpe; rv = airpe_audio_write(tech_pvt, frame); + + if ( rv != SWITCH_STATUS_SUCCESS ) { + ADEBUG("airpe_audio_write ERROR\n"); + return SWITCH_STATUS_FALSE; + } + return rv; } @@ -546,6 +540,7 @@ { switch_channel_t *channel; private_object_t *tech_pvt; + airpe_interface_t *airpe; channel = switch_core_session_get_channel(session); assert(channel); @@ -553,30 +548,57 @@ tech_pvt = (private_object_t *) switch_core_session_get_private(session); assert(tech_pvt); + airpe = tech_pvt->airpe; + assert(airpe); + switch (msg->message_id) { case SWITCH_MESSAGE_INDICATE_ANSWER: - ADEBUG("received message indicate answer...\n"); /* - //switch_answer_channel(session); - char buf[SKYPE_MSG_LEN]; - snprintf(buf, sizeof(buf), "ALTER CALL %d ANSWER", tech_pvt->airpe->active_call_id ); - airpe_cmd_write(tech_pvt->airpe, buf); + if ( airpe->debug ) + ADEBUG("received message indicate answer...\n"); */ + if ( switch_test_flag(tech_pvt, TFLAG_INBOUND) ) { + char buf[SKYPE_MSG_LEN]; + snprintf(buf, sizeof(buf), "ALTER CALL %d ANSWER\n", tech_pvt->airpe->active_call_id ); + airpe_cmd_write(tech_pvt->airpe, buf); + snprintf(buf, sizeof(buf), "ALTER CALL %d SET_INPUT PORT=\"%d\"", tech_pvt->airpe->active_call_id, tech_pvt->airpe->audio_in_port); + airpe_cmd_write(tech_pvt->airpe, buf); + snprintf(buf, sizeof(buf), "ALTER CALL %d SET_OUTPUT PORT=\"%d\"", tech_pvt->airpe->active_call_id, tech_pvt->airpe->audio_out_port); + airpe_cmd_write(tech_pvt->airpe, buf); + switch_set_flag(tech_pvt, TFLAG_IO); + } + break; +/* + case SWITCH_MESSAGE_INDICATE_PROGRESS: + if ( airpe->debug ) + ADEBUG("received message indicate progress...\n"); + break; + case SWITCH_MESSAGE_INDICATE_BRIDGE: + if ( airpe->debug ) + ADEBUG("received message indicate bridge...\n"); break; case SWITCH_MESSAGE_INDICATE_UNBRIDGE: - ADEBUG("received message indicate unbridge...\n"); + if ( airpe->debug ) + ADEBUG("received message indicate unbridge...\n"); break; case SWITCH_MESSAGE_INDICATE_TRANSCODING_NECESSARY: - ADEBUG("received message indicate transcode necessary...\n"); + if ( airpe->debug ) + ADEBUG("received message indicate transcode necessary...\n"); break; case SWITCH_MESSAGE_INDICATE_AUDIO_SYNC: - ADEBUG("received message indicate audio sync...\n"); + if ( airpe->debug ) + ADEBUG("received message indicate audio sync...\n"); break; case SWITCH_MESSAGE_INDICATE_TRANSFER: - ADEBUG("received message indicate transfer...\n"); + if ( airpe->debug ) + ADEBUG("received message indicate transfer...\n"); break; +*/ default: - ADEBUG("Unmanaged received message... %d\n", msg->message_id); +/* + if ( airpe->debug ) + ADEBUG("Unmanaged received message... %d\n", msg->message_id); +*/ break; } @@ -596,7 +618,6 @@ assert(tech_pvt); body = switch_event_get_body(event); - if (!body) { body = ""; } 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 15:05:23 2009 @@ -112,15 +112,15 @@ typedef enum { TFLAG_INBOUND = (1 << 1), TFLAG_OUTBOUND = (1 << 2), + TFLAG_IO = (1 << 3), /* - TFLAG_IO = (1 << 0), - TFLAG_DTMF = (1 << 3), TFLAG_VOICE = (1 << 4), - TFLAG_HANGUP = (1 << 5), - TFLAG_LINEAR = (1 << 6), - TFLAG_CODEC = (1 << 7), - TFLAG_BREAK = (1 << 8), - TFLAG_ANSWER = (1 << 9) + TFLAG_DTMF = (1 << 5), + TFLAG_HANGUP = (1 << 6), + TFLAG_LINEAR = (1 << 7), + TFLAG_CODEC = (1 << 8), + TFLAG_BREAK = (1 << 9), + TFLAG_ANSWER = (1 <<10) */ } TFLAGS; @@ -157,6 +157,7 @@ char *skype_version; char *mood_text; int active_call_id; + char *active_session_uuid; int last_fail_reason; int running; private_object_t *tech_pvt; @@ -202,8 +203,9 @@ switch_status_t airpe_set_mood_text(airpe_interface_t *airpe, char *string); switch_status_t airpe_set_partner_displayname(airpe_interface_t *airpe, char *string); switch_status_t airpe_set_partner_handle(airpe_interface_t *airpe, char *string); +switch_status_t airpe_set_call_id(airpe_interface_t *airpe, int sk_id, char *fs_uuid); -switch_status_t airpe_hangup( private_object_t *pvt ); +switch_status_t airpe_call_shutdown( private_object_t *pvt ); switch_status_t airpe_audio_read( private_object_t *pvt ); switch_status_t airpe_audio_write( private_object_t *pvt, switch_frame_t *frame ); From ctrix at freeswitch.org Wed Jan 14 15:39:21 2009 From: ctrix at freeswitch.org (FreeSWITCH SVN) Date: Wed, 14 Jan 2009 17:39:21 -0600 Subject: [Freeswitch-branches] [commit] r11206 - in freeswitch/branches/ctrix/mod_airpe: . config Message-ID: Author: ctrix Date: Wed Jan 14 17:39:21 2009 New Revision: 11206 Log: Airpe: reloadxml configuration event - bindings and handler Modified: freeswitch/branches/ctrix/mod_airpe/airpe_if_common.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_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 17:39:21 2009 @@ -175,6 +175,8 @@ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "msg to airpe client %s: > %s\n", airpe->name, msg); status = airpe_skype_send_message(airpe->skype_window, msg); + /* Relax and calm down. Some skype clients don't like fast messages */ + switch_sleep(10000); return status; } 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 17:39:21 2009 @@ -12,13 +12,17 @@ - + + + @@ -32,5 +36,4 @@ - 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 17:39:21 2009 @@ -630,7 +630,7 @@ CONFIGURATION *****************************************************************************/ -static switch_status_t load_config(void) { +static switch_status_t load_config( int reload ) { switch_xml_t cfg, xml, global_settings, @@ -695,11 +695,6 @@ continue; } - if ( (newconf = switch_core_hash_find(globals.interfaces_hash, name)) ) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Duplicated client %s. Skipping\n", name); - continue; - } - for (param = switch_xml_child(client, "param"); param; param = param->next) { char *var = (char *) switch_xml_attr_soft(param, "name"); char *val = (char *) switch_xml_attr_soft(param, "value"); @@ -746,43 +741,62 @@ if ( !destination ) destination = globals.destination; - newconf = (airpe_interface_t *) switch_core_alloc( pool, sizeof(airpe_interface_t) ); + if ( reload ) { + newconf = airpe_find_interface(name); + } + else { + if ( (newconf = switch_core_hash_find(globals.interfaces_hash, name)) ) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Duplicated client %s. Skipping\n", name); + continue; + } + } + + if ( !newconf ) { + newconf = (airpe_interface_t *) switch_core_alloc( pool, sizeof(airpe_interface_t) ); + if ( newconf ) + memset(newconf, 0, sizeof(airpe_interface_t)); + } + if ( newconf ) { switch_status_t status; - memset(newconf, 0, sizeof(airpe_interface_t)); - newconf->name = switch_core_strdup(pool, name); newconf->dialplan = switch_core_strdup(pool, dialplan); newconf->context = switch_core_strdup(pool, context); newconf->destination = switch_core_strdup(pool, destination); + newconf->debug = debug; + + if ( reload ) { + /* We won't update any other value on reload. */ + newconf->should_reload = 0; + continue; + } + newconf->skype_user = switch_core_strdup(pool, skype_user); newconf->skype_password = switch_core_strdup(pool, skype_password); newconf->X11_display = switch_core_strdup(pool, X11_display); newconf->audio_in_port = 0; newconf->audio_in_port = 0; - newconf->debug = debug; - newconf->skype_window = skype_window_alloc(pool); if ( newconf->skype_window ) { status = airpe_start_client(newconf); - if ( status == SWITCH_STATUS_SUCCESS ) { switch_core_hash_insert(globals.interfaces_hash, name, newconf); } else { - // LOG OUR ERROR + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Airpe: cannot start client %s.\n", newconf->name); } } else { - // LOG OUR ERROR + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Airpe: cannot alloc client %s.\n", newconf->name); } + } else { - //TODO LOG ERROR ABOUT CREATING INTERFACE + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Airpe: cannot alloc client %s.\n", newconf->name); } } @@ -792,11 +806,44 @@ return SWITCH_STATUS_SUCCESS; } +static void reloadxml_event_handler(switch_event_t *event) +{ + airpe_interface_t *airpe; + switch_hash_index_t *hi; + void *val; + + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Reloading airpe configuration.\n"); + + /* First, mark all of them to be reloaded */ + for (hi = switch_hash_first(NULL, globals.interfaces_hash); hi; hi = switch_hash_next(hi)) { + switch_hash_this(hi, NULL, NULL, &val); + airpe = ( airpe_interface_t *) val; + airpe->should_reload = 1; + } + + /* Update the data of each client */ + load_config(1); + + /* Find eventual clients not updated and stop them */ + for (hi = switch_hash_first(NULL, globals.interfaces_hash); hi; hi = switch_hash_next(hi)) { + switch_hash_this(hi, NULL, NULL, &val); + airpe = ( airpe_interface_t *) val; + if ( airpe->should_reload ) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Stopping airpe client %s.\n", airpe->name); + switch_core_hash_delete(globals.interfaces_hash, airpe->name); + airpe_stop_client(airpe); + } + } + +} + /***************************************************************************** MODULE INITIALIZATION FUNCTIONS *****************************************************************************/ +static switch_event_node_t *EVENT_NODE = NULL; + static switch_state_handler_table_t airpe_state_handlers = { /*.on_init */ channel_on_init, /*.on_routing */ channel_on_routing, @@ -829,7 +876,7 @@ switch_core_hash_init(&globals.interfaces_hash, pool); switch_mutex_init(&globals.mutex, SWITCH_MUTEX_NESTED, pool); - load_config(); + load_config(0); *module_interface = switch_loadable_module_create_module_interface(pool, modname); @@ -839,6 +886,11 @@ airpe_endpoint_interface->io_routines = &airpe_io_routines; airpe_endpoint_interface->state_handler = &airpe_state_handlers; + if ((switch_event_bind_removable(modname, SWITCH_EVENT_RELOADXML, NULL, reloadxml_event_handler, NULL, &EVENT_NODE) != SWITCH_STATUS_SUCCESS)) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Couldn't bind our reloadxml handler!\n"); + /* Not such severe to prevent loading */ + } + airpe_register_api( &*module_interface ); airpe_register_apps( &*module_interface ); @@ -855,6 +907,8 @@ pool = airpe_module_pool; + switch_event_unbind(&EVENT_NODE); + for (hi = switch_hash_first(NULL, globals.interfaces_hash); hi; hi = switch_hash_next(hi)) { switch_hash_this(hi, NULL, NULL, &val); airpe = ( airpe_interface_t *) val; 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 17:39:21 2009 @@ -154,6 +154,7 @@ CALL_STATUS call_status; CONN_STATUS conn_status; + int should_reload; char *skype_version; char *mood_text; int active_call_id; From ctrix at freeswitch.org Wed Jan 14 16:03:50 2009 From: ctrix at freeswitch.org (FreeSWITCH SVN) Date: Wed, 14 Jan 2009 18:03:50 -0600 Subject: [Freeswitch-branches] [commit] r11207 - in freeswitch/branches/ctrix/mod_airpe: . config Message-ID: 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 DISBAND - Doesn't seems to work on linux + /* ALTER CHAT 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 @@ + 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; From ctrix at freeswitch.org Wed Jan 14 17:09:36 2009 From: ctrix at freeswitch.org (FreeSWITCH SVN) Date: Wed, 14 Jan 2009 19:09:36 -0600 Subject: [Freeswitch-branches] [commit] r11208 - freeswitch/branches/ctrix/mod_airpe Message-ID: Author: ctrix Date: Wed Jan 14 19:09:35 2009 New Revision: 11208 Log: An application, some events and some channel variables. Modified: freeswitch/branches/ctrix/mod_airpe/airpe_api.c freeswitch/branches/ctrix/mod_airpe/airpe_apps.c freeswitch/branches/ctrix/mod_airpe/airpe_if_common.c 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 19:09:35 2009 @@ -37,7 +37,7 @@ */ -#define AIRPE_MOODTEXT_SYNTAX "airpe_moodtext " +#define AIRPE_MOODTEXT_SYNTAX "airpe_moodtext [text]" SWITCH_STANDARD_API(airpe_moodtext_command) { int argc = 0; @@ -67,11 +67,10 @@ } if ( argc == 1 ) { - stream->write_function(stream, "+OK: "); if ( airpe->mood_text ) stream->write_function(stream, airpe->mood_text); else - stream->write_function(stream, "UNKNOWN"); + stream->write_function(stream, "[UNKNOWN]"); stream->write_function(stream, "\n"); } else { @@ -91,7 +90,7 @@ return SWITCH_STATUS_SUCCESS; } -#define AIRPE_INFO_SYNTAX "airpe_status " +#define AIRPE_INFO_SYNTAX "airpe_info " SWITCH_STANDARD_API(airpe_info_command) { int argc = 0; @@ -161,7 +160,7 @@ return SWITCH_STATUS_SUCCESS; } -#define AIRPE_STATUS_SYNTAX "airpe_status " +#define AIRPE_STATUS_SYNTAX "airpe_status [status]" SWITCH_STANDARD_API(airpe_status_command) { int argc = 0; @@ -197,7 +196,6 @@ if ( !cstatus ) { const char *str_status = NULL; str_status = skype_user_status_string( airpe->user_status ); - stream->write_function(stream, "+OK status is "); if ( str_status ) stream->write_function(stream, str_status); else @@ -251,13 +249,13 @@ switch_api_interface_t *api; switch_console_set_complete("add airpe_moodtext "); - SWITCH_ADD_API(api, "airpe_moodtext", "sets the mood text of an airpe client", airpe_moodtext_command, AIRPE_MOODTEXT_SYNTAX); + SWITCH_ADD_API(api, "airpe_moodtext", "gets/sets the mood text of an airpe client", airpe_moodtext_command, AIRPE_MOODTEXT_SYNTAX); switch_console_set_complete("add airpe_info "); SWITCH_ADD_API(api, "airpe_info", "shows the status of an airpe client", airpe_info_command, AIRPE_INFO_SYNTAX); switch_console_set_complete("add airpe_status "); - SWITCH_ADD_API(api, "airpe_status", "sets the status of an airpe client", airpe_status_command, AIRPE_STATUS_SYNTAX); + SWITCH_ADD_API(api, "airpe_status", "gets/sets the status of an airpe client", airpe_status_command, AIRPE_STATUS_SYNTAX); return SWITCH_STATUS_SUCCESS; } Modified: freeswitch/branches/ctrix/mod_airpe/airpe_apps.c ============================================================================== --- freeswitch/branches/ctrix/mod_airpe/airpe_apps.c (original) +++ freeswitch/branches/ctrix/mod_airpe/airpe_apps.c Wed Jan 14 19:09:35 2009 @@ -30,15 +30,67 @@ #include "mod_airpe.h" -SWITCH_STANDARD_APP(airpe_app_test) +#define AIRPE_SET_STATUS_SYNTAX " " +SWITCH_STANDARD_APP(airpe_set_status) { + airpe_interface_t *airpe = NULL; + const char *str_status = NULL; + char buf[SKYPE_MSG_LEN]; + char *client = NULL; + char *text = NULL; + + client = (char *) data; + if ( (text = strchr(client,' ')) ) { + *text++ = '\0'; + } + + if ( switch_strlen_zero(client) ) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "No client specified.\n"); + return; + } + + airpe = airpe_find_interface(client); + + if ( !airpe ) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "No airpe client matching name '%s' found.\n", client); + return; + } + + if ( !switch_strlen_zero(text) ) { + + if ( !strncasecmp(text, "unknown", sizeof("unknown") ) ) + str_status = skype_user_status_string(USER_STATUS_UNKNOWN); + else if ( !strncasecmp(text, "online", sizeof("online") ) ) + str_status = skype_user_status_string(USER_STATUS_ONLINE); + else if ( !strncasecmp(text, "offline", sizeof("offline") ) ) + str_status = skype_user_status_string(USER_STATUS_OFFLINE); + else if ( !strncasecmp(text, "skypeme", sizeof("skypeme") ) ) + str_status = skype_user_status_string(USER_STATUS_SKYPEME); + else if ( !strncasecmp(text, "away", sizeof("away") ) ) + str_status = skype_user_status_string(USER_STATUS_AWAY); + else if ( !strncasecmp(text, "na", sizeof("na") ) ) + str_status = skype_user_status_string(USER_STATUS_NA); + else if ( !strncasecmp(text, "dnd", sizeof("dnd") ) ) + str_status = skype_user_status_string(USER_STATUS_DND); + else if ( !strncasecmp(text, "invisible", sizeof("invisible") ) ) + str_status = skype_user_status_string(USER_STATUS_INVISIBLE); + else if ( !strncasecmp(text, "loggedout", sizeof("loggedout") ) ) + str_status = skype_user_status_string(USER_STATUS_LOGGEDOUT); + + if ( str_status ) { + snprintf(buf, SKYPE_MSG_LEN, "SET USERSTATUS %s", str_status ); + airpe_cmd_write(airpe, buf); + } + + } + } switch_status_t airpe_register_apps( switch_loadable_module_interface_t **module_interface ) { switch_application_interface_t *app_interface; - SWITCH_ADD_APP(app_interface, "airpe_test", "test text", "test text", airpe_app_test, "", SAF_SUPPORT_NOMEDIA); + SWITCH_ADD_APP(app_interface, "airpe_set_status", "Sets the status of an airpe client", "Sets the status of an airpe client", airpe_set_status, AIRPE_SET_STATUS_SYNTAX, SAF_SUPPORT_NOMEDIA); 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 19:09:35 2009 @@ -373,6 +373,8 @@ else switch_channel_set_caller_profile(channel, tech_pvt->caller_profile); + switch_channel_set_variable(channel, "airpe_client", airpe->name); + switch_channel_set_variable(channel, "airpe_user_status", skype_user_status_string(airpe->user_status) ); switch_set_flag(tech_pvt, TFLAG_INBOUND); airpe_set_call_id(airpe, callid, switch_core_session_get_uuid(new_session) ); @@ -502,6 +504,8 @@ switch_status_t airpe_manage_skype_msg( airpe_interface_t *airpe, const char *msg ) { switch_core_session_t *session = NULL; + switch_channel_t *channel = NULL; + switch_event_t *s_event = NULL; char *buf = NULL; int argc = 0; char *argv[9] = { 0 }; @@ -512,8 +516,11 @@ if ( airpe->debug ) switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "airpe client %s: < %s\n", airpe->name, msg); - if ( airpe->active_session_uuid ) + if ( airpe->active_session_uuid ) { session = switch_core_session_locate(airpe->active_session_uuid); + if ( session ) + channel = switch_core_session_get_channel(session); + } buf = strdup(msg); argc = switch_separate_string(buf, ' ', argv, (sizeof(argv) / sizeof(argv[0]))); @@ -524,8 +531,6 @@ return SWITCH_STATUS_FALSE; } - - if ( !strncmp( buf, "CURRENTUSERHANDLE", strlen("CURRENTUSERHANDLE")) ) { /* The username that the client is using. */ // TODO ... if the user handle mismatches, disconnect the channel or simply disable @@ -553,9 +558,16 @@ 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") ) ) { + if (switch_event_create_subclass(&s_event, SWITCH_EVENT_CUSTOM, AIRPE_EVENT_AUTHREQUEST) == SWITCH_STATUS_SUCCESS) { + switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "client-name", airpe->name); + switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "auth_user", argv[1]); + switch_event_fire(&s_event); + } if ( airpe->auto_auth ) { snprintf(buf, sizeof(buf), "SET USER %s ISAUTHORIZED TRUE", argv[1]); airpe_cmd_write(airpe, buf); + + } } } @@ -627,6 +639,11 @@ else if ( !strncmp(cmd, "STATUS", strlen("STATUS")) && argc >=4 ) { char *callstatus = argv[3]; airpe_manage_call_status( airpe, callid, callstatus ); + if (switch_event_create_subclass(&s_event, SWITCH_EVENT_CUSTOM, AIRPE_EVENT_STATUSCHANGE) == SWITCH_STATUS_SUCCESS) { + switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "client-name", airpe->name); + switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "status", callstatus); + switch_event_fire(&s_event); + } } else if ( !strncmp(cmd, "CONF_ID", strlen("CONF_ID")) ) { char buf[SKYPE_MSG_LEN]; @@ -652,15 +669,11 @@ } else if ( !strncmp(cmd, "DTMF", strlen("DTMF")) ) { /* This is an incoming DTMF */ - if ( session ) { - switch_channel_t *channel; + if ( session && channel ) { switch_dtmf_t dtmf = { 0, switch_core_default_dtmf_duration(0) }; const char *signal_ptr; int tmp; - channel = switch_core_session_get_channel(session); - assert(channel); - signal_ptr = argv[3]; if (*signal_ptr && (*signal_ptr == '*' || *signal_ptr == '#' || *signal_ptr == 'A' || *signal_ptr == 'B' || *signal_ptr == 'C' || *signal_ptr == 'D')) { @@ -670,9 +683,7 @@ dtmf.digit = switch_rfc2833_to_char(tmp); } - switch_mutex_lock(airpe->tech_pvt->flag_mutex); switch_channel_queue_dtmf(channel, &dtmf); - switch_mutex_unlock(airpe->tech_pvt->flag_mutex); } } else if ( !strncmp(cmd, "FAILUREREASON", strlen("FAILUREREASON")) && argc >=2 ) { @@ -698,6 +709,8 @@ if ( data ) { data += strlen("PARTNER_DISPNAME "); airpe_set_partner_displayname(airpe, data); + if ( channel ) + switch_channel_set_variable(channel, "airpe_partner_dispname", data); } } switch_safe_free(tmp); @@ -710,6 +723,8 @@ if ( data ) { data += strlen("PARTNER_HANDLE "); airpe_set_partner_handle(airpe, data); + if ( channel ) + switch_channel_set_variable(channel, "airpe_partner_handle", data); } switch_safe_free(tmp); } @@ -735,10 +750,13 @@ } else if ( !strncmp( buf, "ERROR", strlen("ERROR")) ) { /* If we are in the middle of a call, hangup */ + /* if ( airpe->active_call_id ) { + char buf[SKYPE_MSG_LEN] = ""; 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/mod_airpe.c ============================================================================== --- freeswitch/branches/ctrix/mod_airpe/mod_airpe.c (original) +++ freeswitch/branches/ctrix/mod_airpe/mod_airpe.c Wed Jan 14 19:09:35 2009 @@ -408,6 +408,10 @@ airpe_set_call_id(tech_pvt->airpe, 0, switch_core_session_get_uuid(*new_session) ); switch_channel_set_flag(channel, CF_OUTBOUND); switch_set_flag(tech_pvt, TFLAG_OUTBOUND); + + switch_channel_set_variable(channel, "airpe_client", tech_pvt->airpe->name); + switch_channel_set_variable(channel, "airpe_user_status", skype_user_status_string(tech_pvt->airpe->user_status) ); + switch_channel_set_state(channel, CS_INIT); return SWITCH_CAUSE_SUCCESS; } 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 19:09:35 2009 @@ -33,6 +33,9 @@ #define MODNAME "airpe" +#define AIRPE_EVENT_AUTHREQUEST "airpe::authrequest" +#define AIRPE_EVENT_STATUSCHANGE "airpe::statuschange" + #define SKYPE_MSG_LEN 1024 #define CODEC_SAMPLE_RATE 16000 From ctrix at freeswitch.org Thu Jan 15 01:25:38 2009 From: ctrix at freeswitch.org (FreeSWITCH SVN) Date: Thu, 15 Jan 2009 03:25:38 -0600 Subject: [Freeswitch-branches] [commit] r11221 - freeswitch/branches/ctrix/mod_airpe Message-ID: Author: ctrix Date: Thu Jan 15 03:25:37 2009 New Revision: 11221 Log: Cosmetics Modified: freeswitch/branches/ctrix/mod_airpe/airpe_if_common.c freeswitch/branches/ctrix/mod_airpe/airpe_if_x11.c 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 Thu Jan 15 03:25:37 2009 @@ -533,8 +533,8 @@ if ( !strncmp( buf, "CURRENTUSERHANDLE", strlen("CURRENTUSERHANDLE")) ) { /* The username that the client is using. */ - // TODO ... if the user handle mismatches, disconnect the channel or simply disable - // all operations + /* TODO ... if the user handle mismatches, disconnect the channel or simply disable + all operations */ } else if ( !strncmp( buf, "USERSTATUS", strlen("USERSTATUS")) && argc > 1 ) { /* The status of the user of the client (ex: NA, ONLINE) */ 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 Thu Jan 15 03:25:37 2009 @@ -257,7 +257,6 @@ return NULL; } - // perform an events loop XEvent an_event; char buf[X11_MSG_LEN + 2] = ""; char buffer[SKYPE_MSG_LEN] = ""; From ctrix at freeswitch.org Sat Jan 17 14:40:42 2009 From: ctrix at freeswitch.org (FreeSWITCH SVN) Date: Sat, 17 Jan 2009 16:40:42 -0600 Subject: [Freeswitch-branches] [commit] r11267 - freeswitch/branches/ctrix/mod_airpe Message-ID: Author: ctrix Date: Sat Jan 17 16:40:42 2009 New Revision: 11267 Log: airpe_debug command. Modified: freeswitch/branches/ctrix/mod_airpe/airpe_api.c 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 Sat Jan 17 16:40:42 2009 @@ -37,6 +37,51 @@ */ +#define AIRPE_DEBUG_SYNTAX "airpe_debug " +SWITCH_STANDARD_API(airpe_debug_command) +{ + int argc = 0; + char *argv[2] = { 0 }; + char *mycmd = NULL; + char *client = NULL; + airpe_interface_t *airpe = NULL; + + if (!switch_strlen_zero(cmd) && (mycmd = strdup(cmd))) { + argc = switch_separate_string(mycmd, ' ', argv, (sizeof(argv) / sizeof(argv[0]))); + switch_assert(argv[0]); + } + + if ( argc < 1 ) { + stream->write_function(stream, "-USAGE: %s\n", AIRPE_DEBUG_SYNTAX); + goto done; + } + + client = argv[0]; + airpe = airpe_find_interface(client); + + if ( !airpe ) { + stream->write_function(stream, "-ERR interface not found for client "); + stream->write_function(stream, client); + stream->write_function(stream, "\n"); + goto done; + } + + if ( argc > 1 ) { + int debug = switch_true(argv[1]); + airpe->debug = debug; + } + + stream->write_function(stream, "Debug status: "); + if ( airpe->debug ) + stream->write_function(stream, "On"); + else + stream->write_function(stream, "Off"); + stream->write_function(stream, "\n"); + + done: + return SWITCH_STATUS_SUCCESS; +} + #define AIRPE_MOODTEXT_SYNTAX "airpe_moodtext [text]" SWITCH_STANDARD_API(airpe_moodtext_command) { @@ -248,6 +293,9 @@ switch_api_interface_t *api; + switch_console_set_complete("add airpe_debug "); + SWITCH_ADD_API(api, "airpe_debug", "gets/sets debug status of an airpe client", airpe_debug_command, AIRPE_DEBUG_SYNTAX); + switch_console_set_complete("add airpe_moodtext "); SWITCH_ADD_API(api, "airpe_moodtext", "gets/sets the mood text of an airpe client", airpe_moodtext_command, AIRPE_MOODTEXT_SYNTAX); From ctrix at freeswitch.org Sat Jan 17 16:54:58 2009 From: ctrix at freeswitch.org (FreeSWITCH SVN) Date: Sat, 17 Jan 2009 18:54:58 -0600 Subject: [Freeswitch-branches] [commit] r11268 - freeswitch/branches/ctrix/mod_airpe Message-ID: Author: ctrix Date: Sat Jan 17 18:54:58 2009 New Revision: 11268 Log: api for: - airpe_debug: switch debug on/off for a client - airpe_raw_command: sends a raw command to a client Modified: freeswitch/branches/ctrix/mod_airpe/airpe_api.c 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 Sat Jan 17 18:54:58 2009 @@ -37,6 +37,42 @@ */ +#define AIRPE_RAW_SYNTAX "airpe_raw_command " +SWITCH_STANDARD_API(airpe_raw_command) +{ + int argc = 0; + char *argv[2] = { 0 }; + char *mycmd = NULL; + char *client = NULL; + char buf[SKYPE_MSG_LEN]; + airpe_interface_t *airpe = NULL; + + if (!switch_strlen_zero(cmd) && (mycmd = strdup(cmd))) { + argc = switch_separate_string(mycmd, ' ', argv, (sizeof(argv) / sizeof(argv[0]))); + switch_assert(argv[0]); + } + + if ( argc <= 1 ) { + stream->write_function(stream, "-USAGE: %s\n", AIRPE_RAW_SYNTAX); + goto done; + } + + client = argv[0]; + airpe = airpe_find_interface(client); + + if ( !airpe ) { + stream->write_function(stream, "-ERR interface not found for client "); + stream->write_function(stream, client); + goto done; + } + + snprintf(buf, SKYPE_MSG_LEN, "%s", argv[1] ); + airpe_cmd_write(airpe, buf); + + done: + return SWITCH_STATUS_SUCCESS; +} + #define AIRPE_DEBUG_SYNTAX "airpe_debug " SWITCH_STANDARD_API(airpe_debug_command) { @@ -201,6 +237,27 @@ switch_snprintf(buf, sizeof(buf), "%-20s: %s\n", "Auto-auth", (airpe->auto_auth) ? "Yes" : "No" ); stream->write_function(stream, buf); + if ( airpe->variables_hash ) { + switch_hash_index_t *hi; + const void *var = NULL; + void *val = NULL; + const char *vname, *vvalue; + + for (hi = switch_hash_first(NULL, airpe->variables_hash); hi; hi = switch_hash_next(hi)) { + if ( !var ) { + stream->write_function(stream, "Client variables\n"); + } + switch_hash_this(hi, &var, NULL, &val); + vname = var; + vvalue = (const char*) val; + if ( vname && vvalue ) { + switch_snprintf(buf, sizeof(buf), "- %-20s: %s\n", vname, vvalue ); + stream->write_function(stream, buf); + } + } + + } + done: return SWITCH_STATUS_SUCCESS; } @@ -305,6 +362,9 @@ switch_console_set_complete("add airpe_status "); SWITCH_ADD_API(api, "airpe_status", "gets/sets the status of an airpe client", airpe_status_command, AIRPE_STATUS_SYNTAX); + switch_console_set_complete("add airpe_raw_command "); + SWITCH_ADD_API(api, "airpe_raw_command", "sends a raw command to an airpe client", airpe_raw_command, AIRPE_RAW_SYNTAX); + return SWITCH_STATUS_SUCCESS; } From ctrix at freeswitch.org Sat Jan 17 17:03:30 2009 From: ctrix at freeswitch.org (FreeSWITCH SVN) Date: Sat, 17 Jan 2009 19:03:30 -0600 Subject: [Freeswitch-branches] [commit] r11269 - in freeswitch/branches/ctrix/mod_airpe: . config Message-ID: Author: ctrix Date: Sat Jan 17 19:03:30 2009 New Revision: 11269 Log: Work in progress Modified: 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_if_common.c ============================================================================== --- freeswitch/branches/ctrix/mod_airpe/airpe_if_common.c (original) +++ freeswitch/branches/ctrix/mod_airpe/airpe_if_common.c Sat Jan 17 19:03:30 2009 @@ -170,6 +170,9 @@ switch_status_t airpe_cmd_write(airpe_interface_t *airpe, char *msg) { switch_status_t status; +//TODO locking + + assert(airpe); if ( airpe->debug ) switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "msg to airpe client %s: > %s\n", airpe->name, msg); 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 Sat Jan 17 19:03:30 2009 @@ -268,7 +268,6 @@ airpe->running = 1; XFlush(disp); x11_fd = ConnectionNumber(disp); - while ( airpe->running ) { FD_ZERO(&rset); FD_SET( x11_fd, &rset); 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 Sat Jan 17 19:03:30 2009 @@ -1,4 +1,5 @@ + @@ -35,6 +36,14 @@ The purpose is restarting the client with those credentials --> + + + + + + + + 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 Sat Jan 17 19:03:30 2009 @@ -59,6 +59,20 @@ TECH STUFF *****************************************************************************/ +static int fetch_next_port(void) { + int port = 0; + + if ( !globals.last_port_used ) + globals.last_port_used = globals.audio_tcp_port_start; + + switch_mutex_lock(globals.mutex); + port = globals.last_port_used; + globals.last_port_used++; + switch_mutex_unlock(globals.mutex); + + return port; +} + static switch_status_t airpe_codec_init(private_object_t * tech_pvt, int sample_rate, int codec_ms) { airpe_interface_t *airpe = NULL; @@ -139,20 +153,6 @@ return new_sock; } -static int fetch_next_port(void) { - int port = 0; - - if ( !globals.last_port_used ) - globals.last_port_used = globals.audio_tcp_port_start; - - switch_mutex_lock(globals.mutex); - port = globals.last_port_used; - globals.last_port_used++; - switch_mutex_unlock(globals.mutex); - - return port; -} - static switch_status_t airpe_audio_sockets_create( airpe_interface_t *airpe ) { switch_socket_t *new_sock; int port; @@ -185,7 +185,7 @@ } -static switch_status_t airpe_start_client(airpe_interface_t *airpe) { +static switch_status_t airpe_create_client(airpe_interface_t *airpe) { switch_threadattr_t *attr_skype = NULL; @@ -198,16 +198,20 @@ switch_threadattr_create(&attr_skype, airpe_module_pool); switch_threadattr_stacksize_set(attr_skype, SWITCH_THREAD_STACKSIZE); - switch_thread_create(&airpe->airpe_thread_skype, + return switch_thread_create(&airpe->airpe_thread_skype, attr_skype, airpe_skype_thread, airpe, airpe_module_pool); - - return SWITCH_STATUS_SUCCESS; } -static switch_status_t airpe_stop_client(airpe_interface_t *airpe) { +static switch_status_t airpe_destroy_client(airpe_interface_t *airpe) { + + if ( airpe->active_call_id ) { + char buf[SKYPE_MSG_LEN] = ""; + snprintf(buf, sizeof(buf), "ALTER CALL %d END HANGUP", airpe->active_call_id ); + airpe_cmd_write(airpe, buf); + } if ( airpe->audio_in_socket ) { if ( airpe->debug ) @@ -229,7 +233,9 @@ airpe_set_mood_text(airpe, NULL); airpe_set_partner_displayname(airpe, NULL); airpe_set_partner_handle(airpe, NULL); - airpe_set_call_id(airpe, 0, NULL); + airpe_clear_call_id(airpe); + + switch_core_hash_destroy(&airpe->variables_hash); return SWITCH_STATUS_SUCCESS; } @@ -632,14 +638,17 @@ CONFIGURATION *****************************************************************************/ -static switch_status_t load_config( int reload ) { +static switch_status_t load_config(void) { switch_xml_t cfg, xml, global_settings, param, clients, - client; + client, + variables, + variable; switch_memory_pool_t *pool; + switch_status_t status; pool = airpe_module_pool; @@ -679,131 +688,112 @@ for (client = switch_xml_child(clients, "client"); client; client = client->next) { - char *name = (char *) switch_xml_attr(client, "name"); - char *context = NULL; - char *dialplan = NULL; - char *destination = NULL; - char *X11_display = NULL; - char *skype_user = NULL; - char *skype_password= NULL; - char *cid_name = NULL; - char *cid_num = NULL; - int auto_auth = 0; - int debug = 0; + airpe_interface_t *newconf = NULL; - airpe_interface_t *newconf = NULL; + char *name = (char *) switch_xml_attr(client, "name"); - if (!name) { + if ( switch_strlen_zero(name) ) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "No name attribute. Skipping unnamed client.\n"); continue; } + if ( (newconf = switch_core_hash_find(globals.interfaces_hash, name)) ) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Duplicated client %s. Skipping\n", name); + continue; + } + + /* If we don't have a new interface, yet, then create one */ + if ( !newconf ) { + newconf = (airpe_interface_t *) switch_core_alloc( pool, sizeof(airpe_interface_t) ); + if ( newconf ) + memset(newconf, 0, sizeof(airpe_interface_t)); + else { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Cannot alloc memory for the new interface %s\n", name); + continue; + } + } + + /* Start parsing our parameters */ + + newconf->name = switch_core_strdup(pool, name); + for (param = switch_xml_child(client, "param"); param; param = param->next) { char *var = (char *) switch_xml_attr_soft(param, "name"); char *val = (char *) switch_xml_attr_soft(param, "value"); if (!strcasecmp(var, "debug")) { - debug = switch_true(val) ? 1 : 0; + newconf->debug = switch_true(val) ? 1 : 0; } else if (!strcasecmp(var, "auto-auth")) { - auto_auth = switch_true(val) ? 1 : 0; + newconf->auto_auth = switch_true(val) ? 1 : 0; } else if (!strcasecmp(var, "context")) { - context = val; + newconf->context = switch_core_strdup(pool, val); } else if (!strcasecmp(var, "dialplan")) { - dialplan = val; + newconf->dialplan = switch_core_strdup(pool, val); } else if (!strcasecmp(var, "destination")) { - destination = val; + newconf->destination = switch_core_strdup(pool, val); } else if (!strcasecmp(var, "skype-user")) { - skype_user = val; + newconf->skype_user = switch_core_strdup(pool, val); } else if (!strcasecmp(var, "skype-password")) { - skype_password = val; + newconf->skype_password = switch_core_strdup(pool, val); } else if (!strcasecmp(var, "X11-display")) { - X11_display = val; + newconf->X11_display = switch_core_strdup(pool, val); } else if (!strcasecmp(var, "cid-name")) { - cid_name = val; + //cid_name = val; } else if (!strcasecmp(var, "cid-num")) { - cid_num = val; + //cid_num = val; } else switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Unknown config param %s\n", var); } - if (!skype_user) { + + if (!newconf->skype_user) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "No skype-user param for client %s. Skipping\n", name); continue; } - if (!skype_password) { + if (!newconf->skype_password) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "No skype-password param for client %s. Skipping\n", name); continue; } - if (!X11_display) { + if (!newconf->X11_display) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "No X11-display param for client %s. Skipping\n", name); continue; } - if ( !dialplan ) - dialplan = globals.dialplan; - if ( !context ) - context = globals.context; - if ( !destination ) - destination = globals.destination; + if ( !newconf->dialplan ) + newconf->dialplan = globals.dialplan; + if ( !newconf->context ) + newconf->context = globals.context; + if ( !newconf->destination ) + newconf->destination = globals.destination; + + newconf->audio_in_port = 0; + newconf->audio_in_port = 0; + + switch_core_hash_init(&newconf->variables_hash, pool); + if ((variables = switch_xml_child(client, "variables"))) { + for (variable = switch_xml_child(variables, "variable"); variable; variable = variable->next) + { + char *vname = (char *) switch_xml_attr(variable, "name"); + char *vvalue = (char *) switch_xml_attr(variable, "value"); - if ( reload ) { - newconf = airpe_find_interface(name); - } - else { - if ( (newconf = switch_core_hash_find(globals.interfaces_hash, name)) ) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Duplicated client %s. Skipping\n", name); - continue; + if ( !switch_strlen_zero(vname) && vvalue ) { + switch_core_hash_insert(newconf->variables_hash, vname, vvalue); + } } } - if ( !newconf ) { - newconf = (airpe_interface_t *) switch_core_alloc( pool, sizeof(airpe_interface_t) ); - if ( newconf ) - memset(newconf, 0, sizeof(airpe_interface_t)); - } - - - if ( newconf ) { - switch_status_t status; - - newconf->name = switch_core_strdup(pool, name); - 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 ) { - /* We won't update any other value on reload. */ - newconf->should_reload = 0; - continue; - } - - newconf->skype_user = switch_core_strdup(pool, skype_user); - newconf->skype_password = switch_core_strdup(pool, skype_password); - newconf->X11_display = switch_core_strdup(pool, X11_display); - newconf->audio_in_port = 0; - newconf->audio_in_port = 0; - newconf->skype_window = skype_window_alloc(pool); - - if ( newconf->skype_window ) { - status = airpe_start_client(newconf); - if ( status == SWITCH_STATUS_SUCCESS ) { - switch_core_hash_insert(globals.interfaces_hash, name, newconf); - } - else { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Airpe: cannot start client %s.\n", newconf->name); - } + /* Start the thread managing the skype client */ + newconf->skype_window = skype_window_alloc(pool); + if ( newconf->skype_window ) { + status = airpe_create_client(newconf); + if ( status == SWITCH_STATUS_SUCCESS ) { + switch_core_hash_insert(globals.interfaces_hash, name, newconf); } else { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Airpe: cannot alloc client %s.\n", newconf->name); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Airpe: cannot start client %s.\n", newconf->name); } - - - } - else { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Airpe: cannot alloc client %s.\n", newconf->name); } + } } @@ -828,7 +818,7 @@ } /* Update the data of each client */ - load_config(1); +// load_config(1); /* Find eventual clients not updated and stop them */ for (hi = switch_hash_first(NULL, globals.interfaces_hash); hi; hi = switch_hash_next(hi)) { @@ -837,10 +827,9 @@ if ( airpe->should_reload ) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Stopping airpe client %s.\n", airpe->name); switch_core_hash_delete(globals.interfaces_hash, airpe->name); - airpe_stop_client(airpe); + airpe_destroy_client(airpe); } } - } @@ -882,7 +871,7 @@ switch_core_hash_init(&globals.interfaces_hash, pool); switch_mutex_init(&globals.mutex, SWITCH_MUTEX_NESTED, pool); - load_config(0); + load_config(); *module_interface = switch_loadable_module_create_module_interface(pool, modname); @@ -893,14 +882,13 @@ airpe_endpoint_interface->state_handler = &airpe_state_handlers; if ((switch_event_bind_removable(modname, SWITCH_EVENT_RELOADXML, NULL, reloadxml_event_handler, NULL, &EVENT_NODE) != SWITCH_STATUS_SUCCESS)) { + /* Not such severe to prevent loading, so don't abort */ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Couldn't bind our reloadxml handler!\n"); - /* Not such severe to prevent loading */ } airpe_register_api( &*module_interface ); airpe_register_apps( &*module_interface ); - return SWITCH_STATUS_SUCCESS; } @@ -922,7 +910,7 @@ airpe->running = 0; /* Wake up the socket */ airpe_cmd_write(airpe, "PING"); - airpe_stop_client(airpe); + airpe_destroy_client(airpe); /* we won't delete the hash element. we're going to destroy the whole pool switch_core_hash_delete(globals.interfaces_hash, airpe->name); 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 Sat Jan 17 19:03:30 2009 @@ -138,11 +138,12 @@ char *dialplan; char *context; char *destination; + int auto_auth; char *X11_display; char *skype_user; char *skype_password; - int auto_auth; + switch_mutex_t *mutex; int audio_in_port; int audio_out_port; switch_socket_t *audio_in_socket; @@ -153,6 +154,7 @@ switch_thread_t *airpe_thread_skype; skype_window_handler_t *skype_window; + switch_hash_t *variables_hash; int protocol; USER_STATUS user_status; CALL_STATUS call_status; @@ -208,6 +210,7 @@ switch_status_t airpe_set_mood_text(airpe_interface_t *airpe, char *string); switch_status_t airpe_set_partner_displayname(airpe_interface_t *airpe, char *string); switch_status_t airpe_set_partner_handle(airpe_interface_t *airpe, char *string); +void airpe_clear_call_id(airpe_interface_t *airpe); switch_status_t airpe_set_call_id(airpe_interface_t *airpe, int sk_id, char *fs_uuid); switch_status_t airpe_call_shutdown( private_object_t *pvt ); From ctrix at freeswitch.org Sat Jan 17 17:15:39 2009 From: ctrix at freeswitch.org (FreeSWITCH SVN) Date: Sat, 17 Jan 2009 19:15:39 -0600 Subject: [Freeswitch-branches] [commit] r11270 - freeswitch/branches/ctrix/mod_airpe Message-ID: Author: ctrix Date: Sat Jan 17 19:15:39 2009 New Revision: 11270 Log: Channel variables foe each airpe interface - on inbound calls Modified: freeswitch/branches/ctrix/mod_airpe/airpe_if_common.c 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 Sat Jan 17 19:15:39 2009 @@ -382,6 +382,26 @@ switch_set_flag(tech_pvt, TFLAG_INBOUND); airpe_set_call_id(airpe, callid, switch_core_session_get_uuid(new_session) ); + /* Setup specific client channel variables */ + if ( airpe->variables_hash ) { + switch_hash_index_t *hi; + const void *var = NULL; + void *val = NULL; + const char *vname, *vvalue; + + for (hi = switch_hash_first(NULL, airpe->variables_hash); hi; hi = switch_hash_next(hi)) { + switch_hash_this(hi, &var, NULL, &val); + vname = var; + vvalue = (const char*) val; + if ( vname && vvalue ) { + switch_channel_set_variable(channel, vname, vvalue); + } + } + + } + + + switch_channel_set_state(channel, CS_INIT); if ( switch_core_session_thread_launch(new_session) != SWITCH_STATUS_SUCCESS ) { From ctrix at freeswitch.org Mon Jan 19 15:30:29 2009 From: ctrix at freeswitch.org (FreeSWITCH SVN) Date: Mon, 19 Jan 2009 17:30:29 -0600 Subject: [Freeswitch-branches] [commit] r11296 - in freeswitch/branches/ctrix/mod_airpe: . config Message-ID: Author: ctrix Date: Mon Jan 19 17:30:28 2009 New Revision: 11296 Log: tweaks... (add some locking, add option "restart-clients-on-reloadxml", reworking of reloadxml, reworking the shutdown of the module, remove noisy debug messages, airpe_uuid api command) Modified: freeswitch/branches/ctrix/mod_airpe/Makefile 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/Makefile ============================================================================== --- freeswitch/branches/ctrix/mod_airpe/Makefile (original) +++ freeswitch/branches/ctrix/mod_airpe/Makefile Mon Jan 19 17:30:28 2009 @@ -2,6 +2,7 @@ MODNAME=mod_airpe +LOCAL_CFLAGS= LOCAL_LDFLAGS=-lX11 LOCAL_OBJS=airpe_if_common.o airpe_api.o airpe_apps.o airpe_if_x11.o airpe_if_osx.o airpe_if_win32.o LOCAL_SOURCES=airpe_if_common.c airpe_api.c airpe_apps.c airpe_if_x11.c airpe_if_osx.c airpe_if_win32.c 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 Mon Jan 19 17:30:28 2009 @@ -37,6 +37,45 @@ */ +#define AIRPE_UUID_SYNTAX "airpe_uuid_command " +SWITCH_STANDARD_API(airpe_uuid_command) +{ + int argc = 0; + char *argv[2] = { 0 }; + char *mycmd = NULL; + char *client = NULL; + airpe_interface_t *airpe = NULL; + + if (!switch_strlen_zero(cmd) && (mycmd = strdup(cmd))) { + argc = switch_separate_string(mycmd, ' ', argv, (sizeof(argv) / sizeof(argv[0]))); + switch_assert(argv[0]); + } + + if ( argc != 1 ) { + stream->write_function(stream, "-USAGE: %s\n", AIRPE_UUID_SYNTAX); + goto done; + } + + client = argv[0]; + airpe = airpe_find_interface(client); + + if ( !airpe ) { + stream->write_function(stream, "-ERR interface not found for client "); + stream->write_function(stream, client); + goto done; + } + + if ( !airpe->active_session_uuid ) { + goto done; + } + + stream->write_function(stream, airpe->active_session_uuid); + stream->write_function(stream, "\n"); + + done: + return SWITCH_STATUS_SUCCESS; +} + #define AIRPE_RAW_SYNTAX "airpe_raw_command " SWITCH_STANDARD_API(airpe_raw_command) { @@ -255,7 +294,6 @@ stream->write_function(stream, buf); } } - } done: @@ -350,6 +388,9 @@ switch_api_interface_t *api; + switch_console_set_complete("add airpe_uuid "); + SWITCH_ADD_API(api, "airpe_uuid", "gets the uuid of the (eventually) attached session", airpe_uuid_command, AIRPE_UUID_SYNTAX); + switch_console_set_complete("add airpe_debug "); SWITCH_ADD_API(api, "airpe_debug", "gets/sets debug status of an airpe client", airpe_debug_command, AIRPE_DEBUG_SYNTAX); 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 Mon Jan 19 17:30:28 2009 @@ -174,7 +174,7 @@ assert(airpe); - if ( airpe->debug ) + if ( airpe->debug && strncmp(msg, "PING", 4) ) switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "msg to airpe client %s: > %s\n", airpe->name, msg); status = airpe_skype_send_message(airpe->skype_window, msg); @@ -204,13 +204,14 @@ } switch_status_t airpe_explicit_hangup(airpe_interface_t *airpe) { + switch_status_t status = SWITCH_STATUS_FALSE; char buf[SKYPE_MSG_LEN]; - if ( airpe->active_call_id > 0 ) { + if ( airpe && airpe->active_call_id > 0 ) { snprintf(buf, sizeof(buf), "SET CALL %d STATUS FINISHED", airpe->active_call_id); - return airpe_cmd_write(airpe, buf); + status = airpe_cmd_write(airpe, buf); } - return SWITCH_STATUS_FALSE; + return status; } /***************************************************************************** @@ -536,7 +537,7 @@ assert(airpe); assert(msg); - if ( airpe->debug ) + if ( airpe->debug && strncmp(msg, "PONG", 4) ) switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "airpe client %s: < %s\n", airpe->name, msg); if ( airpe->active_session_uuid ) { 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 Mon Jan 19 17:30:28 2009 @@ -129,6 +129,8 @@ disp = window->disp; handle_P = window->win; + trap_errors(); + atom1 = XInternAtom(disp, "SKYPECONTROLAPI_MESSAGE_BEGIN", False); atom2 = XInternAtom(disp, "SKYPECONTROLAPI_MESSAGE", False); pos = 0; @@ -141,7 +143,6 @@ xev.xclient.window = handle_P; xev.xclient.format = 8; - trap_errors(); do { unsigned int i; for (i = 0; i < 20 && i + pos <= len; ++i) @@ -158,6 +159,7 @@ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "airpe client X11 error.\n"); airpe_skype_avalaible(window); } + return SWITCH_STATUS_SUCCESS; } @@ -275,6 +277,7 @@ struct timeval timeout; int ret; + memset(&timeout, 0, sizeof(struct timeval) ); timeout.tv_usec = 10 * 1000; ret = select(x11_fd+1, &rset, 0, 0, &timeout); @@ -328,14 +331,14 @@ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "airpe client %s: exiting thread\n", airpe->name); - /* Hangup our call, if we have one */ - airpe_explicit_hangup(airpe); - + XCloseDisplay(disp); } else { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "airpe client %s: skype not running on display %s\n", airpe->name, airpe->X11_display); } - return NULL; + airpe->airpe_thread_skype = NULL; + + return NULL; } #endif 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 Mon Jan 19 17:30:28 2009 @@ -2,6 +2,7 @@ + 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 Mon Jan 19 17:30:28 2009 @@ -41,6 +41,7 @@ char *context; char *destination; int audio_tcp_port_start; + int restart_on_reload; switch_mutex_t *mutex; switch_hash_t *interfaces_hash; @@ -51,7 +52,12 @@ airpe_interface_t *airpe_find_interface( const char *name) { - return switch_core_hash_find(globals.interfaces_hash, name); + airpe_interface_t *ret = NULL; + + switch_mutex_lock(globals.mutex); + ret = switch_core_hash_find(globals.interfaces_hash, name); + switch_mutex_unlock(globals.mutex); + return ret; } @@ -65,10 +71,8 @@ if ( !globals.last_port_used ) globals.last_port_used = globals.audio_tcp_port_start; - switch_mutex_lock(globals.mutex); port = globals.last_port_used; globals.last_port_used++; - switch_mutex_unlock(globals.mutex); return port; } @@ -207,12 +211,6 @@ static switch_status_t airpe_destroy_client(airpe_interface_t *airpe) { - if ( airpe->active_call_id ) { - char buf[SKYPE_MSG_LEN] = ""; - snprintf(buf, sizeof(buf), "ALTER CALL %d END HANGUP", airpe->active_call_id ); - airpe_cmd_write(airpe, buf); - } - if ( airpe->audio_in_socket ) { if ( airpe->debug ) switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Shutting down socket on port %d for client %s\n", airpe->audio_in_port, airpe->name); @@ -235,7 +233,9 @@ airpe_set_partner_handle(airpe, NULL); airpe_clear_call_id(airpe); - switch_core_hash_destroy(&airpe->variables_hash); + if ( airpe->variables_hash ) + switch_core_hash_destroy(&airpe->variables_hash); + airpe->variables_hash = NULL; return SWITCH_STATUS_SUCCESS; } @@ -638,7 +638,7 @@ CONFIGURATION *****************************************************************************/ -static switch_status_t load_config(void) { +static switch_status_t load_config( int reload ) { switch_xml_t cfg, xml, global_settings, @@ -669,7 +669,11 @@ globals.destination = switch_core_strdup(pool, val); } else if (!strcmp(var, "audio-tcp-port_start")) { globals.audio_tcp_port_start = atoi(val); + } else if (!strcmp(var, "restart-clients-on-reloadxml")) { + globals.restart_on_reload = switch_true(val); } + else + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Unknown parameter %s\n", var); } } @@ -698,7 +702,8 @@ } if ( (newconf = switch_core_hash_find(globals.interfaces_hash, name)) ) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Duplicated client %s. Skipping\n", name); + if ( !reload ) + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Duplicated client %s. Skipping\n", name); continue; } @@ -787,13 +792,14 @@ if ( newconf->skype_window ) { status = airpe_create_client(newconf); if ( status == SWITCH_STATUS_SUCCESS ) { - switch_core_hash_insert(globals.interfaces_hash, name, newconf); + switch_mutex_lock(globals.mutex); + switch_core_hash_insert(globals.interfaces_hash, newconf->name, newconf); + switch_mutex_unlock(globals.mutex); } else { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Airpe: cannot start client %s.\n", newconf->name); } } - } } @@ -804,32 +810,35 @@ static void reloadxml_event_handler(switch_event_t *event) { - airpe_interface_t *airpe; - switch_hash_index_t *hi; - void *val; + airpe_interface_t *airpe = NULL; + switch_hash_index_t *hi = NULL; + void *val = NULL; switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Reloading airpe configuration.\n"); - /* First, mark all of them to be reloaded */ - for (hi = switch_hash_first(NULL, globals.interfaces_hash); hi; hi = switch_hash_next(hi)) { - switch_hash_this(hi, NULL, NULL, &val); - airpe = ( airpe_interface_t *) val; - airpe->should_reload = 1; + if ( globals.restart_on_reload ) { + switch_mutex_lock(globals.mutex); + hi = switch_hash_first(NULL, globals.interfaces_hash); + while ( hi ) { + switch_hash_this(hi, NULL, NULL, &val); + airpe = ( airpe_interface_t *) val; + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Stopping airpe client %s\n", airpe->name); + airpe_explicit_hangup(airpe); + + airpe->running = 0; + while ( airpe->airpe_thread_skype ) { + switch_sleep(100000); + } + hi = switch_hash_next(hi); + switch_core_hash_delete(globals.interfaces_hash, airpe->name ); + airpe_destroy_client(airpe); + } + switch_mutex_unlock(globals.mutex); } /* Update the data of each client */ -// load_config(1); + load_config(1); - /* Find eventual clients not updated and stop them */ - for (hi = switch_hash_first(NULL, globals.interfaces_hash); hi; hi = switch_hash_next(hi)) { - switch_hash_this(hi, NULL, NULL, &val); - airpe = ( airpe_interface_t *) val; - if ( airpe->should_reload ) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Stopping airpe client %s.\n", airpe->name); - switch_core_hash_delete(globals.interfaces_hash, airpe->name); - airpe_destroy_client(airpe); - } - } } @@ -868,10 +877,10 @@ memset(&globals, 0, sizeof(globals)); - switch_core_hash_init(&globals.interfaces_hash, pool); switch_mutex_init(&globals.mutex, SWITCH_MUTEX_NESTED, pool); + switch_core_hash_init(&globals.interfaces_hash, pool); - load_config(); + load_config(0); *module_interface = switch_loadable_module_create_module_interface(pool, modname); @@ -898,28 +907,33 @@ airpe_interface_t *airpe; switch_hash_index_t *hi; void *val; + const void *var = NULL; pool = airpe_module_pool; switch_event_unbind(&EVENT_NODE); - for (hi = switch_hash_first(NULL, globals.interfaces_hash); hi; hi = switch_hash_next(hi)) { - switch_hash_this(hi, NULL, NULL, &val); + switch_mutex_lock(globals.mutex); + hi = switch_hash_first(NULL, globals.interfaces_hash); + while ( hi ) { + switch_hash_this(hi, &var, NULL, &val); airpe = ( airpe_interface_t *) val; - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Shutting down airpe client: %s\n", airpe->name); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "Shutting down airpe client: %s\n", (char *)var); + airpe_explicit_hangup(airpe); + airpe->running = 0; - /* Wake up the socket */ airpe_cmd_write(airpe, "PING"); + while ( airpe->airpe_thread_skype ) { + switch_sleep(100000); + } + + hi = switch_hash_next(hi); + switch_core_hash_delete(globals.interfaces_hash, var); airpe_destroy_client(airpe); - /* - we won't delete the hash element. we're going to destroy the whole pool - switch_core_hash_delete(globals.interfaces_hash, airpe->name); - */ } + switch_mutex_unlock(globals.mutex); switch_yield(500000); - /* TODO... should we check that all interfaces has been switched off ? */ - switch_core_hash_destroy(&globals.interfaces_hash); switch_core_destroy_memory_pool(&pool); return SWITCH_STATUS_UNLOAD; 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 Mon Jan 19 17:30:28 2009 @@ -31,7 +31,7 @@ #include #include -#define MODNAME "airpe" +#define MODNAME "mod_airpe" #define AIRPE_EVENT_AUTHREQUEST "airpe::authrequest" #define AIRPE_EVENT_STATUSCHANGE "airpe::statuschange" @@ -135,6 +135,7 @@ struct airpe_interface_s { char *name; int debug; + int detached; char *dialplan; char *context; char *destination; @@ -160,7 +161,6 @@ CALL_STATUS call_status; CONN_STATUS conn_status; - int should_reload; char *skype_version; char *mood_text; int active_call_id; From ctrix at freeswitch.org Mon Jan 19 15:55:57 2009 From: ctrix at freeswitch.org (FreeSWITCH SVN) Date: Mon, 19 Jan 2009 17:55:57 -0600 Subject: [Freeswitch-branches] [commit] r11298 - in freeswitch/branches/ctrix/mod_airpe: . scripts Message-ID: Author: ctrix Date: Mon Jan 19 17:55:57 2009 New Revision: 11298 Log: Tweaks (modify some debug messages, add example script to launch skype) Added: freeswitch/branches/ctrix/mod_airpe/scripts/ freeswitch/branches/ctrix/mod_airpe/scripts/skype_launch (contents, props changed) Modified: freeswitch/branches/ctrix/mod_airpe/airpe_if_common.c freeswitch/branches/ctrix/mod_airpe/mod_airpe.c 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 Mon Jan 19 17:55:57 2009 @@ -754,7 +754,7 @@ } } else { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "CALL ID %d\n", callid); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Unmanaged message %s\n", msg); } } else if ( !strncmp( buf, "DTMF", strlen("DTMF")) && argc>3 ) { 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 Mon Jan 19 17:55:57 2009 @@ -488,7 +488,7 @@ assert(tech_pvt); if ( !tech_pvt->airpe ) { - ADEBUG("airpe_audio_write ERROR: no client\n"); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "airpe_audio_write ERROR: no client\n"); return SWITCH_STATUS_FALSE; } @@ -497,7 +497,7 @@ rv = airpe_audio_write(tech_pvt, frame); if ( rv != SWITCH_STATUS_SUCCESS ) { - ADEBUG("airpe_audio_write ERROR\n"); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "airpe_audio_write ERROR\n"); return SWITCH_STATUS_FALSE; } Added: freeswitch/branches/ctrix/mod_airpe/scripts/skype_launch ============================================================================== --- (empty file) +++ freeswitch/branches/ctrix/mod_airpe/scripts/skype_launch Mon Jan 19 17:55:57 2009 @@ -0,0 +1,23 @@ +#!/bin/bash + +# Set the directory where your Skype settings and users are located +DB_PATH=/home/ctrix/.Skype/ + +function launch() { + local ACCOUNT=$1 + local PASSWD=$2 + local DISP=$3 + + /usr/bin/Xvfb :$DISP & + sleep 2 + echo "$ACCOUNT $PASSWD"| DISPLAY=:$DISP /usr/bin/skype --pipelogin --dbpath=$DB_PATH + + return; +} + + +# add as many lines you need to launch each skype client +launch youraccount yourpass display + + +exit 0; From ctrix at freeswitch.org Wed Jan 21 16:02:16 2009 From: ctrix at freeswitch.org (FreeSWITCH SVN) Date: Wed, 21 Jan 2009 18:02:16 -0600 Subject: [Freeswitch-branches] [commit] r11345 - freeswitch/branches/ctrix/mod_airpe Message-ID: Author: ctrix Date: Wed Jan 21 18:02:15 2009 New Revision: 11345 Log: other fixes for airpe Modified: freeswitch/branches/ctrix/mod_airpe/airpe_if_common.c freeswitch/branches/ctrix/mod_airpe/mod_airpe.c freeswitch/branches/ctrix/mod_airpe/mod_airpe.h 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 21 18:02:15 2009 @@ -255,13 +255,13 @@ assert(pvt->session); assert(pvt->airpe); - if ( !switch_test_flag(pvt, TFLAG_IO) ) + if ( !switch_test_flag(pvt, TFLAG_IO) ) { return SWITCH_STATUS_SUCCESS; + } airpe = pvt->airpe; pool = switch_core_session_get_pool(pvt->session); - if ( !airpe->audio_in_active_socket ) { rv = switch_socket_accept(&inbound_socket, airpe->audio_in_socket, pool); if ( rv == SWITCH_STATUS_SUCCESS ) { @@ -275,6 +275,7 @@ mbuf = frame->data; mlen = frame->datalen; + rv = switch_socket_send(airpe->audio_in_active_socket, mbuf, &mlen); return rv; @@ -295,8 +296,9 @@ airpe = pvt->airpe; pool = switch_core_session_get_pool(pvt->session); - if ( !switch_test_flag(pvt, TFLAG_IO) ) + if ( !switch_test_flag(pvt, TFLAG_IO) ) { return SWITCH_STATUS_SUCCESS; + } if ( !airpe->audio_out_active_socket ) { rv = switch_socket_accept(&inbound_socket, airpe->audio_out_socket, pool); @@ -317,6 +319,7 @@ if ( (rv==SWITCH_STATUS_SUCCESS) ) { pvt->read_frame.datalen = mlen; } + return rv; } @@ -470,15 +473,14 @@ airpe_cmd_write(airpe, buf); airpe_cmd_write(airpe, "PING"); switch_set_flag(airpe->tech_pvt, TFLAG_IO); - +/* snprintf(buf, sizeof(buf), "ALTER CALL %d STOP_VIDEO_SEND", callid ); airpe_cmd_write(airpe, buf); snprintf(buf, sizeof(buf), "ALTER CALL %d STOP_VIDEO_RECEIVE", callid ); airpe_cmd_write(airpe, buf); - - switch_channel_answer(channel); +*/ + switch_channel_mark_answered(channel); } - } else if ( !strncmp(status, "FINISHED", strlen("FINISHED")) ) { if ( channel ) 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 21 18:02:15 2009 @@ -443,8 +443,8 @@ assert(tech_pvt); tech_pvt->read_frame.flags = SFF_NONE; - *frame = NULL; + *frame = NULL; if ( airpe_audio_read(tech_pvt) != SWITCH_STATUS_SUCCESS) { /* if ( tech_pvt->airpe->debug ) @@ -471,9 +471,9 @@ return SWITCH_STATUS_SUCCESS; } -static switch_status_t channel_write_frame(switch_core_session_t * session, - switch_frame_t * frame, - switch_io_flag_t flags, +static switch_status_t channel_write_frame(switch_core_session_t *session, + switch_frame_t *frame, + switch_io_flag_t flags, int stream_id) { switch_channel_t *channel = NULL; @@ -489,7 +489,6 @@ if ( !tech_pvt->airpe ) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "airpe_audio_write ERROR: no client\n"); - return SWITCH_STATUS_FALSE; } airpe = tech_pvt->airpe; 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 21 18:02:15 2009 @@ -39,7 +39,7 @@ #define SKYPE_MSG_LEN 1024 #define CODEC_SAMPLE_RATE 16000 -#define CODEC_INTERVAL_MS 20 +#define CODEC_INTERVAL_MS 10 #define FRAMES_PER_SECOND 1000 / CODEC_INTERVAL_MS #define SAMPLES_PER_FRAME CODEC_SAMPLE_RATE / FRAMES_PER_SECOND From ctrix at freeswitch.org Wed Jan 21 16:11:42 2009 From: ctrix at freeswitch.org (FreeSWITCH SVN) Date: Wed, 21 Jan 2009 18:11:42 -0600 Subject: [Freeswitch-branches] [commit] r11346 - freeswitch/branches/ctrix/mod_airpe Message-ID: Author: ctrix Date: Wed Jan 21 18:11:42 2009 New Revision: 11346 Log: OOPS! we should switch_hangup Modified: freeswitch/branches/ctrix/mod_airpe/mod_airpe.c 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 21 18:11:42 2009 @@ -319,6 +319,8 @@ snprintf(buf, sizeof(buf), "ALTER CALL %d HANGUP", airpe->active_call_id); airpe_cmd_write(airpe, buf); } + switch_channel_hangup(channel, SWITCH_CAUSE_NORMAL_CLEARING); + airpe_call_shutdown( tech_pvt ); if (tech_pvt->read_codec.implementation) { From ctrix at freeswitch.org Wed Jan 21 17:03:06 2009 From: ctrix at freeswitch.org (FreeSWITCH SVN) Date: Wed, 21 Jan 2009 19:03:06 -0600 Subject: [Freeswitch-branches] [commit] r11349 - freeswitch/branches/ctrix/mod_airpe Message-ID: Author: ctrix Date: Wed Jan 21 19:03:06 2009 New Revision: 11349 Log: More fixes. Time to sleep. Modified: freeswitch/branches/ctrix/mod_airpe/INSTALL freeswitch/branches/ctrix/mod_airpe/README freeswitch/branches/ctrix/mod_airpe/airpe_if_common.c freeswitch/branches/ctrix/mod_airpe/mod_airpe.c Modified: freeswitch/branches/ctrix/mod_airpe/INSTALL ============================================================================== --- freeswitch/branches/ctrix/mod_airpe/INSTALL (original) +++ freeswitch/branches/ctrix/mod_airpe/INSTALL Wed Jan 21 19:03:06 2009 @@ -1,2 +1,3 @@ -Nothing to read here as well. +Nothing to read here. +See README. Modified: freeswitch/branches/ctrix/mod_airpe/README ============================================================================== --- freeswitch/branches/ctrix/mod_airpe/README (original) +++ freeswitch/branches/ctrix/mod_airpe/README Wed Jan 21 19:03:06 2009 @@ -1,2 +1,4 @@ -Nothing to read, sorry +Nothing to read, sorry. + + 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 21 19:03:06 2009 @@ -189,8 +189,8 @@ /* Those commands are outdated and shouldn't be used Documented so that no one adds them. - airpe_cmd_write(p, "SET AGC OFF"); - airpe_cmd_write(p, "SET AEC OFF"); + airpe_cmd_write(airpe, "SET AGC OFF"); + airpe_cmd_write(airpe, "SET AEC OFF"); */ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "airpe client %s: Originating to client %s\n", airpe->name, dest); @@ -267,9 +267,11 @@ if ( rv == SWITCH_STATUS_SUCCESS ) { airpe->audio_in_active_socket = inbound_socket; switch_sleep(100000); + return SWITCH_STATUS_SUCCESS; } else { - return SWITCH_STATUS_FALSE; + switch_sleep(100000); + return SWITCH_STATUS_SUCCESS; } } @@ -278,6 +280,10 @@ rv = switch_socket_send(airpe->audio_in_active_socket, mbuf, &mlen); + if ( mlen == 0 ) { + return SWITCH_STATUS_SUCCESS; + } + return rv; } @@ -305,8 +311,10 @@ if ( rv == SWITCH_STATUS_SUCCESS ) { airpe->audio_out_active_socket = inbound_socket; switch_sleep(100000); + return SWITCH_STATUS_SUCCESS; } else { + switch_sleep(100000); return SWITCH_STATUS_SUCCESS; } } @@ -479,7 +487,8 @@ snprintf(buf, sizeof(buf), "ALTER CALL %d STOP_VIDEO_RECEIVE", callid ); airpe_cmd_write(airpe, buf); */ - switch_channel_mark_answered(channel); + switch_channel_answer(channel); + /*switch_channel_mark_answered(channel);*/ } } else if ( !strncmp(status, "FINISHED", strlen("FINISHED")) ) { 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 21 19:03:06 2009 @@ -445,13 +445,12 @@ assert(tech_pvt); tech_pvt->read_frame.flags = SFF_NONE; + tech_pvt->read_frame.datalen = 0; *frame = NULL; if ( airpe_audio_read(tech_pvt) != SWITCH_STATUS_SUCCESS) { -/* if ( tech_pvt->airpe->debug ) ADEBUG("airpe_audio_read ERROR\n"); -*/ return SWITCH_STATUS_FALSE; } @@ -499,7 +498,6 @@ if ( rv != SWITCH_STATUS_SUCCESS ) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "airpe_audio_write ERROR\n"); - return SWITCH_STATUS_FALSE; } return rv; From mikej at freeswitch.org Thu Jan 22 09:28:26 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Thu, 22 Jan 2009 11:28:26 -0600 Subject: [Freeswitch-branches] [commit] r11357 - freeswitch/branches/1.0/src/mod/applications/mod_easyroute Message-ID: Author: mikej Date: Thu Jan 22 11:28:25 2009 New Revision: 11357 Log: mod_easyroute: add custom-query configuration option (r:11054) Modified: freeswitch/branches/1.0/src/mod/applications/mod_easyroute/mod_easyroute.c Modified: freeswitch/branches/1.0/src/mod/applications/mod_easyroute/mod_easyroute.c ============================================================================== --- freeswitch/branches/1.0/src/mod/applications/mod_easyroute/mod_easyroute.c (original) +++ freeswitch/branches/1.0/src/mod/applications/mod_easyroute/mod_easyroute.c Thu Jan 22 11:28:25 2009 @@ -68,6 +68,7 @@ char *default_techprofile; char *default_gateway; switch_mutex_t *mutex; + char *custom_query; #ifdef SWITCH_HAVE_ODBC switch_odbc_handle_t *master_odbc; #else @@ -84,6 +85,7 @@ SWITCH_DECLARE_GLOBAL_STRING_FUNC(set_global_db_dsn, globals.db_dsn); SWITCH_DECLARE_GLOBAL_STRING_FUNC(set_global_default_techprofile, globals.default_techprofile); SWITCH_DECLARE_GLOBAL_STRING_FUNC(set_global_default_gateway, globals.default_gateway); +SWITCH_DECLARE_GLOBAL_STRING_FUNC(set_global_custom_query, globals.custom_query); static int route_callback(void *pArg, int argc, char **argv, char **columnNames) { @@ -117,28 +119,30 @@ for (param = switch_xml_child(settings, "param"); param; param = param->next) { char *var = (char *) switch_xml_attr_soft(param, "name"); char *val = (char *) switch_xml_attr_soft(param, "value"); - if (!strcasecmp(var, "db_username")) { + if (!strcasecmp(var, "db-username")) { set_global_db_username(val); - } else if (!strcasecmp(var, "db_password")) { + } else if (!strcasecmp(var, "db-password")) { set_global_db_password(val); - } else if (!strcasecmp(var, "db_dsn")) { + } else if (!strcasecmp(var, "db-dsn")) { set_global_db_dsn(val); } else if (!strcasecmp(var, "default-techprofile")) { set_global_default_techprofile(val); } else if (!strcasecmp(var, "default-gateway")) { set_global_default_gateway(val); + } else if (!strcasecmp(var, "custom-query")) { + set_global_custom_query(val); } } } done: - if (!globals.db_username) { + if (switch_strlen_zero(globals.db_username)) { set_global_db_username("root"); } - if (!globals.db_password) { + if (switch_strlen_zero(globals.db_password)) { set_global_db_password("password"); } - if (!globals.db_dsn) { + if (switch_strlen_zero(globals.db_dsn)) { set_global_db_dsn("easyroute"); } @@ -196,8 +200,13 @@ route_callback_t pdata; memset(&pdata, 0, sizeof(pdata)); - - snprintf(sql, 1025, SQL_LOOKUP, dn); + if (!globals.custom_query){ + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Doing static Query\n[%s]\n", SQL_LOOKUP); + snprintf(sql, 1024, SQL_LOOKUP, dn); + } else { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Doing custom Query\n[%s]\n", globals.custom_query); + snprintf(sql, 1024, globals.custom_query, dn); + } if (globals.mutex){ switch_mutex_lock(globals.mutex); @@ -207,7 +216,7 @@ if (switch_odbc_handle_callback_exec(globals.master_odbc, sql, route_callback, &pdata) == SWITCH_ODBC_SUCCESS){ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "SQL Query\n[%s]\n", sql); char tmp_profile[129]; - char tmp_gateway[16]; + char tmp_gateway[129]; if (switch_strlen_zero(pdata.limit)) { switch_set_string(results->limit, "9999" ); @@ -234,7 +243,7 @@ } switch_snprintf(results->dialstring, 256, "%s/%s@%s", tmp_profile , results->translated, tmp_gateway); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "THE ROUTE [%s]", results->dialstring); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "THE ROUTE [%s]\n", results->dialstring); if (switch_strlen_zero(pdata.group)){ switch_set_string(results->group, ""); From mikej at freeswitch.org Thu Jan 22 09:35:15 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Thu, 22 Jan 2009 11:35:15 -0600 Subject: [Freeswitch-branches] [commit] r11358 - freeswitch/branches/1.0/conf/autoload_configs Message-ID: Author: mikej Date: Thu Jan 22 11:35:15 2009 New Revision: 11358 Log: mod_easyroute: add configuration file example for custom-query (r:11055) Modified: freeswitch/branches/1.0/conf/autoload_configs/easyroute.conf.xml Modified: freeswitch/branches/1.0/conf/autoload_configs/easyroute.conf.xml ============================================================================== --- freeswitch/branches/1.0/conf/autoload_configs/easyroute.conf.xml (original) +++ freeswitch/branches/1.0/conf/autoload_configs/easyroute.conf.xml Thu Jan 22 11:35:15 2009 @@ -10,5 +10,16 @@ + + + From mikej at freeswitch.org Thu Jan 22 09:45:23 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Thu, 22 Jan 2009 11:45:23 -0600 Subject: [Freeswitch-branches] [commit] r11359 - freeswitch/branches/1.0/src/mod/event_handlers/mod_event_socket Message-ID: Author: mikej Date: Thu Jan 22 11:45:22 2009 New Revision: 11359 Log: mod_event_socket: add ability to use a comma sep list of events on event-sink create-listener (r:11056) Modified: freeswitch/branches/1.0/src/mod/event_handlers/mod_event_socket/mod_event_socket.c Modified: freeswitch/branches/1.0/src/mod/event_handlers/mod_event_socket/mod_event_socket.c ============================================================================== --- freeswitch/branches/1.0/src/mod/event_handlers/mod_event_socket/mod_event_socket.c (original) +++ freeswitch/branches/1.0/src/mod/event_handlers/mod_event_socket/mod_event_socket.c Thu Jan 22 11:45:22 2009 @@ -719,6 +719,7 @@ listener->last_flush = switch_timestamp(NULL); if (events) { + char delim = ','; if (switch_stristr("xml", format)) { listener->format = EVENT_FORMAT_XML; @@ -727,11 +728,15 @@ } edup = strdup(events); - + + if (strchr(edup, ' ')) { + delim = ' '; + } + for (cur = edup; cur; count++) { switch_event_types_t type; - if ((next = strchr(cur, ' '))) { + if ((next = strchr(cur, delim))) { *next++ = '\0'; } From mikej at freeswitch.org Thu Jan 22 09:47:57 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Thu, 22 Jan 2009 11:47:57 -0600 Subject: [Freeswitch-branches] [commit] r11360 - freeswitch/branches/1.0/libs/esl Message-ID: Author: mikej Date: Thu Jan 22 11:47:57 2009 New Revision: 11360 Log: fs_cli: add "debug" command to change the esl debug level at runtime (r:11057) Modified: freeswitch/branches/1.0/libs/esl/fs_cli.c Modified: freeswitch/branches/1.0/libs/esl/fs_cli.c ============================================================================== --- freeswitch/branches/1.0/libs/esl/fs_cli.c (original) +++ freeswitch/branches/1.0/libs/esl/fs_cli.c Thu Jan 22 11:47:57 2009 @@ -285,6 +285,17 @@ goto end; } + + if (!strncasecmp(cmd, "debug", 5)){ + int tmp_debug = atoi(cmd+6); + if (tmp_debug > -1 && tmp_debug < 8){ + esl_global_set_default_logger(tmp_debug); + printf("fs_cli debug level set to %d\n", tmp_debug); + } else { + printf("fs_cli debug level must be 0 - 7\n"); + } + goto end; + } printf("Unknown command [%s]\n", cmd); } else { From mikej at freeswitch.org Thu Jan 22 10:15:21 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Thu, 22 Jan 2009 12:15:21 -0600 Subject: [Freeswitch-branches] [commit] r11362 - freeswitch/branches/1.0/docs Message-ID: Author: mikej Date: Thu Jan 22 12:15:21 2009 New Revision: 11362 Log: bump version number (r:11058,11361) Modified: freeswitch/branches/1.0/docs/Doxygen.conf Modified: freeswitch/branches/1.0/docs/Doxygen.conf ============================================================================== --- freeswitch/branches/1.0/docs/Doxygen.conf (original) +++ freeswitch/branches/1.0/docs/Doxygen.conf Thu Jan 22 12:15:21 2009 @@ -4,7 +4,7 @@ # Project related configuration options #--------------------------------------------------------------------------- PROJECT_NAME = FreeSWITCH -PROJECT_NUMBER = 1.0.1 +PROJECT_NUMBER = 1.0.3 OUTPUT_DIRECTORY = . CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English From mikej at freeswitch.org Thu Jan 22 10:17:41 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Thu, 22 Jan 2009 12:17:41 -0600 Subject: [Freeswitch-branches] [commit] r11363 - freeswitch/branches/1.0/src/mod/endpoints/mod_sofia Message-ID: Author: mikej Date: Thu Jan 22 12:17:41 2009 New Revision: 11363 Log: mod_sofia: improve outbound registration error message (r:11059) Modified: freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/sofia_reg.c Modified: freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/sofia_reg.c ============================================================================== --- freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/sofia_reg.c (original) +++ freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/sofia_reg.c Thu Jan 22 12:17:41 2009 @@ -1252,8 +1252,8 @@ break; default: sofia_private->gateway->state = REG_STATE_FAILED; - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "%s Registration Failed with status %d. failure #%d\n", - sofia_private->gateway->name, status, ++sofia_private->gateway->failures); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "%s Registration Failed with status %s [%d]. failure #%d\n", + sofia_private->gateway->name, switch_str_nil(phrase), status, ++sofia_private->gateway->failures); break; } if (ostate != sofia_private->gateway->state) { From mikej at freeswitch.org Thu Jan 22 10:30:12 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Thu, 22 Jan 2009 12:30:12 -0600 Subject: [Freeswitch-branches] [commit] r11365 - freeswitch/branches/1.0/src/mod/event_handlers/mod_event_socket Message-ID: Author: mikej Date: Thu Jan 22 12:30:12 2009 New Revision: 11365 Log: mod_event_socket: add debug logging to event-sink (r:11060) Modified: freeswitch/branches/1.0/src/mod/event_handlers/mod_event_socket/mod_event_socket.c Modified: freeswitch/branches/1.0/src/mod/event_handlers/mod_event_socket/mod_event_socket.c ============================================================================== --- freeswitch/branches/1.0/src/mod/event_handlers/mod_event_socket/mod_event_socket.c (original) +++ freeswitch/branches/1.0/src/mod/event_handlers/mod_event_socket/mod_event_socket.c Thu Jan 22 12:30:12 2009 @@ -778,6 +778,7 @@ stream->write_function(stream, " Listener %u Created\n", listener->id); xmlize_listener(listener, stream); stream->write_function(stream, "\n"); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Creating event-sink listener [%u]\n", listener->id); goto end; } else if (!strcasecmp(wcmd, "destroy-listener")) { @@ -789,6 +790,7 @@ } if ((listener = find_listener(idl))) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Destroying event-sink listener [%u]\n", idl); remove_listener(listener); stream->write_function(stream, "\n listener %u destroyed\n", listener->id); xmlize_listener(listener, stream); @@ -796,6 +798,7 @@ expire_listener(&listener); goto end; } else { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Request to destroy unknown event-sink listener [%u]\n", idl); stream->write_function(stream, "Can't find listener\n"); goto end; } From mikej at freeswitch.org Thu Jan 22 11:30:47 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Thu, 22 Jan 2009 13:30:47 -0600 Subject: [Freeswitch-branches] [commit] r11375 - freeswitch/branches/1.0/src Message-ID: Author: mikej Date: Thu Jan 22 13:30:46 2009 New Revision: 11375 Log: core: fix c leg no hangup when converting attended to blind transfer before b leg answers (MODENDP-165/r:11061) Modified: freeswitch/branches/1.0/src/switch_ivr_bridge.c freeswitch/branches/1.0/src/switch_ivr_originate.c Modified: freeswitch/branches/1.0/src/switch_ivr_bridge.c ============================================================================== --- freeswitch/branches/1.0/src/switch_ivr_bridge.c (original) +++ freeswitch/branches/1.0/src/switch_ivr_bridge.c Thu Jan 22 13:30:46 2009 @@ -829,8 +829,8 @@ switch_channel_set_variable(peer_channel, SWITCH_BRIDGE_VARIABLE, switch_core_session_get_uuid(session)); if (!switch_channel_media_ready(caller_channel) || - !(switch_channel_test_flag(peer_channel, CF_ANSWERED) || switch_channel_test_flag(peer_channel, CF_EARLY_MEDIA))) { - if ((status = switch_ivr_wait_for_answer(session, peer_session)) != SWITCH_STATUS_SUCCESS) { + (!switch_channel_test_flag(peer_channel, CF_ANSWERED) && !switch_channel_test_flag(peer_channel, CF_EARLY_MEDIA))) { + if ((status = switch_ivr_wait_for_answer(session, peer_session)) != SWITCH_STATUS_SUCCESS || !switch_channel_ready(caller_channel)) { switch_channel_state_t w_state = switch_channel_get_state(caller_channel); switch_channel_hangup(peer_channel, SWITCH_CAUSE_ALLOTTED_TIMEOUT); if (w_state < CS_HANGUP && w_state != CS_ROUTING && w_state != CS_PARK && @@ -850,6 +850,7 @@ switch_core_session_rwunlock(peer_session); goto done; } + if (switch_channel_test_flag(peer_channel, CF_ANSWERED) && !switch_channel_test_flag(caller_channel, CF_ANSWERED)) { switch_channel_answer(caller_channel); } Modified: freeswitch/branches/1.0/src/switch_ivr_originate.c ============================================================================== --- freeswitch/branches/1.0/src/switch_ivr_originate.c (original) +++ freeswitch/branches/1.0/src/switch_ivr_originate.c Thu Jan 22 13:30:46 2009 @@ -330,7 +330,7 @@ } if ((switch_channel_test_flag(peer_channel, CF_ANSWERED) || switch_channel_test_flag(peer_channel, CF_EARLY_MEDIA))) { - return SWITCH_STATUS_SUCCESS; + goto end; } switch_zmalloc(write_frame.data, SWITCH_RECOMMENDED_BUFFER_SIZE); @@ -551,7 +551,9 @@ switch_safe_free(write_frame.data); - return status; + end: + + return (!caller_channel || switch_channel_ready(caller_channel)) ? status : SWITCH_STATUS_FALSE; } static void process_import(switch_core_session_t *session, switch_channel_t *peer_channel) From mikej at freeswitch.org Thu Jan 22 11:37:56 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Thu, 22 Jan 2009 13:37:56 -0600 Subject: [Freeswitch-branches] [commit] r11378 - freeswitch/branches/1.0/src/mod/applications/mod_conference Message-ID: Author: mikej Date: Thu Jan 22 13:37:56 2009 New Revision: 11378 Log: mod_conference: add 'conference xml_list' and 'conference [conf_name] xml_list' (r:11062-11063) Modified: freeswitch/branches/1.0/src/mod/applications/mod_conference/mod_conference.c Modified: freeswitch/branches/1.0/src/mod/applications/mod_conference/mod_conference.c ============================================================================== --- freeswitch/branches/1.0/src/mod/applications/mod_conference/mod_conference.c (original) +++ freeswitch/branches/1.0/src/mod/applications/mod_conference/mod_conference.c Thu Jan 22 13:37:56 2009 @@ -3038,6 +3038,140 @@ return ret_status; } + +static void add_x_tag(switch_xml_t x_member, const char *name, const char *value, int off) +{ + switch_size_t dlen = strlen(value) * 3; + char *data; + switch_xml_t x_tag; + + x_tag = switch_xml_add_child_d(x_member, name, off); + switch_assert(x_tag); + + switch_zmalloc(data, dlen); + + switch_url_encode(value, data, dlen); + switch_xml_set_txt_d(x_tag, data); + free(data); +} + +static void conference_xlist(conference_obj_t *conference, switch_xml_t x_conference, int off) +{ + conference_member_t *member = NULL; + switch_xml_t x_member = NULL, x_members = NULL, x_flags; + int moff = 0; + char i[30] = ""; + char *ival = i; + switch_assert(conference != NULL); + switch_assert(x_conference != NULL); + + switch_xml_set_attr_d(x_conference, "name", conference->name); + switch_snprintf(i, sizeof(i), "%d", conference->count); + switch_xml_set_attr_d(x_conference, "member-count", ival); + + if (switch_test_flag(conference, CFLAG_LOCKED)) { + switch_xml_set_attr_d(x_conference, "locked", "true"); + } + + x_members = switch_xml_add_child_d(x_conference, "members", 0); + switch_assert(x_members); + + switch_mutex_lock(conference->member_mutex); + + for (member = conference->members; member; member = member->next) { + switch_channel_t *channel; + switch_caller_profile_t *profile; + char *uuid; + char *name; + uint32_t count = 0; + switch_xml_t x_tag; + int toff = 0; + + if (switch_test_flag(member, MFLAG_NOCHANNEL)) { + continue; + } + + uuid = switch_core_session_get_uuid(member->session); + channel = switch_core_session_get_channel(member->session); + profile = switch_channel_get_caller_profile(channel); + name = switch_channel_get_name(channel); + + + x_member = switch_xml_add_child_d(x_members, "member", moff++); + switch_assert(x_member); + + switch_snprintf(i, sizeof(i), "%d", member->id); + + add_x_tag(x_member, "id", i, toff++); + add_x_tag(x_member, "uuid", uuid, toff++); + add_x_tag(x_member, "caller_id_name", profile->caller_id_name, toff++); + add_x_tag(x_member, "caller_id_number", profile->caller_id_number, toff++); + + + x_flags = switch_xml_add_child_d(x_member, "flags", count++); + switch_assert(x_flags); + + x_tag = switch_xml_add_child_d(x_flags, "can_hear", count++); + switch_xml_set_txt_d(x_tag, switch_test_flag(member, MFLAG_CAN_HEAR) ? "true" : "false"); + + x_tag = switch_xml_add_child_d(x_flags, "can_speak", count++); + switch_xml_set_txt_d(x_tag, switch_test_flag(member, MFLAG_CAN_SPEAK) ? "true" : "false"); + + x_tag = switch_xml_add_child_d(x_flags, "talking", count++); + switch_xml_set_txt_d(x_tag, switch_test_flag(member, MFLAG_TALKING) ? "true" : "false"); + + x_tag = switch_xml_add_child_d(x_flags, "has_video", count++); + switch_xml_set_txt_d(x_tag, switch_channel_test_flag(switch_core_session_get_channel(member->session), CF_VIDEO) ? "true" : "false"); + + x_tag = switch_xml_add_child_d(x_flags, "has_floor", count++); + switch_xml_set_txt_d(x_tag, (member == member->conference->floor_holder) ? "true" : "false"); + + } + + switch_mutex_unlock(conference->member_mutex); +} +static switch_status_t conf_api_sub_xml_list(conference_obj_t *conference, switch_stream_handle_t *stream, int argc, char **argv) +{ + int count = 0; + switch_hash_index_t *hi; + void *val; + switch_xml_t x_conference, x_conferences; + int off = 0; + char *ebuf; + + x_conferences = switch_xml_new("conferences"); + switch_assert(x_conferences); + + if (conference == NULL) { + for (hi = switch_hash_first(NULL, globals.conference_hash); hi; hi = switch_hash_next(hi)) { + switch_hash_this(hi, NULL, NULL, &val); + conference = (conference_obj_t *) val; + + x_conference = switch_xml_add_child_d(x_conferences, "conference", off++); + switch_assert(conference); + + count++; + conference_xlist(conference, x_conference, off); + + } + } else { + x_conference = switch_xml_add_child_d(x_conferences, "conference", off++); + switch_assert(conference); + count++; + conference_xlist(conference, x_conference, off); + } + + + ebuf = switch_xml_toxml(x_conferences, SWITCH_TRUE); + + stream->write_function(stream, "%s", ebuf); + + switch_xml_free(x_conferences); + free(ebuf); + + return SWITCH_STATUS_SUCCESS; +} + static switch_status_t conf_api_sub_play(conference_obj_t *conference, switch_stream_handle_t *stream, int argc, char **argv) { int ret_status = SWITCH_STATUS_GENERR; @@ -3578,6 +3712,7 @@ /* Entries in this list should be kept in sync with the enum above */ static api_command_t conf_api_sub_commands[] = { {"list", (void_fn_t) &conf_api_sub_list, CONF_API_SUB_ARGS_SPLIT, " list [delim ]"}, + {"xml_list", (void_fn_t) &conf_api_sub_xml_list, CONF_API_SUB_ARGS_SPLIT, " xml_list"}, {"energy", (void_fn_t) &conf_api_sub_energy, CONF_API_SUB_MEMBER_TARGET, " energy []"}, {"volume_in", (void_fn_t) &conf_api_sub_volume_in, CONF_API_SUB_MEMBER_TARGET, @@ -3778,6 +3913,8 @@ /* special case the list command, because it doesn't require a conference argument */ if (strcasecmp(argv[0], "list") == 0) { conf_api_sub_list(NULL, stream, argc, argv); + } else if (strcasecmp(argv[0], "xml_list") == 0) { + conf_api_sub_xml_list(NULL, stream, argc, argv); } else if (strcasecmp(argv[0], "help") == 0 || strcasecmp(argv[0], "commands") == 0) { stream->write_function(stream, "%s\n", api_syntax); } else if (argv[1] && strcasecmp(argv[1], "dial") == 0) { From mikej at freeswitch.org Thu Jan 22 11:41:34 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Thu, 22 Jan 2009 13:41:34 -0600 Subject: [Freeswitch-branches] [commit] r11380 - freeswitch/branches/1.0/src/mod/xml_int/mod_xml_rpc Message-ID: Author: mikej Date: Thu Jan 22 13:41:34 2009 New Revision: 11380 Log: mod_xml_rpc: fixed authentication using @domain syntax (r:11064) Modified: freeswitch/branches/1.0/src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.c Modified: freeswitch/branches/1.0/src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.c ============================================================================== --- freeswitch/branches/1.0/src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.c (original) +++ freeswitch/branches/1.0/src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.c Thu Jan 22 13:41:34 2009 @@ -178,6 +178,7 @@ if ((dp = strchr(user, '@'))) { *dp++ = '\0'; domain_name = dp; + at++; } if (!domain_name) { From mikej at freeswitch.org Thu Jan 22 11:45:58 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Thu, 22 Jan 2009 13:45:58 -0600 Subject: [Freeswitch-branches] [commit] r11382 - freeswitch/branches/1.0/src/mod/applications/mod_easyroute Message-ID: Author: mikej Date: Thu Jan 22 13:45:58 2009 New Revision: 11382 Log: Modified: freeswitch/branches/1.0/src/mod/applications/mod_easyroute/mod_easyroute.c Modified: freeswitch/branches/1.0/src/mod/applications/mod_easyroute/mod_easyroute.c ============================================================================== --- freeswitch/branches/1.0/src/mod/applications/mod_easyroute/mod_easyroute.c (original) +++ freeswitch/branches/1.0/src/mod/applications/mod_easyroute/mod_easyroute.c Thu Jan 22 13:45:58 2009 @@ -32,7 +32,7 @@ * Take Incoming DIDs and Lookup where to send them as well as retrieve * the number of channels they are allowed you use * - * Big Thanks to CP, for funding this work. + * Big Thanks to CP and Joseph Watson (Powercode Systems, LLC) for funding this work. * */ From mikej at freeswitch.org Thu Jan 22 11:58:12 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Thu, 22 Jan 2009 13:58:12 -0600 Subject: [Freeswitch-branches] [commit] r11387 - in freeswitch/branches/1.0/libs/esl/src: . include Message-ID: Author: mikej Date: Thu Jan 22 13:58:12 2009 New Revision: 11387 Log: libesl: fix solaris build (r:11067,11068) Modified: freeswitch/branches/1.0/libs/esl/src/esl_event.c freeswitch/branches/1.0/libs/esl/src/include/esl.h Modified: freeswitch/branches/1.0/libs/esl/src/esl_event.c ============================================================================== --- freeswitch/branches/1.0/libs/esl/src/esl_event.c (original) +++ freeswitch/branches/1.0/libs/esl/src/esl_event.c Thu Jan 22 13:58:12 2009 @@ -315,7 +315,7 @@ static int esl_vasprintf(char **ret, const char *fmt, va_list ap) { -#ifndef WIN32 +#if !defined(WIN32) && !defined(__sun) return vasprintf(ret, fmt, ap); #else char *buf; Modified: freeswitch/branches/1.0/libs/esl/src/include/esl.h ============================================================================== --- freeswitch/branches/1.0/libs/esl/src/include/esl.h (original) +++ freeswitch/branches/1.0/libs/esl/src/include/esl.h Thu Jan 22 13:58:12 2009 @@ -1,329 +1,329 @@ -/* - * Copyright (c) 2007, Anthony Minessale II - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * * Neither the name of the original author; nor the names of any contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER - * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef _ESL_H_ -#define _ESL_H_ - -#include - -#define esl_copy_string(_x, _y, _z) strncpy(_x, _y, _z - 1) -#define esl_set_string(_x, _y) esl_copy_string(_x, _y, sizeof(_x)) - -typedef struct esl_event_header esl_event_header_t; -typedef struct esl_event esl_event_t; - -#ifdef WIN32 -#define ESL_SEQ_FWHITE FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_INTENSITY -#define ESL_SEQ_FRED FOREGROUND_RED | FOREGROUND_INTENSITY -#define ESL_SEQ_FMAGEN FOREGROUND_BLUE | FOREGROUND_RED -#define ESL_SEQ_FCYAN FOREGROUND_GREEN | FOREGROUND_BLUE -#define ESL_SEQ_FGREEN FOREGROUND_GREEN -#define ESL_SEQ_FYELLOW FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY -#define ESL_SEQ_DEFAULT_COLOR ESL_SEQ_FWHITE -#else -#define ESL_SEQ_ESC "\033[" -/* Ansi Control character suffixes */ -#define ESL_SEQ_HOME_CHAR 'H' -#define ESL_SEQ_HOME_CHAR_STR "H" -#define ESL_SEQ_CLEARLINE_CHAR '1' -#define ESL_SEQ_CLEARLINE_CHAR_STR "1" -#define ESL_SEQ_CLEARLINEEND_CHAR "K" -#define ESL_SEQ_CLEARSCR_CHAR0 '2' -#define ESL_SEQ_CLEARSCR_CHAR1 'J' -#define ESL_SEQ_CLEARSCR_CHAR "2J" -#define ESL_SEQ_DEFAULT_COLOR ESL_SEQ_ESC ESL_SEQ_END_COLOR /* Reset to Default fg/bg color */ -#define ESL_SEQ_AND_COLOR ";" /* To add multiple color definitions */ -#define ESL_SEQ_END_COLOR "m" /* To end color definitions */ -/* Foreground colors values */ -#define ESL_SEQ_F_BLACK "30" -#define ESL_SEQ_F_RED "31" -#define ESL_SEQ_F_GREEN "32" -#define ESL_SEQ_F_YELLOW "33" -#define ESL_SEQ_F_BLUE "34" -#define ESL_SEQ_F_MAGEN "35" -#define ESL_SEQ_F_CYAN "36" -#define ESL_SEQ_F_WHITE "37" -/* Background colors values */ -#define ESL_SEQ_B_BLACK "40" -#define ESL_SEQ_B_RED "41" -#define ESL_SEQ_B_GREEN "42" -#define ESL_SEQ_B_YELLOW "43" -#define ESL_SEQ_B_BLUE "44" -#define ESL_SEQ_B_MAGEN "45" -#define ESL_SEQ_B_CYAN "46" -#define ESL_SEQ_B_WHITE "47" -/* Preset escape sequences - Change foreground colors only */ -#define ESL_SEQ_FBLACK ESL_SEQ_ESC ESL_SEQ_F_BLACK ESL_SEQ_END_COLOR -#define ESL_SEQ_FRED ESL_SEQ_ESC ESL_SEQ_F_RED ESL_SEQ_END_COLOR -#define ESL_SEQ_FGREEN ESL_SEQ_ESC ESL_SEQ_F_GREEN ESL_SEQ_END_COLOR -#define ESL_SEQ_FYELLOW ESL_SEQ_ESC ESL_SEQ_F_YELLOW ESL_SEQ_END_COLOR -#define ESL_SEQ_FBLUE ESL_SEQ_ESC ESL_SEQ_F_BLUE ESL_SEQ_END_COLOR -#define ESL_SEQ_FMAGEN ESL_SEQ_ESC ESL_SEQ_F_MAGEN ESL_SEQ_END_COLOR -#define ESL_SEQ_FCYAN ESL_SEQ_ESC ESL_SEQ_F_CYAN ESL_SEQ_END_COLOR -#define ESL_SEQ_FWHITE ESL_SEQ_ESC ESL_SEQ_F_WHITE ESL_SEQ_END_COLOR -#define ESL_SEQ_BBLACK ESL_SEQ_ESC ESL_SEQ_B_BLACK ESL_SEQ_END_COLOR -#define ESL_SEQ_BRED ESL_SEQ_ESC ESL_SEQ_B_RED ESL_SEQ_END_COLOR -#define ESL_SEQ_BGREEN ESL_SEQ_ESC ESL_SEQ_B_GREEN ESL_SEQ_END_COLOR -#define ESL_SEQ_BYELLOW ESL_SEQ_ESC ESL_SEQ_B_YELLOW ESL_SEQ_END_COLOR -#define ESL_SEQ_BBLUE ESL_SEQ_ESC ESL_SEQ_B_BLUE ESL_SEQ_END_COLOR -#define ESL_SEQ_BMAGEN ESL_SEQ_ESC ESL_SEQ_B_MAGEN ESL_SEQ_END_COLOR -#define ESL_SEQ_BCYAN ESL_SEQ_ESC ESL_SEQ_B_CYAN ESL_SEQ_END_COLOR -#define ESL_SEQ_BWHITE ESL_SEQ_ESC ESL_SEQ_B_WHITE ESL_SEQ_END_COLOR -/* Preset escape sequences */ -#define ESL_SEQ_HOME ESL_SEQ_ESC ESL_SEQ_HOME_CHAR_STR -#define ESL_SEQ_CLEARLINE ESL_SEQ_ESC ESL_SEQ_CLEARLINE_CHAR_STR -#define ESL_SEQ_CLEARLINEEND ESL_SEQ_ESC ESL_SEQ_CLEARLINEEND_CHAR -#define ESL_SEQ_CLEARSCR ESL_SEQ_ESC ESL_SEQ_CLEARSCR_CHAR ESL_SEQ_HOME -#endif - -#if !defined(_XOPEN_SOURCE) && !defined(__FreeBSD__) && !defined(__NetBSD__) -#define _XOPEN_SOURCE 600 -#endif - -#ifndef HAVE_STRINGS_H -#define HAVE_STRINGS_H 1 -#endif -#ifndef HAVE_SYS_SOCKET_H -#define HAVE_SYS_SOCKET_H 1 -#endif - -#ifndef __WINDOWS__ -#if defined(WIN32) || defined(WIN64) || defined(_MSC_VER) || defined(_WIN32) -#define __WINDOWS__ -#endif -#endif - -#ifdef _MSC_VER -#ifndef __inline__ -#define __inline__ __inline -#endif -#if (_MSC_VER >= 1400) /* VC8+ */ -#ifndef _CRT_SECURE_NO_DEPRECATE -#define _CRT_SECURE_NO_DEPRECATE -#endif -#ifndef _CRT_NONSTDC_NO_DEPRECATE -#define _CRT_NONSTDC_NO_DEPRECATE -#endif -#endif -#ifndef strcasecmp -#define strcasecmp(s1, s2) _stricmp(s1, s2) -#endif -#ifndef strncasecmp -#define strncasecmp(s1, s2, n) _strnicmp(s1, s2, n) -#endif -#ifndef snprintf -#define snprintf _snprintf -#endif -#ifndef S_IRUSR -#define S_IRUSR _S_IREAD -#endif -#ifndef S_IWUSR -#define S_IWUSR _S_IWRITE -#endif -#undef HAVE_STRINGS_H -#undef HAVE_SYS_SOCKET_H -#endif - -#include -#ifndef WIN32 -#include -#endif - -#include -#include -#include -#include -#ifndef WIN32 -#include -#include -#include -#endif - -#ifdef HAVE_STRINGS_H -#include -#endif -#include - -#if (_MSC_VER >= 1400) // VC8+ -#define esl_assert(expr) assert(expr);__analysis_assume( expr ) -#endif - -#ifndef esl_assert -#define esl_assert(_x) assert(_x) -#endif - -#define esl_safe_free(_x) if (_x) free(_x); _x = NULL -#define esl_strlen_zero(s) (!s || *(s) == '\0') -#define esl_strlen_zero_buf(s) (*(s) == '\0') - -#ifdef WIN32 -#include -#include -typedef SOCKET esl_socket_t; -typedef unsigned __int64 uint64_t; -typedef unsigned __int32 uint32_t; -typedef unsigned __int16 uint16_t; -typedef unsigned __int8 uint8_t; -typedef __int64 int64_t; -typedef __int32 int32_t; -typedef __int16 int16_t; -typedef __int8 int8_t; -typedef intptr_t esl_ssize_t; -typedef int esl_filehandle_t; -#define ESL_SOCK_INVALID INVALID_SOCKET -#define strerror_r(num, buf, size) strerror_s(buf, size, num) -#if defined(ESL_DECLARE_STATIC) -#define ESL_DECLARE(type) type __stdcall -#define ESL_DECLARE_NONSTD(type) type __cdecl -#define ESL_DECLARE_DATA -#elif defined(ESL_EXPORTS) -#define ESL_DECLARE(type) __declspec(dllexport) type __stdcall -#define ESL_DECLARE_NONSTD(type) __declspec(dllexport) type __cdecl -#define ESL_DECLARE_DATA __declspec(dllexport) -#else -#define ESL_DECLARE(type) __declspec(dllimport) type __stdcall -#define ESL_DECLARE_NONSTD(type) __declspec(dllimport) type __cdecl -#define ESL_DECLARE_DATA __declspec(dllimport) -#endif -#else -#define ESL_DECLARE(type) type -#define ESL_DECLARE_NONSTD(type) type -#define ESL_DECLARE_DATA -#include -#include -#include -#include -#include -#include -#include -#define ESL_SOCK_INVALID -1 -typedef int esl_socket_t; -typedef ssize_t esl_ssize_t; -typedef int esl_filehandle_t; -#endif - -typedef int16_t esl_port_t; - -typedef enum { - ESL_SUCCESS, - ESL_FAIL, - ESL_BREAK -} esl_status_t; - -#include - -typedef struct { - struct sockaddr_in sockaddr; - struct hostent hostent; - char hostbuf[256]; - esl_socket_t sock; - char err[256]; - int errnum; - char header_buf[4196]; - char last_reply[1024]; - char last_sr_reply[1024]; - esl_event_t *last_event; - esl_event_t *last_sr_event; - esl_event_t *last_ievent; - esl_event_t *info_event; - int connected; - struct sockaddr_in addr; - esl_mutex_t *mutex; -} esl_handle_t; - -typedef enum { - ESL_TRUE = 1, - ESL_FALSE = 0 -} esl_bool_t; - -#ifndef __FUNCTION__ -#define __FUNCTION__ (const char *)__func__ -#endif - -#define ESL_PRE __FILE__, __FUNCTION__, __LINE__ -#define ESL_LOG_LEVEL_DEBUG 7 -#define ESL_LOG_LEVEL_INFO 6 -#define ESL_LOG_LEVEL_NOTICE 5 -#define ESL_LOG_LEVEL_WARNING 4 -#define ESL_LOG_LEVEL_ERROR 3 -#define ESL_LOG_LEVEL_CRIT 2 -#define ESL_LOG_LEVEL_ALERT 1 -#define ESL_LOG_LEVEL_EMERG 0 - -#define ESL_LOG_DEBUG ESL_PRE, ESL_LOG_LEVEL_DEBUG -#define ESL_LOG_INFO ESL_PRE, ESL_LOG_LEVEL_INFO -#define ESL_LOG_NOTICE ESL_PRE, ESL_LOG_LEVEL_NOTICE -#define ESL_LOG_WARNING ESL_PRE, ESL_LOG_LEVEL_WARNING -#define ESL_LOG_ERROR ESL_PRE, ESL_LOG_LEVEL_ERROR -#define ESL_LOG_CRIT ESL_PRE, ESL_LOG_LEVEL_CRIT -#define ESL_LOG_ALERT ESL_PRE, ESL_LOG_LEVEL_ALERT -#define ESL_LOG_EMERG ESL_PRE, ESL_LOG_LEVEL_EMERG -typedef void (*esl_logger_t)(const char *file, const char *func, int line, int level, const char *fmt, ...); - -ESL_DECLARE_DATA extern esl_logger_t esl_log; - -ESL_DECLARE(void) esl_global_set_logger(esl_logger_t logger); -ESL_DECLARE(void) esl_global_set_default_logger(int level); - -#include "esl_event.h" -#include "esl_threadmutex.h" -#include "esl_config.h" - -ESL_DECLARE(size_t) esl_url_encode(const char *url, char *buf, size_t len); -ESL_DECLARE(char *)esl_url_decode(char *s); -ESL_DECLARE(const char *)esl_stristr(const char *instr, const char *str); -ESL_DECLARE(int) esl_toupper(int c); -ESL_DECLARE(int) esl_tolower(int c); -ESL_DECLARE(int) esl_snprintf(char *buffer, size_t count, const char *fmt, ...); - - -typedef void (*esl_listen_callback_t)(esl_socket_t server_sock, esl_socket_t client_sock, struct sockaddr_in addr); - -ESL_DECLARE(esl_status_t) esl_attach_handle(esl_handle_t *handle, esl_socket_t socket, struct sockaddr_in addr); -ESL_DECLARE(esl_status_t) esl_listen(const char *host, esl_port_t port, esl_listen_callback_t callback); -ESL_DECLARE(esl_status_t) esl_execute(esl_handle_t *handle, const char *app, const char *arg, const char *uuid); -ESL_DECLARE(esl_status_t) esl_sendevent(esl_handle_t *handle, esl_event_t *event); - -ESL_DECLARE(esl_status_t) esl_connect(esl_handle_t *handle, const char *host, esl_port_t port, const char *password); -ESL_DECLARE(esl_status_t) esl_disconnect(esl_handle_t *handle); -ESL_DECLARE(esl_status_t) esl_send(esl_handle_t *handle, const char *cmd); -ESL_DECLARE(esl_status_t) esl_recv_event(esl_handle_t *handle, esl_event_t **save_event); -ESL_DECLARE(esl_status_t) esl_recv_event_timed(esl_handle_t *handle, uint32_t ms, esl_event_t **save_event); -ESL_DECLARE(esl_status_t) esl_send_recv(esl_handle_t *handle, const char *cmd); -#define esl_recv(_h) esl_recv_event(_h, NULL) -#define esl_recv_timed(_h, _ms) esl_recv_event_timed(_h, _ms, NULL) - -#endif - - - +/* + * Copyright (c) 2007, Anthony Minessale II + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * * Neither the name of the original author; nor the names of any contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef _ESL_H_ +#define _ESL_H_ + +#include + +#define esl_copy_string(_x, _y, _z) strncpy(_x, _y, _z - 1) +#define esl_set_string(_x, _y) esl_copy_string(_x, _y, sizeof(_x)) + +typedef struct esl_event_header esl_event_header_t; +typedef struct esl_event esl_event_t; + +#ifdef WIN32 +#define ESL_SEQ_FWHITE FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_INTENSITY +#define ESL_SEQ_FRED FOREGROUND_RED | FOREGROUND_INTENSITY +#define ESL_SEQ_FMAGEN FOREGROUND_BLUE | FOREGROUND_RED +#define ESL_SEQ_FCYAN FOREGROUND_GREEN | FOREGROUND_BLUE +#define ESL_SEQ_FGREEN FOREGROUND_GREEN +#define ESL_SEQ_FYELLOW FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY +#define ESL_SEQ_DEFAULT_COLOR ESL_SEQ_FWHITE +#else +#define ESL_SEQ_ESC "\033[" +/* Ansi Control character suffixes */ +#define ESL_SEQ_HOME_CHAR 'H' +#define ESL_SEQ_HOME_CHAR_STR "H" +#define ESL_SEQ_CLEARLINE_CHAR '1' +#define ESL_SEQ_CLEARLINE_CHAR_STR "1" +#define ESL_SEQ_CLEARLINEEND_CHAR "K" +#define ESL_SEQ_CLEARSCR_CHAR0 '2' +#define ESL_SEQ_CLEARSCR_CHAR1 'J' +#define ESL_SEQ_CLEARSCR_CHAR "2J" +#define ESL_SEQ_DEFAULT_COLOR ESL_SEQ_ESC ESL_SEQ_END_COLOR /* Reset to Default fg/bg color */ +#define ESL_SEQ_AND_COLOR ";" /* To add multiple color definitions */ +#define ESL_SEQ_END_COLOR "m" /* To end color definitions */ +/* Foreground colors values */ +#define ESL_SEQ_F_BLACK "30" +#define ESL_SEQ_F_RED "31" +#define ESL_SEQ_F_GREEN "32" +#define ESL_SEQ_F_YELLOW "33" +#define ESL_SEQ_F_BLUE "34" +#define ESL_SEQ_F_MAGEN "35" +#define ESL_SEQ_F_CYAN "36" +#define ESL_SEQ_F_WHITE "37" +/* Background colors values */ +#define ESL_SEQ_B_BLACK "40" +#define ESL_SEQ_B_RED "41" +#define ESL_SEQ_B_GREEN "42" +#define ESL_SEQ_B_YELLOW "43" +#define ESL_SEQ_B_BLUE "44" +#define ESL_SEQ_B_MAGEN "45" +#define ESL_SEQ_B_CYAN "46" +#define ESL_SEQ_B_WHITE "47" +/* Preset escape sequences - Change foreground colors only */ +#define ESL_SEQ_FBLACK ESL_SEQ_ESC ESL_SEQ_F_BLACK ESL_SEQ_END_COLOR +#define ESL_SEQ_FRED ESL_SEQ_ESC ESL_SEQ_F_RED ESL_SEQ_END_COLOR +#define ESL_SEQ_FGREEN ESL_SEQ_ESC ESL_SEQ_F_GREEN ESL_SEQ_END_COLOR +#define ESL_SEQ_FYELLOW ESL_SEQ_ESC ESL_SEQ_F_YELLOW ESL_SEQ_END_COLOR +#define ESL_SEQ_FBLUE ESL_SEQ_ESC ESL_SEQ_F_BLUE ESL_SEQ_END_COLOR +#define ESL_SEQ_FMAGEN ESL_SEQ_ESC ESL_SEQ_F_MAGEN ESL_SEQ_END_COLOR +#define ESL_SEQ_FCYAN ESL_SEQ_ESC ESL_SEQ_F_CYAN ESL_SEQ_END_COLOR +#define ESL_SEQ_FWHITE ESL_SEQ_ESC ESL_SEQ_F_WHITE ESL_SEQ_END_COLOR +#define ESL_SEQ_BBLACK ESL_SEQ_ESC ESL_SEQ_B_BLACK ESL_SEQ_END_COLOR +#define ESL_SEQ_BRED ESL_SEQ_ESC ESL_SEQ_B_RED ESL_SEQ_END_COLOR +#define ESL_SEQ_BGREEN ESL_SEQ_ESC ESL_SEQ_B_GREEN ESL_SEQ_END_COLOR +#define ESL_SEQ_BYELLOW ESL_SEQ_ESC ESL_SEQ_B_YELLOW ESL_SEQ_END_COLOR +#define ESL_SEQ_BBLUE ESL_SEQ_ESC ESL_SEQ_B_BLUE ESL_SEQ_END_COLOR +#define ESL_SEQ_BMAGEN ESL_SEQ_ESC ESL_SEQ_B_MAGEN ESL_SEQ_END_COLOR +#define ESL_SEQ_BCYAN ESL_SEQ_ESC ESL_SEQ_B_CYAN ESL_SEQ_END_COLOR +#define ESL_SEQ_BWHITE ESL_SEQ_ESC ESL_SEQ_B_WHITE ESL_SEQ_END_COLOR +/* Preset escape sequences */ +#define ESL_SEQ_HOME ESL_SEQ_ESC ESL_SEQ_HOME_CHAR_STR +#define ESL_SEQ_CLEARLINE ESL_SEQ_ESC ESL_SEQ_CLEARLINE_CHAR_STR +#define ESL_SEQ_CLEARLINEEND ESL_SEQ_ESC ESL_SEQ_CLEARLINEEND_CHAR +#define ESL_SEQ_CLEARSCR ESL_SEQ_ESC ESL_SEQ_CLEARSCR_CHAR ESL_SEQ_HOME +#endif + +#if !defined(_XOPEN_SOURCE) && !defined(__FreeBSD__) && !defined(__NetBSD__) +#define _XOPEN_SOURCE 600 +#endif + +#ifndef HAVE_STRINGS_H +#define HAVE_STRINGS_H 1 +#endif +#ifndef HAVE_SYS_SOCKET_H +#define HAVE_SYS_SOCKET_H 1 +#endif + +#ifndef __WINDOWS__ +#if defined(WIN32) || defined(WIN64) || defined(_MSC_VER) || defined(_WIN32) +#define __WINDOWS__ +#endif +#endif + +#ifdef _MSC_VER +#ifndef __inline__ +#define __inline__ __inline +#endif +#if (_MSC_VER >= 1400) /* VC8+ */ +#ifndef _CRT_SECURE_NO_DEPRECATE +#define _CRT_SECURE_NO_DEPRECATE +#endif +#ifndef _CRT_NONSTDC_NO_DEPRECATE +#define _CRT_NONSTDC_NO_DEPRECATE +#endif +#endif +#ifndef strcasecmp +#define strcasecmp(s1, s2) _stricmp(s1, s2) +#endif +#ifndef strncasecmp +#define strncasecmp(s1, s2, n) _strnicmp(s1, s2, n) +#endif +#ifndef snprintf +#define snprintf _snprintf +#endif +#ifndef S_IRUSR +#define S_IRUSR _S_IREAD +#endif +#ifndef S_IWUSR +#define S_IWUSR _S_IWRITE +#endif +#undef HAVE_STRINGS_H +#undef HAVE_SYS_SOCKET_H +#endif + +#include +#ifndef WIN32 +#include +#endif + +#include +#include +#include +#include +#ifndef WIN32 +#include +#include +#include +#endif + +#ifdef HAVE_STRINGS_H +#include +#endif +#include + +#if (_MSC_VER >= 1400) // VC8+ +#define esl_assert(expr) assert(expr);__analysis_assume( expr ) +#endif + +#ifndef esl_assert +#define esl_assert(_x) assert(_x) +#endif + +#define esl_safe_free(_x) if (_x) free(_x); _x = NULL +#define esl_strlen_zero(s) (!s || *(s) == '\0') +#define esl_strlen_zero_buf(s) (*(s) == '\0') + +#ifdef WIN32 +#include +#include +typedef SOCKET esl_socket_t; +typedef unsigned __int64 uint64_t; +typedef unsigned __int32 uint32_t; +typedef unsigned __int16 uint16_t; +typedef unsigned __int8 uint8_t; +typedef __int64 int64_t; +typedef __int32 int32_t; +typedef __int16 int16_t; +typedef __int8 int8_t; +typedef intptr_t esl_ssize_t; +typedef int esl_filehandle_t; +#define ESL_SOCK_INVALID INVALID_SOCKET +#define strerror_r(num, buf, size) strerror_s(buf, size, num) +#if defined(ESL_DECLARE_STATIC) +#define ESL_DECLARE(type) type __stdcall +#define ESL_DECLARE_NONSTD(type) type __cdecl +#define ESL_DECLARE_DATA +#elif defined(ESL_EXPORTS) +#define ESL_DECLARE(type) __declspec(dllexport) type __stdcall +#define ESL_DECLARE_NONSTD(type) __declspec(dllexport) type __cdecl +#define ESL_DECLARE_DATA __declspec(dllexport) +#else +#define ESL_DECLARE(type) __declspec(dllimport) type __stdcall +#define ESL_DECLARE_NONSTD(type) __declspec(dllimport) type __cdecl +#define ESL_DECLARE_DATA __declspec(dllimport) +#endif +#else +#define ESL_DECLARE(type) type +#define ESL_DECLARE_NONSTD(type) type +#define ESL_DECLARE_DATA +#include +#include +#include +#include +#include +#include +#include +#define ESL_SOCK_INVALID -1 +typedef int esl_socket_t; +typedef ssize_t esl_ssize_t; +typedef int esl_filehandle_t; +#endif + +typedef int16_t esl_port_t; + +typedef enum { + ESL_SUCCESS, + ESL_FAIL, + ESL_BREAK +} esl_status_t; + +#include + +typedef struct { + struct sockaddr_in sockaddr; + struct hostent hostent; + char hostbuf[256]; + esl_socket_t sock; + char err[256]; + int errnum; + char header_buf[4196]; + char last_reply[1024]; + char last_sr_reply[1024]; + esl_event_t *last_event; + esl_event_t *last_sr_event; + esl_event_t *last_ievent; + esl_event_t *info_event; + int connected; + struct sockaddr_in addr; + esl_mutex_t *mutex; +} esl_handle_t; + +typedef enum { + ESL_TRUE = 1, + ESL_FALSE = 0 +} esl_bool_t; + +#ifndef __FUNCTION__ +#define __FUNCTION__ (const char *)__func__ +#endif + +#define ESL_PRE __FILE__, __FUNCTION__, __LINE__ +#define ESL_LOG_LEVEL_DEBUG 7 +#define ESL_LOG_LEVEL_INFO 6 +#define ESL_LOG_LEVEL_NOTICE 5 +#define ESL_LOG_LEVEL_WARNING 4 +#define ESL_LOG_LEVEL_ERROR 3 +#define ESL_LOG_LEVEL_CRIT 2 +#define ESL_LOG_LEVEL_ALERT 1 +#define ESL_LOG_LEVEL_EMERG 0 + +#define ESL_LOG_DEBUG ESL_PRE, ESL_LOG_LEVEL_DEBUG +#define ESL_LOG_INFO ESL_PRE, ESL_LOG_LEVEL_INFO +#define ESL_LOG_NOTICE ESL_PRE, ESL_LOG_LEVEL_NOTICE +#define ESL_LOG_WARNING ESL_PRE, ESL_LOG_LEVEL_WARNING +#define ESL_LOG_ERROR ESL_PRE, ESL_LOG_LEVEL_ERROR +#define ESL_LOG_CRIT ESL_PRE, ESL_LOG_LEVEL_CRIT +#define ESL_LOG_ALERT ESL_PRE, ESL_LOG_LEVEL_ALERT +#define ESL_LOG_EMERG ESL_PRE, ESL_LOG_LEVEL_EMERG +typedef void (*esl_logger_t)(const char *file, const char *func, int line, int level, const char *fmt, ...); + +ESL_DECLARE_DATA extern esl_logger_t esl_log; + +ESL_DECLARE(void) esl_global_set_logger(esl_logger_t logger); +ESL_DECLARE(void) esl_global_set_default_logger(int level); + +#include "esl_event.h" +#include "esl_threadmutex.h" +#include "esl_config.h" + +ESL_DECLARE(size_t) esl_url_encode(const char *url, char *buf, size_t len); +ESL_DECLARE(char *)esl_url_decode(char *s); +ESL_DECLARE(const char *)esl_stristr(const char *instr, const char *str); +ESL_DECLARE(int) esl_toupper(int c); +ESL_DECLARE(int) esl_tolower(int c); +ESL_DECLARE(int) esl_snprintf(char *buffer, size_t count, const char *fmt, ...); + + +typedef void (*esl_listen_callback_t)(esl_socket_t server_sock, esl_socket_t client_sock, struct sockaddr_in addr); + +ESL_DECLARE(esl_status_t) esl_attach_handle(esl_handle_t *handle, esl_socket_t socket, struct sockaddr_in addr); +ESL_DECLARE(esl_status_t) esl_listen(const char *host, esl_port_t port, esl_listen_callback_t callback); +ESL_DECLARE(esl_status_t) esl_execute(esl_handle_t *handle, const char *app, const char *arg, const char *uuid); +ESL_DECLARE(esl_status_t) esl_sendevent(esl_handle_t *handle, esl_event_t *event); + +ESL_DECLARE(esl_status_t) esl_connect(esl_handle_t *handle, const char *host, esl_port_t port, const char *password); +ESL_DECLARE(esl_status_t) esl_disconnect(esl_handle_t *handle); +ESL_DECLARE(esl_status_t) esl_send(esl_handle_t *handle, const char *cmd); +ESL_DECLARE(esl_status_t) esl_recv_event(esl_handle_t *handle, esl_event_t **save_event); +ESL_DECLARE(esl_status_t) esl_recv_event_timed(esl_handle_t *handle, uint32_t ms, esl_event_t **save_event); +ESL_DECLARE(esl_status_t) esl_send_recv(esl_handle_t *handle, const char *cmd); +#define esl_recv(_h) esl_recv_event(_h, NULL) +#define esl_recv_timed(_h, _ms) esl_recv_event_timed(_h, _ms, NULL) + +#endif + + + From mikej at freeswitch.org Thu Jan 22 12:04:31 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Thu, 22 Jan 2009 14:04:31 -0600 Subject: [Freeswitch-branches] [commit] r11389 - freeswitch/branches/1.0/src/mod/endpoints/mod_sofia Message-ID: Author: mikej Date: Thu Jan 22 14:04:30 2009 New Revision: 11389 Log: mod_sofia: fix sip_auto_answer=true (r:11069) Modified: freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/mod_sofia.c Modified: freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/mod_sofia.c ============================================================================== --- freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/mod_sofia.c (original) +++ freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/mod_sofia.c Thu Jan 22 14:04:30 2009 @@ -2528,7 +2528,13 @@ if (session) { switch_channel_t *o_channel = switch_core_session_get_channel(session); + const char *vval = NULL; + if ((vval = switch_channel_get_variable(o_channel, "sip_auto_answer")) && switch_true(vval)) { + switch_channel_set_variable_printf(nchannel, "sip_h_Call-Info", ";answer-after=0", profile->sipip); + switch_channel_set_variable(nchannel, "sip_invite_params", "intercom=true"); + } + switch_ivr_transfer_variable(session, nsession, SOFIA_REPLACES_HEADER); switch_ivr_transfer_variable(session, nsession, "sip_auto_answer"); switch_ivr_transfer_variable(session, nsession, SOFIA_SIP_HEADER_PREFIX_T); From mikej at freeswitch.org Thu Jan 22 13:40:38 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Thu, 22 Jan 2009 15:40:38 -0600 Subject: [Freeswitch-branches] [commit] r11400 - freeswitch/branches/1.0/src/mod/applications/mod_limit Message-ID: Author: mikej Date: Thu Jan 22 15:40:38 2009 New Revision: 11400 Log: mod_limit: fix memory corruption caused by race condition when using limit hash (r:11070-11071) Modified: freeswitch/branches/1.0/src/mod/applications/mod_limit/mod_limit.c Modified: freeswitch/branches/1.0/src/mod/applications/mod_limit/mod_limit.c ============================================================================== --- freeswitch/branches/1.0/src/mod/applications/mod_limit/mod_limit.c (original) +++ freeswitch/branches/1.0/src/mod/applications/mod_limit/mod_limit.c Thu Jan 22 15:40:38 2009 @@ -300,7 +300,7 @@ /* The call is either hung up, or is going back into the dialplan, decrement appropriate couters */ if (state == CS_HANGUP || state == CS_ROUTING) { switch_hash_index_t *hi; - switch_mutex_lock(globals.mutex); + switch_mutex_lock(globals.limit_hash_mutex); /* Loop through the channel's hashtable which contains mapping to all the limit_hash_item_t referenced by that channel */ for(hi = switch_hash_first(NULL, channel_hash); hi; hi = switch_hash_next(hi)) @@ -319,7 +319,7 @@ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Usage for %s is now %d\n", (const char*)key, item->total_usage); } switch_core_event_hook_remove_state_change(session, hash_state_handler); - switch_mutex_unlock(globals.mutex); + switch_mutex_unlock(globals.limit_hash_mutex); } return SWITCH_STATUS_SUCCESS; From mikej at freeswitch.org Thu Jan 22 13:45:54 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Thu, 22 Jan 2009 15:45:54 -0600 Subject: [Freeswitch-branches] [commit] r11401 - in freeswitch/branches/1.0/src: . include mod/applications/mod_conference Message-ID: Author: mikej Date: Thu Jan 22 15:45:53 2009 New Revision: 11401 Log: mod_conference: make conference verbose-events param to control if events have all the channel data or not (r:11073-11077) Modified: freeswitch/branches/1.0/src/include/switch_channel.h freeswitch/branches/1.0/src/mod/applications/mod_conference/mod_conference.c freeswitch/branches/1.0/src/switch_channel.c Modified: freeswitch/branches/1.0/src/include/switch_channel.h ============================================================================== --- freeswitch/branches/1.0/src/include/switch_channel.h (original) +++ freeswitch/branches/1.0/src/include/switch_channel.h Thu Jan 22 15:45:53 2009 @@ -472,6 +472,9 @@ */ SWITCH_DECLARE(void) switch_channel_event_set_data(_In_ switch_channel_t *channel, _In_ switch_event_t *event); +SWITCH_DECLARE(void) switch_channel_event_set_basic_data(_In_ switch_channel_t *channel, _In_ switch_event_t *event); +SWITCH_DECLARE(void) switch_channel_event_set_extended_data(_In_ switch_channel_t *channel, _In_ switch_event_t *event); + /*! \brief Expand varaibles in a string based on the variables in a paticular channel \param channel channel to expand the variables from Modified: freeswitch/branches/1.0/src/mod/applications/mod_conference/mod_conference.c ============================================================================== --- freeswitch/branches/1.0/src/mod/applications/mod_conference/mod_conference.c (original) +++ freeswitch/branches/1.0/src/mod/applications/mod_conference/mod_conference.c Thu Jan 22 15:45:53 2009 @@ -264,6 +264,7 @@ int comfort_noise_level; int video_running; uint32_t eflags; + uint32_t verbose_events; } conference_obj_t; /* Relationship with another member */ @@ -308,6 +309,7 @@ switch_ivr_digit_stream_t *digit_stream; switch_speech_handle_t lsh; switch_speech_handle_t *sh; + uint32_t verbose_events; struct conference_member *next; }; @@ -401,15 +403,21 @@ if (!member) return status; - if (member->session) { - switch_channel_t *channel = switch_core_session_get_channel(member->session); - switch_channel_event_set_data(channel, event); - } - if (member->conference) { status = conference_add_event_data(member->conference, event); } + if (member->session) { + switch_channel_t *channel = switch_core_session_get_channel(member->session); + + if (member->verbose_events) { + switch_channel_event_set_data(channel, event); + } else { + switch_channel_event_set_basic_data(channel, event); + } + + } + switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Member-ID", "%u", member->id); return status; @@ -572,6 +580,7 @@ member->conference = conference; member->next = conference->members; member->energy_level = conference->energy_level; + member->verbose_events = conference->verbose_events; conference->members = member; switch_set_flag(member, MFLAG_INTREE); switch_mutex_unlock(conference->member_mutex); @@ -5018,6 +5027,7 @@ switch_status_t status; int comfort_noise_level = 0; char *suppress_events = NULL; + char *verbose_events = NULL; char *auto_record = NULL; /* Validate the conference name */ @@ -5137,6 +5147,8 @@ } } else if (!strcasecmp(var, "suppress-events") && !switch_strlen_zero(val)) { suppress_events = val; + } else if (!strcasecmp(var, "verbose-events") && !switch_strlen_zero(val)) { + verbose_events = val; } else if (!strcasecmp(var, "auto-record") && !switch_strlen_zero(val)) { auto_record = val; } @@ -5296,6 +5308,10 @@ if (!switch_strlen_zero(auto_record)) { conference->auto_record = switch_core_strdup(conference->pool, auto_record); } + + if (!switch_strlen_zero(verbose_events) && switch_true(verbose_events)) { + conference->verbose_events = 1; + } /* caller control configuration chores */ if (switch_ivr_digit_stream_parser_new(conference->pool, &conference->dtmf_parser) == SWITCH_STATUS_SUCCESS) { Modified: freeswitch/branches/1.0/src/switch_channel.c ============================================================================== --- freeswitch/branches/1.0/src/switch_channel.c (original) +++ freeswitch/branches/1.0/src/switch_channel.c Thu Jan 22 15:45:53 2009 @@ -1140,13 +1140,12 @@ return channel->state; } -SWITCH_DECLARE(void) switch_channel_event_set_data(switch_channel_t *channel, switch_event_t *event) +SWITCH_DECLARE(void) switch_channel_event_set_basic_data(switch_channel_t *channel, switch_event_t *event) { switch_caller_profile_t *caller_profile, *originator_caller_profile = NULL, *originatee_caller_profile = NULL; - switch_event_header_t *hi; switch_codec_t *codec; char state_num[25]; - int x; + switch_mutex_lock(channel->profile_mutex); if ((caller_profile = switch_channel_get_caller_profile(channel))) { @@ -1178,7 +1177,7 @@ switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Channel-Write-Codec-Name", switch_str_nil(codec->implementation->iananame)); switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Channel-Write-Codec-Rate", "%u", codec->implementation->actual_samples_per_second); } - + /* Index Caller's Profile */ if (caller_profile) { switch_caller_profile_event_set_data(caller_profile, "Caller", event); @@ -1199,7 +1198,16 @@ } } + switch_mutex_unlock(channel->profile_mutex); +} + +SWITCH_DECLARE(void) switch_channel_event_set_extended_data(switch_channel_t *channel, switch_event_t *event) +{ + switch_event_header_t *hi; + int x; + switch_mutex_lock(channel->profile_mutex); + if (switch_channel_test_flag(channel, CF_VERBOSE_EVENTS) || event->event_id == SWITCH_EVENT_CHANNEL_ORIGINATE || event->event_id == SWITCH_EVENT_CHANNEL_UUID || @@ -1235,6 +1243,17 @@ switch_mutex_unlock(channel->profile_mutex); } + +SWITCH_DECLARE(void) switch_channel_event_set_data(switch_channel_t *channel, switch_event_t *event) +{ + switch_mutex_lock(channel->profile_mutex); + switch_channel_event_set_basic_data(channel, event); + switch_channel_event_set_extended_data(channel, event); + switch_mutex_unlock(channel->profile_mutex); +} + + + SWITCH_DECLARE(void) switch_channel_set_caller_profile(switch_channel_t *channel, switch_caller_profile_t *caller_profile) { char *uuid = NULL; From mikej at freeswitch.org Thu Jan 22 14:07:53 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Thu, 22 Jan 2009 16:07:53 -0600 Subject: [Freeswitch-branches] [commit] r11404 - in freeswitch/branches/1.0/libs/esl: . src Message-ID: Author: mikej Date: Thu Jan 22 16:07:53 2009 New Revision: 11404 Log: libesl: fix disconnect failure (r:11078,11083) Modified: freeswitch/branches/1.0/libs/esl/fs_cli.c freeswitch/branches/1.0/libs/esl/src/esl.c Modified: freeswitch/branches/1.0/libs/esl/fs_cli.c ============================================================================== --- freeswitch/branches/1.0/libs/esl/fs_cli.c (original) +++ freeswitch/branches/1.0/libs/esl/fs_cli.c Thu Jan 22 16:07:53 2009 @@ -618,6 +618,7 @@ } if (esl_connect(&handle, profile->host, profile->port, profile->pass)) { + esl_global_set_default_logger(3); esl_log(ESL_LOG_ERROR, "Error Connecting [%s]\n", handle.err); return -1; } Modified: freeswitch/branches/1.0/libs/esl/src/esl.c ============================================================================== --- freeswitch/branches/1.0/libs/esl/src/esl.c (original) +++ freeswitch/branches/1.0/libs/esl/src/esl.c Thu Jan 22 16:07:53 2009 @@ -368,6 +368,10 @@ { char *txt; + if (!handle->connected) { + return ESL_FAIL; + } + esl_event_serialize(handle->last_ievent, &txt, ESL_TRUE); esl_log(ESL_LOG_DEBUG, "SEND EVENT\n%s\n", txt); @@ -388,6 +392,10 @@ char arg_buf[512] = ""; char send_buf[1292] = ""; + if (!handle->connected) { + return ESL_FAIL; + } + if (uuid) { snprintf(cmd_buf, sizeof(cmd_buf), "sendmsg %s", uuid); } @@ -570,24 +578,33 @@ ESL_DECLARE(esl_status_t) esl_disconnect(esl_handle_t *handle) { + esl_mutex_t *mutex = handle->mutex; + esl_status_t status = ESL_FAIL; + + if (mutex) { + esl_mutex_lock(mutex); + } + esl_event_safe_destroy(&handle->last_event); esl_event_safe_destroy(&handle->last_sr_event); esl_event_safe_destroy(&handle->last_ievent); esl_event_safe_destroy(&handle->info_event); - if (handle->mutex) { - esl_mutex_destroy(&handle->mutex); - } - if (handle->sock != ESL_SOCK_INVALID) { closesocket(handle->sock); handle->sock = ESL_SOCK_INVALID; - return ESL_SUCCESS; + status = ESL_SUCCESS; } handle->connected = 0; - return ESL_FAIL; + if (mutex) { + esl_mutex_unlock(mutex); + esl_mutex_destroy(&mutex); + } + + + return status; } ESL_DECLARE(esl_status_t) esl_recv_event_timed(esl_handle_t *handle, uint32_t ms, esl_event_t **save_event) @@ -597,6 +614,10 @@ int max, activity; esl_status_t status = ESL_SUCCESS; + if (!handle->connected) { + return ESL_FAIL; + } + tv.tv_usec = ms * 1000; esl_mutex_lock(handle->mutex); @@ -652,6 +673,11 @@ esl_ssize_t len; int zc = 0; + + if (!handle->connected) { + return ESL_FAIL; + } + esl_mutex_lock(handle->mutex); esl_event_safe_destroy(&handle->last_event); @@ -850,6 +876,10 @@ { const char *e = cmd + strlen(cmd) -1; + if (!handle->connected) { + return ESL_FAIL; + } + esl_log(ESL_LOG_DEBUG, "SEND\n%s\n", cmd); if (send(handle->sock, cmd, strlen(cmd), 0) != (int)strlen(cmd)) { @@ -874,6 +904,10 @@ const char *hval; esl_status_t status; + if (!handle->connected) { + return ESL_FAIL; + } + esl_mutex_lock(handle->mutex); if ((status = esl_send(handle, cmd))) { From mikej at freeswitch.org Thu Jan 22 14:11:34 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Thu, 22 Jan 2009 16:11:34 -0600 Subject: [Freeswitch-branches] [commit] r11407 - in freeswitch/branches/1.0/src: . mod/applications/mod_conference mod/endpoints/mod_sofia Message-ID: Author: mikej Date: Thu Jan 22 16:11:34 2009 New Revision: 11407 Log: core: fix media handling issues (r:11079-11082) Modified: freeswitch/branches/1.0/src/mod/applications/mod_conference/mod_conference.c freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/sofia.c freeswitch/branches/1.0/src/switch_apr.c freeswitch/branches/1.0/src/switch_channel.c freeswitch/branches/1.0/src/switch_core_io.c freeswitch/branches/1.0/src/switch_ivr.c freeswitch/branches/1.0/src/switch_ivr_async.c freeswitch/branches/1.0/src/switch_ivr_originate.c Modified: freeswitch/branches/1.0/src/mod/applications/mod_conference/mod_conference.c ============================================================================== --- freeswitch/branches/1.0/src/mod/applications/mod_conference/mod_conference.c (original) +++ freeswitch/branches/1.0/src/mod/applications/mod_conference/mod_conference.c Thu Jan 22 16:11:34 2009 @@ -1552,6 +1552,13 @@ and mux it with any audio from other channels. */ while (switch_test_flag(member, MFLAG_RUNNING) && switch_channel_ready(channel)) { + + if (switch_channel_test_flag(channel, CF_SERVICE)) { + switch_yield(100000); + continue; + } + + /* Read a frame. */ status = switch_core_session_read_frame(member->session, &read_frame, SWITCH_IO_FLAG_NONE, 0); @@ -2037,9 +2044,18 @@ } switch_clear_flag_locked(member, MFLAG_FLUSH_BUFFER); } - + switch_mutex_unlock(member->flag_mutex); + + if (switch_core_session_private_event_count(member->session)) { + switch_channel_set_flag(channel, CF_SERVICE); + switch_ivr_parse_all_events(member->session); + switch_channel_clear_flag(channel, CF_SERVICE); + switch_set_flag_locked(member, MFLAG_FLUSH_BUFFER); + switch_core_session_set_read_codec(member->session, &member->read_codec); + } + if (use_timer) { switch_core_timer_next(&timer); } else { Modified: freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/sofia.c ============================================================================== --- freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/sofia.c (original) +++ freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/sofia.c Thu Jan 22 16:11:34 2009 @@ -3562,6 +3562,22 @@ /* print debug info */ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "INFO DTMF(%c)\n", dtmf.digit); + + if (switch_channel_test_flag(channel, CF_PROXY_MODE)) { + const char *uuid; + switch_core_session_t *session_b; + + if ((uuid = switch_channel_get_variable(channel, SWITCH_SIGNAL_BOND_VARIABLE)) && (session_b = switch_core_session_locate(uuid))) { + while (switch_channel_has_dtmf(channel)) { + switch_dtmf_t idtmf = { 0, 0 }; + if (switch_channel_dequeue_dtmf(channel, &idtmf) == SWITCH_STATUS_SUCCESS) { + switch_core_session_send_dtmf(session_b, &idtmf); + } + } + + switch_core_session_rwunlock(session_b); + } + } /* Send 200 OK response */ nua_respond(nh, SIP_200_OK, NUTAG_WITH_THIS(nua), TAG_END()); Modified: freeswitch/branches/1.0/src/switch_apr.c ============================================================================== --- freeswitch/branches/1.0/src/switch_apr.c (original) +++ freeswitch/branches/1.0/src/switch_apr.c Thu Jan 22 16:11:34 2009 @@ -761,9 +761,9 @@ SWITCH_DECLARE(switch_status_t) switch_socket_recvfrom(switch_sockaddr_t *from, switch_socket_t *sock, int32_t flags, char *buf, size_t *len) { - apr_status_t r; + apr_status_t r = SWITCH_STATUS_GENERR; - if ((r = apr_socket_recvfrom(from, sock, flags, buf, len)) == APR_SUCCESS) { + if (from && sock && (r = apr_socket_recvfrom(from, sock, flags, buf, len)) == APR_SUCCESS) { from->port = ntohs(from->sa.sin.sin_port); /* from->ipaddr_ptr = &(from->sa.sin.sin_addr); * from->ipaddr_ptr = inet_ntoa(from->sa.sin.sin_addr); Modified: freeswitch/branches/1.0/src/switch_channel.c ============================================================================== --- freeswitch/branches/1.0/src/switch_channel.c (original) +++ freeswitch/branches/1.0/src/switch_channel.c Thu Jan 22 16:11:34 2009 @@ -1647,8 +1647,8 @@ msg.message_id = SWITCH_MESSAGE_INDICATE_PROGRESS; msg.from = channel->name; - status = switch_core_session_receive_message(channel->session, &msg); - + status = switch_core_session_perform_receive_message(channel->session, &msg, file, func, line); + if (status == SWITCH_STATUS_SUCCESS) { switch_channel_perform_mark_pre_answered(channel, file, func, line); } else { @@ -1679,7 +1679,7 @@ msg.message_id = SWITCH_MESSAGE_INDICATE_RINGING; msg.from = channel->name; - status = switch_core_session_receive_message(channel->session, &msg); + status = switch_core_session_perform_receive_message(channel->session, &msg, file, func, line); if (status == SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_ID_LOG, file, func, line, NULL, SWITCH_LOG_NOTICE, "Ring Ready %s!\n", channel->name); @@ -1784,7 +1784,7 @@ msg.message_id = SWITCH_MESSAGE_INDICATE_ANSWER; msg.from = channel->name; - status = switch_core_session_receive_message(channel->session, &msg); + status = switch_core_session_perform_receive_message(channel->session, &msg, file, func, line); if (status == SWITCH_STATUS_SUCCESS) { switch_channel_perform_mark_answered(channel, file, func, line); Modified: freeswitch/branches/1.0/src/switch_core_io.c ============================================================================== --- freeswitch/branches/1.0/src/switch_core_io.c (original) +++ freeswitch/branches/1.0/src/switch_core_io.c Thu Jan 22 16:11:34 2009 @@ -539,10 +539,6 @@ switch_mutex_unlock(session->read_codec->mutex); switch_mutex_unlock(session->codec_read_mutex); - if (switch_core_session_private_event_count(session)) { - switch_ivr_parse_all_events(session); - } - return status; } Modified: freeswitch/branches/1.0/src/switch_ivr.c ============================================================================== --- freeswitch/branches/1.0/src/switch_ivr.c (original) +++ freeswitch/branches/1.0/src/switch_ivr.c Thu Jan 22 16:11:34 2009 @@ -41,6 +41,7 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_sleep(switch_core_session_t *session, uint32_t ms, switch_bool_t sync, switch_input_args_t *args) { switch_channel_t *channel = switch_core_session_get_channel(session); + int media_ready = 0; switch_status_t status = SWITCH_STATUS_SUCCESS; switch_time_t start = switch_timestamp_now(), now, done = switch_timestamp_now() + (ms * 1000); switch_frame_t *read_frame, cng_frame = { 0 }; @@ -53,10 +54,19 @@ switch_codec_t codec = { 0 }; int sval = 0; const char *var; + + if (!switch_channel_test_flag(channel, CF_PROXY_MODE) && !switch_channel_media_ready(channel) && !switch_channel_test_flag(channel, CF_SERVICE)) { + if ((status = switch_channel_pre_answer(channel)) != SWITCH_STATUS_SUCCESS) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Cannot establish media.\n"); + return SWITCH_STATUS_FALSE; + } + } + + media_ready = (switch_channel_media_ready(channel) && !switch_channel_test_flag(channel, CF_SERVICE)); - if ((var = switch_channel_get_variable(channel, SWITCH_SEND_SILENCE_WHEN_IDLE_VARIABLE)) && (sval = atoi(var))) { + if (ms > 100 && media_ready && (var = switch_channel_get_variable(channel, SWITCH_SEND_SILENCE_WHEN_IDLE_VARIABLE)) && (sval = atoi(var))) { switch_core_session_get_read_impl(session, &imp); - + if (switch_core_codec_init(&codec, "L16", NULL, @@ -81,12 +91,10 @@ write_frame.datalen = imp.decoded_bytes_per_packet; write_frame.samples = write_frame.datalen / sizeof(int16_t); - if (!switch_channel_media_ready(channel)) { - if ((status = switch_channel_pre_answer(channel)) != SWITCH_STATUS_SUCCESS) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Cannot establish media.\n"); - return SWITCH_STATUS_FALSE; - } - } + } + + if (!write_frame.datalen) { + sval = 0; } cng_frame.data = data; @@ -94,7 +102,7 @@ cng_frame.buflen = 2; switch_set_flag((&cng_frame), SFF_CNG); - if (sync && !switch_channel_test_flag(channel, CF_PROXY_MODE)) { + if (sync && media_ready) { switch_channel_audio_sync(channel); } @@ -161,29 +169,25 @@ } } - if (switch_channel_test_flag(channel, CF_PROXY_MODE)) { + if (!media_ready) { switch_cond_next(); continue; } - if (switch_channel_test_flag(channel, CF_SERVICE) || - (!switch_channel_test_flag(channel, CF_ANSWERED) && !switch_channel_test_flag(channel, CF_EARLY_MEDIA))) { - switch_cond_next(); - } else { - status = switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0); - if (!SWITCH_READ_ACCEPTABLE(status)) { - break; - } + status = switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0); + + if (!SWITCH_READ_ACCEPTABLE(status)) { + break; } - if (sval) { + if (sval && write_frame.datalen) { switch_generate_sln_silence((int16_t *) write_frame.data, write_frame.samples, sval); switch_core_session_write_frame(session, &write_frame, SWITCH_IO_FLAG_NONE, 0); } else { switch_core_session_write_frame(session, &cng_frame, SWITCH_IO_FLAG_NONE, 0); } } - + if (write_frame.codec) { switch_core_codec_destroy(&codec); } Modified: freeswitch/branches/1.0/src/switch_ivr_async.c ============================================================================== --- freeswitch/branches/1.0/src/switch_ivr_async.c (original) +++ freeswitch/branches/1.0/src/switch_ivr_async.c Thu Jan 22 16:11:34 2009 @@ -1445,6 +1445,44 @@ #define SWITCH_META_VAR_KEY "__dtmf_meta" +typedef struct { + switch_core_session_t *session; + const char *app; + int flags; +} bch_t; + +static void *SWITCH_THREAD_FUNC bcast_thread(switch_thread_t *thread, void *obj) +{ + bch_t *bch = (bch_t *) obj; + + switch_ivr_broadcast(switch_core_session_get_uuid(bch->session), bch->app, bch->flags); + + return NULL; + +} +static void broadcast_in_thread(switch_core_session_t *session, const char *app, int flags) +{ + switch_thread_t *thread; + switch_threadattr_t *thd_attr = NULL; + switch_memory_pool_t *pool; + bch_t *bch; + + switch_assert(session); + + pool = switch_core_session_get_pool(session); + + bch = switch_core_session_alloc(session, sizeof(*bch)); + bch->session = session; + bch->app = app; + bch->flags = flags; + + + switch_threadattr_create(&thd_attr, pool); + switch_threadattr_detach_set(thd_attr, 1); + switch_threadattr_stacksize_set(thd_attr, SWITCH_THREAD_STACKSIZE); + switch_thread_create(&thread, thd_attr, bcast_thread, bch, pool); +} + static switch_status_t meta_on_dtmf(switch_core_session_t *session, const switch_dtmf_t *dtmf, switch_dtmf_direction_t direction) { switch_channel_t *channel = switch_core_session_get_channel(session); @@ -1497,7 +1535,7 @@ if (ok && md->sr[direction].map[dval].app) { uint32_t flags = md->sr[direction].map[dval].flags; - + if ((md->sr[direction].map[dval].bind_flags & SBF_EXEC_OPPOSITE)) { if (direction == SWITCH_DTMF_SEND) { flags |= SMF_ECHO_ALEG; @@ -1520,7 +1558,12 @@ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "%s Processing meta digit '%c' [%s]\n", switch_channel_get_name(channel), dtmf->digit, md->sr[direction].map[dval].app); - switch_ivr_broadcast(switch_core_session_get_uuid(session), md->sr[direction].map[dval].app, flags); + + if (switch_channel_test_flag(channel, CF_PROXY_MODE)) { + broadcast_in_thread(session, md->sr[direction].map[dval].app, flags | SMF_REBRIDGE); + } else { + switch_ivr_broadcast(switch_core_session_get_uuid(session), md->sr[direction].map[dval].app, flags); + } if ((md->sr[direction].map[dval].bind_flags & SBF_ONCE)) { memset(&md->sr[direction].map[dval], 0, sizeof(md->sr[direction].map[dval])); @@ -1589,7 +1632,7 @@ md->sr[SWITCH_DTMF_RECV].map[key].app = switch_core_session_strdup(session, app); md->sr[SWITCH_DTMF_RECV].map[key].flags |= SMF_HOLD_BLEG; md->sr[SWITCH_DTMF_RECV].map[key].bind_flags = bind_flags; - + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Bound A-Leg: %d %s\n", key, app); } if ((bind_flags & SBF_DIAL_BLEG)) { @@ -2157,6 +2200,10 @@ other_session = NULL; } + if (switch_stristr("record", app)) { + nomedia = 0; + } + if ((flags & SMF_ECHO_ALEG)) { if (switch_event_create(&event, SWITCH_EVENT_COMMAND) == SWITCH_STATUS_SUCCESS) { switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "call-command", "execute"); Modified: freeswitch/branches/1.0/src/switch_ivr_originate.c ============================================================================== --- freeswitch/branches/1.0/src/switch_ivr_originate.c (original) +++ freeswitch/branches/1.0/src/switch_ivr_originate.c Thu Jan 22 16:11:34 2009 @@ -41,7 +41,11 @@ if (!switch_channel_test_flag(channel, CF_PROXY_MODE)) { while (switch_channel_get_state(channel) == CS_CONSUME_MEDIA && !switch_channel_test_flag(channel, CF_TAGGED)) { - switch_ivr_sleep(session, 10, SWITCH_FALSE, NULL); + if (!switch_channel_media_ready(channel)) { + switch_yield(10000); + } else { + switch_ivr_sleep(session, 10, SWITCH_FALSE, NULL); + } } } From mikej at freeswitch.org Thu Jan 22 14:14:52 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Thu, 22 Jan 2009 16:14:52 -0600 Subject: [Freeswitch-branches] [commit] r11410 - in freeswitch/branches/1.0/src: . include mod/languages/mod_spidermonkey Message-ID: Author: mikej Date: Thu Jan 22 16:14:52 2009 New Revision: 11410 Log: mod_spidermonkey: fix loading of spidermonkey modules (r:11084-11085) Modified: freeswitch/branches/1.0/src/include/switch_dso.h freeswitch/branches/1.0/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c freeswitch/branches/1.0/src/switch_dso.c Modified: freeswitch/branches/1.0/src/include/switch_dso.h ============================================================================== --- freeswitch/branches/1.0/src/include/switch_dso.h (original) +++ freeswitch/branches/1.0/src/include/switch_dso.h Thu Jan 22 16:14:52 2009 @@ -30,10 +30,10 @@ typedef void * switch_dso_data_t; -void switch_dso_destroy(switch_dso_lib_t *lib); -switch_dso_lib_t switch_dso_open(const char *path, int global, char **err); -switch_dso_func_t switch_dso_func_sym(switch_dso_lib_t lib, const char *sym, char **err); -void *switch_dso_data_sym(switch_dso_lib_t lib, const char *sym, char **err); +SWITCH_DECLARE(void) switch_dso_destroy(switch_dso_lib_t *lib); +SWITCH_DECLARE(switch_dso_lib_t) switch_dso_open(const char *path, int global, char **err); +SWITCH_DECLARE(switch_dso_func_t) switch_dso_func_sym(switch_dso_lib_t lib, const char *sym, char **err); +SWITCH_DECLARE(void *) switch_dso_data_sym(switch_dso_lib_t lib, const char *sym, char **err); #endif Modified: freeswitch/branches/1.0/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c ============================================================================== --- freeswitch/branches/1.0/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c (original) +++ freeswitch/branches/1.0/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c Thu Jan 22 16:14:52 2009 @@ -42,7 +42,7 @@ SWITCH_MODULE_LOAD_FUNCTION(mod_spidermonkey_load); SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_spidermonkey_shutdown); -SWITCH_MODULE_DEFINITION(mod_spidermonkey, mod_spidermonkey_load, mod_spidermonkey_shutdown, NULL); +SWITCH_MODULE_DEFINITION_EX(mod_spidermonkey, mod_spidermonkey_load, mod_spidermonkey_shutdown, NULL, SMODF_GLOBAL_SYMBOLS); #define METHOD_SANITY_CHECK() if (!jss || !jss->session) { \ eval_some_js("~throw new Error(\"You must call the session.originate method before calling this method!\");", cx, obj, rval); \ @@ -882,50 +882,54 @@ static switch_status_t sm_load_file(char *filename) { sm_loadable_module_t *module = NULL; - switch_dso_handle_t *dso = NULL; + switch_dso_lib_t dso = NULL; switch_status_t status = SWITCH_STATUS_SUCCESS; - switch_dso_handle_sym_t function_handle = NULL; + switch_loadable_module_function_table_t *function_handle = NULL; spidermonkey_init_t spidermonkey_init = NULL; const sm_module_interface_t *module_interface = NULL, *mp; - - int loading = 1; + char *derr = NULL; const char *err = NULL; - char derr[512] = ""; switch_assert(filename != NULL); - status = switch_dso_load(&dso, filename, module_manager.pool); + if (!(dso = switch_dso_open(filename, 1, &derr))) { + status = SWITCH_STATUS_FALSE; + } - while (loading) { - if (status != SWITCH_STATUS_SUCCESS) { - switch_dso_error(dso, derr, sizeof(derr)); - err = derr; - break; - } + if (derr || status != SWITCH_STATUS_SUCCESS) { + err = derr; + goto err; + } - status = switch_dso_sym(&function_handle, dso, "spidermonkey_init"); - spidermonkey_init = (spidermonkey_init_t) (intptr_t) function_handle; + function_handle = switch_dso_data_sym(dso, "spidermonkey_init", &derr); - if (spidermonkey_init == NULL) { - err = "Cannot Load"; - break; - } + if (!function_handle || derr) { + status = SWITCH_STATUS_FALSE; + err = derr; + goto err; + } - if (spidermonkey_init(&module_interface) != SWITCH_STATUS_SUCCESS) { - err = "Module load routine returned an error"; - break; - } + spidermonkey_init = (spidermonkey_init_t) (intptr_t) function_handle; - if (!(module = (sm_loadable_module_t *) switch_core_permanent_alloc(sizeof(*module)))) { - err = "Could not allocate memory\n"; - break; - } + if (spidermonkey_init == NULL) { + err = "Cannot Load"; + goto err; + } + + if (spidermonkey_init(&module_interface) != SWITCH_STATUS_SUCCESS) { + err = "Module load routine returned an error"; + goto err; + } - loading = 0; + if (!(module = (sm_loadable_module_t *) switch_core_permanent_alloc(sizeof(*module)))) { + err = "Could not allocate memory\n"; } - if (err) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error Loading module %s\n**%s**\n", filename, err); + err: + + if (err || !module) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error Loading module %s\n**%s**\n", filename, switch_str_nil(err)); + switch_safe_free(derr); return SWITCH_STATUS_GENERR; } Modified: freeswitch/branches/1.0/src/switch_dso.c ============================================================================== --- freeswitch/branches/1.0/src/switch_dso.c (original) +++ freeswitch/branches/1.0/src/switch_dso.c Thu Jan 22 16:14:52 2009 @@ -24,14 +24,14 @@ #ifdef WIN32 -void switch_dso_destroy(switch_dso_lib_t *lib) { +SWITCH_DECLARE(void) switch_dso_destroy(switch_dso_lib_t *lib) { if (lib && *lib) { FreeLibrary(*lib); *lib = NULL; } } -switch_dso_lib_t switch_dso_open(const char *path, int global, char **err) { +SWITCH_DECLARE(switch_dso_lib_t) switch_dso_open(const char *path, int global, char **err) { HINSTANCE lib; lib = LoadLibraryEx(path, NULL, 0); @@ -48,7 +48,7 @@ return lib; } -switch_dso_func_t switch_dso_func_sym(switch_dso_lib_t lib, const char *sym, char **err) { +SWITCH_DECLARE(switch_dso_func_t) switch_dso_func_sym(switch_dso_lib_t lib, const char *sym, char **err) { FARPROC func = GetProcAddress(lib, sym); if (!func) { DWORD error = GetLastError(); @@ -57,7 +57,7 @@ return (switch_dso_func_t)func; } -void *switch_dso_data_sym(switch_dso_lib_t lib, const char *sym, char **err) { +SWITCH_DECLARE(void *) switch_dso_data_sym(switch_dso_lib_t lib, const char *sym, char **err) { FARPROC addr = GetProcAddress(lib, sym); if (!addr) { DWORD error = GetLastError(); From mikej at freeswitch.org Thu Jan 22 14:21:02 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Thu, 22 Jan 2009 16:21:02 -0600 Subject: [Freeswitch-branches] [commit] r11414 - freeswitch/branches/1.0/src/mod/endpoints/mod_sofia Message-ID: Author: mikej Date: Thu Jan 22 16:21:02 2009 New Revision: 11414 Log: mod_sofia: fix sending extra sdp in 200 OK when using 100rel in violation of sdp o/a protocol draft-ietf-sipping-sip-offeranswer-10 (r:11088) Modified: freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/sofia.c Modified: freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/sofia.c ============================================================================== --- freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/sofia.c (original) +++ freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/sofia.c Thu Jan 22 16:21:02 2009 @@ -2754,7 +2754,8 @@ SIPTAG_CONTACT_STR(tech_pvt->profile->url), SOATAG_USER_SDP_STR(tech_pvt->local_sdp_str), SOATAG_REUSE_REJECTED(1), - SOATAG_ORDERED_USER(1), SOATAG_AUDIO_AUX("cn telephone-event"), NUTAG_INCLUDE_EXTRA_SDP(1), TAG_END()); + SOATAG_ORDERED_USER(1), SOATAG_AUDIO_AUX("cn telephone-event"), + TAG_IF((profile->pflags & PFLAG_DISABLE_100REL), NUTAG_INCLUDE_EXTRA_SDP(1)), TAG_END()); } else if(profile->pflags & PFLAG_3PCC_PROXY){ //3PCC proxy mode delays the 200 OK until the call is answered switch_channel_set_variable(channel, SWITCH_ENDPOINT_DISPOSITION_VARIABLE, "RECEIVED_NOSDP"); @@ -2839,7 +2840,8 @@ SIPTAG_CONTACT_STR(tech_pvt->reply_contact), SOATAG_USER_SDP_STR(tech_pvt->local_sdp_str), SOATAG_REUSE_REJECTED(1), - SOATAG_ORDERED_USER(1), SOATAG_AUDIO_AUX("cn telephone-event"), NUTAG_INCLUDE_EXTRA_SDP(1), TAG_END()); + SOATAG_ORDERED_USER(1), SOATAG_AUDIO_AUX("cn telephone-event"), + TAG_IF((profile->pflags & PFLAG_DISABLE_100REL), NUTAG_INCLUDE_EXTRA_SDP(1)), TAG_END()); launch_media_on_hold(session); switch_core_session_rwunlock(other_session); @@ -2905,7 +2907,8 @@ SIPTAG_CONTACT_STR(tech_pvt->reply_contact), SOATAG_USER_SDP_STR(tech_pvt->local_sdp_str), SOATAG_REUSE_REJECTED(1), - SOATAG_ORDERED_USER(1), SOATAG_AUDIO_AUX("cn telephone-event"), NUTAG_INCLUDE_EXTRA_SDP(1), TAG_END()); + SOATAG_ORDERED_USER(1), SOATAG_AUDIO_AUX("cn telephone-event"), + TAG_IF((profile->pflags & PFLAG_DISABLE_100REL), NUTAG_INCLUDE_EXTRA_SDP(1)), TAG_END()); } else { nua_respond(tech_pvt->nh, SIP_488_NOT_ACCEPTABLE, TAG_END()); } From mikej at freeswitch.org Thu Jan 22 14:23:18 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Thu, 22 Jan 2009 16:23:18 -0600 Subject: [Freeswitch-branches] [commit] r11416 - in freeswitch/branches/1.0/src: . mod/formats/mod_sndfile Message-ID: Author: mikej Date: Thu Jan 22 16:23:18 2009 New Revision: 11416 Log: core: fix file resampling issue (r:11090) Modified: freeswitch/branches/1.0/src/mod/formats/mod_sndfile/mod_sndfile.c freeswitch/branches/1.0/src/switch_core_file.c Modified: freeswitch/branches/1.0/src/mod/formats/mod_sndfile/mod_sndfile.c ============================================================================== --- freeswitch/branches/1.0/src/mod/formats/mod_sndfile/mod_sndfile.c (original) +++ freeswitch/branches/1.0/src/mod/formats/mod_sndfile/mod_sndfile.c Thu Jan 22 16:23:18 2009 @@ -237,7 +237,7 @@ handle->sample_count += *len; - return SWITCH_STATUS_SUCCESS; + return *len ? SWITCH_STATUS_SUCCESS : SWITCH_STATUS_FALSE; } static switch_status_t sndfile_file_write(switch_file_handle_t *handle, void *data, size_t *len) Modified: freeswitch/branches/1.0/src/switch_core_file.c ============================================================================== --- freeswitch/branches/1.0/src/switch_core_file.c (original) +++ freeswitch/branches/1.0/src/switch_core_file.c Thu Jan 22 16:23:18 2009 @@ -125,21 +125,27 @@ SWITCH_DECLARE(switch_status_t) switch_core_file_read(switch_file_handle_t *fh, void *data, switch_size_t *len) { switch_status_t status; - switch_size_t orig_len = *len; + switch_size_t want, got, orig_len = *len; switch_assert(fh != NULL); switch_assert(fh->file_interface != NULL); - if (fh->buffer && switch_buffer_inuse(fh->buffer)) { + if (fh->buffer && switch_buffer_inuse(fh->buffer) >= *len * 2) { *len = switch_buffer_read(fh->buffer, data, orig_len * 2) / 2; return SWITCH_STATUS_SUCCESS; } - if ((status = fh->file_interface->file_read(fh, data, len)) != SWITCH_STATUS_SUCCESS) { + want = *len; + + more: + + if ((status = fh->file_interface->file_read(fh, data, len)) != SWITCH_STATUS_SUCCESS || !*len) { *len = 0; goto done; } + got = *len; + if (!switch_test_flag(fh, SWITCH_FILE_NATIVE) && fh->native_rate != fh->samplerate) { if (!fh->resampler) { if (switch_resample_create(&fh->resampler, @@ -153,9 +159,9 @@ fh->resampler->to_len = switch_resample_process(fh->resampler, fh->resampler->from, fh->resampler->from_len, fh->resampler->to, fh->resampler->to_size, 0); - if (fh->resampler->to_len > orig_len) { + if (fh->resampler->to_len < want || fh->resampler->to_len > orig_len) { if (!fh->buffer) { - switch_buffer_create_dynamic(&fh->buffer, fh->resampler->to_len * 2, fh->resampler->to_len * 4, fh->resampler->to_len * 8); + switch_buffer_create_dynamic(&fh->buffer, fh->resampler->to_len * 4, fh->resampler->to_len * 8, fh->resampler->to_len * 32); switch_assert(fh->buffer); } if (!fh->dbuf) { @@ -163,17 +169,23 @@ fh->dbuf = switch_core_alloc(fh->memory_pool, fh->dbuflen); } switch_assert(fh->resampler->to_len <= fh->dbuflen); - + switch_float_to_short(fh->resampler->to, (int16_t *) fh->dbuf, fh->resampler->to_len); switch_buffer_write(fh->buffer, fh->dbuf, fh->resampler->to_len * 2); + + if (switch_buffer_inuse(fh->buffer) < want * 2) { + *len = want - fh->resampler->to_len; + goto more; + } *len = switch_buffer_read(fh->buffer, data, orig_len * 2) / 2; } else { switch_float_to_short(fh->resampler->to, data, fh->resampler->to_len); *len = fh->resampler->to_len; } + } - + done: return status; From mikej at freeswitch.org Thu Jan 22 14:26:22 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Thu, 22 Jan 2009 16:26:22 -0600 Subject: [Freeswitch-branches] [commit] r11418 - freeswitch/branches/1.0/src Message-ID: Author: mikej Date: Thu Jan 22 16:26:22 2009 New Revision: 11418 Log: core: send more event types verbos bridge,unbridge,park,unpark (r:11097-11098) Modified: freeswitch/branches/1.0/src/switch_channel.c Modified: freeswitch/branches/1.0/src/switch_channel.c ============================================================================== --- freeswitch/branches/1.0/src/switch_channel.c (original) +++ freeswitch/branches/1.0/src/switch_channel.c Thu Jan 22 16:26:22 2009 @@ -1212,6 +1212,10 @@ event->event_id == SWITCH_EVENT_CHANNEL_ORIGINATE || event->event_id == SWITCH_EVENT_CHANNEL_UUID || event->event_id == SWITCH_EVENT_CHANNEL_ANSWER || + event->event_id == SWITCH_EVENT_CHANNEL_PARK || + event->event_id == SWITCH_EVENT_CHANNEL_UNPARK || + event->event_id == SWITCH_EVENT_CHANNEL_BRIDGE || + event->event_id == SWITCH_EVENT_CHANNEL_UNBRIDGE || event->event_id == SWITCH_EVENT_CHANNEL_PROGRESS || event->event_id == SWITCH_EVENT_CHANNEL_PROGRESS_MEDIA || event->event_id == SWITCH_EVENT_CHANNEL_HANGUP || From mikej at freeswitch.org Thu Jan 22 14:31:52 2009 From: mikej at freeswitch.org (FreeSWITCH SVN) Date: Thu, 22 Jan 2009 16:31:52 -0600 Subject: [Freeswitch-branches] [commit] r11419 - in freeswitch/branches/1.0/src/mod: applications/mod_conference xml_int/mod_xml_rpc Message-ID: Author: mikej Date: Thu Jan 22 16:31:52 2009 New Revision: 11419 Log: mod_xml_rpc: fix http content types sent in responses (r:11099,11148,11150) Modified: freeswitch/branches/1.0/src/mod/applications/mod_conference/mod_conference.c freeswitch/branches/1.0/src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.c Modified: freeswitch/branches/1.0/src/mod/applications/mod_conference/mod_conference.c ============================================================================== --- freeswitch/branches/1.0/src/mod/applications/mod_conference/mod_conference.c (original) +++ freeswitch/branches/1.0/src/mod/applications/mod_conference/mod_conference.c Thu Jan 22 16:31:52 2009 @@ -3895,7 +3895,7 @@ { char *lbuf = NULL; switch_status_t status = SWITCH_STATUS_SUCCESS; - char *http = NULL; + char *http = NULL, *type = NULL; int argc; char *argv[25] = { 0 }; @@ -3905,11 +3905,14 @@ if (stream->param_event) { http = switch_event_get_header(stream->param_event, "http-host"); + type = switch_event_get_header(stream->param_event, "content-type"); } if (http) { /* Output must be to a web browser */ - stream->write_function(stream, "
\n");
+		if (type && !strcasecmp(type, "text/html")) {
+			stream->write_function(stream, "
\n");
+		}
 	}
 
 	if (!(lbuf = strdup(cmd))) {

Modified: freeswitch/branches/1.0/src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.c
==============================================================================
--- freeswitch/branches/1.0/src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.c	(original)
+++ freeswitch/branches/1.0/src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.c	Thu Jan 22 16:31:52 2009
@@ -449,7 +449,7 @@
 	char *fs_user = NULL, *fs_domain = NULL;
 	char *path_info = NULL;
 	abyss_bool ret = TRUE;
-	int html = 0, text = 0;
+	int html = 0, text = 0, xml = 0;
 
 	stream.data = r;
 	stream.write_function = http_stream_write;
@@ -467,6 +467,9 @@
 	} else if ((command = strstr(r->requestInfo.uri, "/txtapi/"))) {
 		command += 8;
 		text++;
+	} else if ((command = strstr(r->requestInfo.uri, "/xmlapi/"))) {
+		command += 8;
+		xml++;
 	} else {
 		return FALSE;
 	}
@@ -529,13 +532,15 @@
 			switch_event_add_header_string(stream.param_event, SWITCH_STACK_BOTTOM, "Content-type", "text/html");
 		else if (text)
 			switch_event_add_header_string(stream.param_event, SWITCH_STACK_BOTTOM, "Content-type", "text/plain");
+		else if (xml)
+			switch_event_add_header_string(stream.param_event, SWITCH_STACK_BOTTOM, "Content-type", "text/xml");
 		if (fs_user)
 			switch_event_add_header_string(stream.param_event, SWITCH_STACK_BOTTOM, "FreeSWITCH-User", fs_user);
 		if (fs_domain)
 			switch_event_add_header_string(stream.param_event, SWITCH_STACK_BOTTOM, "FreeSWITCH-Domain", fs_domain);
 		if (path_info)
 			switch_event_add_header_string(stream.param_event, SWITCH_STACK_BOTTOM, "HTTP-Path-Info", path_info);
-		switch_event_add_header_string(stream.param_event, SWITCH_STACK_BOTTOM, "HTTP-URI", r->requestInfo.uri);
+			switch_event_add_header_string(stream.param_event, SWITCH_STACK_BOTTOM, "HTTP-URI", r->requestInfo.uri);
 		if (r->requestInfo.query)
 			switch_event_add_header_string(stream.param_event, SWITCH_STACK_BOTTOM, "HTTP-QUERY", r->requestInfo.query);
 		if (r->requestInfo.host)
@@ -654,6 +659,8 @@
 		ResponseAddField(r, "Content-Type", "text/html");
 	} else if (text) {
 		ResponseAddField(r, "Content-Type", "text/plain");
+	} else if (xml) {
+		ResponseAddField(r, "Content-Type", "text/xml");
 	}
 
 	for (i = 0; i < r->response_headers.size; i++) {
@@ -667,7 +674,7 @@
 	switch_snprintf(buf, sizeof(buf), "Connection: close\r\n");
 	ConnWrite(r->conn, buf, (uint32_t) strlen(buf));
 
-	if (html || text) {
+	if (html || text || xml) {
 		ConnWrite(r->conn, "\r\n", 2);
 	}
 


From mikej at freeswitch.org  Thu Jan 22 14:36:08 2009
From: mikej at freeswitch.org (FreeSWITCH SVN)
Date: Thu, 22 Jan 2009 16:36:08 -0600
Subject: [Freeswitch-branches] [commit] r11420 -
	freeswitch/branches/1.0/src/mod/endpoints/mod_sofia
Message-ID: 

Author: mikej
Date: Thu Jan 22 16:36:07 2009
New Revision: 11420

Log:


Modified:
   freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/sofia_glue.c

Modified: freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/sofia_glue.c
==============================================================================
--- freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/sofia_glue.c	(original)
+++ freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/sofia_glue.c	Thu Jan 22 16:36:07 2009
@@ -2351,8 +2351,8 @@
 			switch_channel_set_variable(tech_pvt->channel, "has_t38", "true");
 			switch_channel_set_private(tech_pvt->channel, "t38_options", t38_options);
 
-			switch_channel_set_flag(tech_pvt->channel, CF_PROXY_MEDIA);
-			switch_rtp_set_flag(tech_pvt->rtp_session, SWITCH_RTP_FLAG_PROXY_MEDIA);
+			//switch_channel_set_flag(tech_pvt->channel, CF_PROXY_MEDIA);
+			//switch_rtp_set_flag(tech_pvt->rtp_session, SWITCH_RTP_FLAG_PROXY_MEDIA);
 
 		} else if (m->m_type == sdp_media_audio && m->m_port && !got_audio) {
 			sdp_rtpmap_t *map;


From mikej at freeswitch.org  Thu Jan 22 14:51:26 2009
From: mikej at freeswitch.org (FreeSWITCH SVN)
Date: Thu, 22 Jan 2009 16:51:26 -0600
Subject: [Freeswitch-branches] [commit] r11422 - freeswitch/branches/1.0/src
Message-ID: 

Author: mikej
Date: Thu Jan 22 16:51:26 2009
New Revision: 11422

Log:
core: fix buffering issues (r:11101,11145)

Modified:
   freeswitch/branches/1.0/src/switch_core_file.c

Modified: freeswitch/branches/1.0/src/switch_core_file.c
==============================================================================
--- freeswitch/branches/1.0/src/switch_core_file.c	(original)
+++ freeswitch/branches/1.0/src/switch_core_file.c	Thu Jan 22 16:51:26 2009
@@ -161,11 +161,12 @@
 
 		if (fh->resampler->to_len < want || fh->resampler->to_len > orig_len) {
 			if (!fh->buffer) {
-				switch_buffer_create_dynamic(&fh->buffer, fh->resampler->to_len * 4, fh->resampler->to_len * 8, fh->resampler->to_len * 32);
+				int factor = fh->resampler->to_len * fh->samplerate / 1000;
+				switch_buffer_create_dynamic(&fh->buffer, factor, factor, 0);
 				switch_assert(fh->buffer);
 			}
 			if (!fh->dbuf) {
-				fh->dbuflen = fh->resampler->to_len * 8;
+				fh->dbuflen = want * 2;
 				fh->dbuf = switch_core_alloc(fh->memory_pool, fh->dbuflen);
 			}
 			switch_assert(fh->resampler->to_len <= fh->dbuflen);
@@ -174,7 +175,7 @@
 			switch_buffer_write(fh->buffer, fh->dbuf, fh->resampler->to_len * 2);
 
 			if (switch_buffer_inuse(fh->buffer) < want * 2) {
-				*len = want - fh->resampler->to_len;
+				*len = want;
 				goto more;
 			}
 			*len = switch_buffer_read(fh->buffer, data, orig_len * 2) / 2;


From mikej at freeswitch.org  Thu Jan 22 14:53:11 2009
From: mikej at freeswitch.org (FreeSWITCH SVN)
Date: Thu, 22 Jan 2009 16:53:11 -0600
Subject: [Freeswitch-branches] [commit] r11423 -
	freeswitch/branches/1.0/conf/dialplan
Message-ID: 

Author: mikej
Date: Thu Jan 22 16:53:11 2009
New Revision: 11423

Log:


Modified:
   freeswitch/branches/1.0/conf/dialplan/public.xml

Modified: freeswitch/branches/1.0/conf/dialplan/public.xml
==============================================================================
--- freeswitch/branches/1.0/conf/dialplan/public.xml	(original)
+++ freeswitch/branches/1.0/conf/dialplan/public.xml	Thu Jan 22 16:53:11 2009
@@ -31,7 +31,7 @@
     
 
     
-      
+      
 	
       
     


From mikej at freeswitch.org  Thu Jan 22 14:58:28 2009
From: mikej at freeswitch.org (FreeSWITCH SVN)
Date: Thu, 22 Jan 2009 16:58:28 -0600
Subject: [Freeswitch-branches] [commit] r11424 -
	freeswitch/branches/1.0/src/mod/endpoints/mod_sofia
Message-ID: 

Author: mikej
Date: Thu Jan 22 16:58:28 2009
New Revision: 11424

Log:
mod_sofia: add support in sdp for a=maxptime (r:11103)

Modified:
   freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/sofia_glue.c

Modified: freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/sofia_glue.c
==============================================================================
--- freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/sofia_glue.c	(original)
+++ freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/sofia_glue.c	Thu Jan 22 16:58:28 2009
@@ -2252,7 +2252,7 @@
 	sdp_media_t *m;
 	sdp_attribute_t *attr;
 	int first = 0, last = 0;
-	int ptime = 0, dptime = 0;
+	int ptime = 0, dptime = 0, maxptime = 0, dmaxptime = 0;
 	int sendonly = 0;
 	int greedy = 0, x = 0, skip = 0, mine = 0;
 	switch_channel_t *channel = switch_core_session_get_channel(session);
@@ -2302,6 +2302,8 @@
 			sendonly = 0;
 		} else if (!strcasecmp(attr->a_name, "ptime")) {
 			dptime = atoi(attr->a_value);
+		} else if (!strcasecmp(attr->a_name, "maxptime")) {
+			dmaxptime = atoi(attr->a_value);
 		}
 	}
 
@@ -2314,6 +2316,7 @@
 		sdp_connection_t *connection;
 
 		ptime = dptime;
+		maxptime = dmaxptime;
 
 		if (m->m_proto == sdp_proto_srtp) {
 			got_savp++;
@@ -2360,6 +2363,8 @@
 			for (attr = m->m_attributes; attr; attr = attr->a_next) {
 				if (!strcasecmp(attr->a_name, "ptime") && attr->a_value) {
 					ptime = atoi(attr->a_value);
+				} else if (!strcasecmp(attr->a_name, "maxptime") && attr->a_value) {
+					maxptime = atoi(attr->a_value);
 				} else if (!got_crypto && !strcasecmp(attr->a_name, "crypto") && !switch_strlen_zero(attr->a_value)) {
 					int crypto_tag;
 
@@ -2498,6 +2503,10 @@
 					first = 0;
 					last = tech_pvt->num_codecs;
 				}
+				
+				if (maxptime && (!ptime || ptime > maxptime)) {
+					ptime = maxptime;
+				}
 
 				for (i = first; i < last && i < tech_pvt->num_codecs; i++) {
 					const switch_codec_implementation_t *imp = tech_pvt->codecs[i];
@@ -2515,7 +2524,8 @@
 					}
 
 					if (match) {
-						if ((ptime && ptime * 1000 != imp->microseconds_per_packet) || map->rm_rate != codec_rate) {
+						if ((ptime && ptime * 1000 != imp->microseconds_per_packet) || 
+							map->rm_rate != codec_rate) {
 							near_rate = map->rm_rate;
 							near_match = imp;
 							match = 0;
@@ -2545,9 +2555,14 @@
 						mimp = near_match;
 					}
 
-					switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Substituting codec %s@%ui@%uh\n",
-									  mimp->iananame, mimp->microseconds_per_packet / 1000, mimp->samples_per_second);
-					match = 1;
+					if (!maxptime || mimp->microseconds_per_packet / 1000 <= maxptime) {
+						switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Substituting codec %s@%ui@%uh\n",
+										  mimp->iananame, mimp->microseconds_per_packet / 1000, mimp->samples_per_second);
+						match = 1;
+					} else {
+						mimp = NULL;
+						match = 0;
+					}
 				}
 
 				if (!match && greedy) {


From mikej at freeswitch.org  Thu Jan 22 15:01:56 2009
From: mikej at freeswitch.org (FreeSWITCH SVN)
Date: Thu, 22 Jan 2009 17:01:56 -0600
Subject: [Freeswitch-branches] [commit] r11426 - in
	freeswitch/branches/1.0/src: . include
	mod/applications/mod_conference mod/applications/mod_rss
	mod/endpoints/mod_loopback mod/endpoints/mod_sofia
	mod/event_handlers/mod_erlang_event
	mod/event_handlers/mod_event_socket mod/formats/mod_local_stream
Message-ID: 

Author: mikej
Date: Thu Jan 22 17:01:56 2009
New Revision: 11426

Log:
core: fix codec and media handling issues (r:11104) 

Modified:
   freeswitch/branches/1.0/src/include/switch_core.h
   freeswitch/branches/1.0/src/include/switch_module_interfaces.h
   freeswitch/branches/1.0/src/include/switch_types.h
   freeswitch/branches/1.0/src/mod/applications/mod_conference/mod_conference.c
   freeswitch/branches/1.0/src/mod/applications/mod_rss/mod_rss.c
   freeswitch/branches/1.0/src/mod/endpoints/mod_loopback/mod_loopback.c
   freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/sofia_glue.c
   freeswitch/branches/1.0/src/mod/event_handlers/mod_erlang_event/mod_erlang_event.c
   freeswitch/branches/1.0/src/mod/event_handlers/mod_event_socket/mod_event_socket.c
   freeswitch/branches/1.0/src/mod/formats/mod_local_stream/mod_local_stream.c
   freeswitch/branches/1.0/src/switch_core.c
   freeswitch/branches/1.0/src/switch_core_file.c
   freeswitch/branches/1.0/src/switch_core_io.c
   freeswitch/branches/1.0/src/switch_core_session.c
   freeswitch/branches/1.0/src/switch_core_state_machine.c
   freeswitch/branches/1.0/src/switch_ivr.c
   freeswitch/branches/1.0/src/switch_ivr_async.c
   freeswitch/branches/1.0/src/switch_ivr_bridge.c
   freeswitch/branches/1.0/src/switch_ivr_originate.c
   freeswitch/branches/1.0/src/switch_ivr_play_say.c

Modified: freeswitch/branches/1.0/src/include/switch_core.h
==============================================================================
--- freeswitch/branches/1.0/src/include/switch_core.h	(original)
+++ freeswitch/branches/1.0/src/include/switch_core.h	Thu Jan 22 17:01:56 2009
@@ -330,7 +330,7 @@
   \return success if it is safe to read from the session
 */
 #ifdef SWITCH_DEBUG_RWLOCKS
-#define switch_core_session_read_lock(session) switch_core_session_perform_read_lock_hangup(session, __FILE__, __SWITCH_FUNC__, __LINE__)
+#define switch_core_session_read_lock_hangup(session) switch_core_session_perform_read_lock_hangup(session, __FILE__, __SWITCH_FUNC__, __LINE__)
 #else
 SWITCH_DECLARE(switch_status_t) switch_core_session_read_lock_hangup(_In_ switch_core_session_t *session);
 #endif
@@ -901,7 +901,7 @@
   \param session the session to reset
   \param flush_dtmf flush all queued dtmf events too
 */
-SWITCH_DECLARE(void) switch_core_session_reset(_In_ switch_core_session_t *session, switch_bool_t flush_dtmf);
+SWITCH_DECLARE(void) switch_core_session_reset(_In_ switch_core_session_t *session, switch_bool_t flush_dtmf, switch_bool_t reset_read_codec);
 
 /*! 
   \brief Write a frame to a session

Modified: freeswitch/branches/1.0/src/include/switch_module_interfaces.h
==============================================================================
--- freeswitch/branches/1.0/src/include/switch_module_interfaces.h	(original)
+++ freeswitch/branches/1.0/src/include/switch_module_interfaces.h	Thu Jan 22 17:01:56 2009
@@ -320,6 +320,9 @@
 	switch_buffer_t *buffer;
 	switch_byte_t *dbuf;
 	switch_size_t dbuflen;
+	switch_buffer_t *pre_buffer;
+	unsigned char *pre_buffer_data;
+	switch_size_t pre_buffer_datalen;
 	const char *file;
 	const char *func;
 	int line;

Modified: freeswitch/branches/1.0/src/include/switch_types.h
==============================================================================
--- freeswitch/branches/1.0/src/include/switch_types.h	(original)
+++ freeswitch/branches/1.0/src/include/switch_types.h	Thu Jan 22 17:01:56 2009
@@ -166,7 +166,9 @@
 #define SWITCH_SPEECH_KEY "speech"
 #define SWITCH_UUID_BRIDGE "uuid_bridge"
 #define SWITCH_BITS_PER_BYTE 8
-	typedef uint8_t switch_byte_t;
+#define SWITCH_DEFAULT_FILE_BUFFER_LEN 65536
+
+typedef uint8_t switch_byte_t;
 
 typedef struct {
 	char digit;
@@ -1061,7 +1063,9 @@
 	SWITCH_FILE_NATIVE = (1 << 9),
 	SWITCH_FILE_SEEK = (1 << 10),
 	SWITCH_FILE_OPEN = (1 << 11),
-	SWITCH_FILE_CALLBACK = (1 << 12)
+	SWITCH_FILE_CALLBACK = (1 << 12),
+	SWITCH_FILE_DONE = (1 << 13),
+	SWITCH_FILE_BUFFER_DONE = (1 << 14)
 } switch_file_flag_enum_t;
 typedef uint32_t switch_file_flag_t;
 

Modified: freeswitch/branches/1.0/src/mod/applications/mod_conference/mod_conference.c
==============================================================================
--- freeswitch/branches/1.0/src/mod/applications/mod_conference/mod_conference.c	(original)
+++ freeswitch/branches/1.0/src/mod/applications/mod_conference/mod_conference.c	Thu Jan 22 17:01:56 2009
@@ -1,4 +1,4 @@
-/* 
+/*
  * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
  * Copyright (C) 2005/2006, Anthony Minessale II 
  *
@@ -139,7 +139,8 @@
 	MFLAG_FLUSH_BUFFER = (1 << 8),
 	MFLAG_ENDCONF = (1 << 9),
 	MFLAG_HAS_AUDIO = (1 << 10),
-	MFLAG_TALKING = (1 << 11)
+	MFLAG_TALKING = (1 << 11),
+	MFLAG_RESTART = (1 << 12)
 } member_flag_t;
 
 typedef enum {
@@ -337,6 +338,7 @@
 } api_command_t;
 
 /* Function Prototypes */
+static int setup_media(conference_member_t *member, conference_obj_t *conference);
 static uint32_t next_member_id(void);
 static conference_relationship_t *member_get_relationship(conference_member_t *member, conference_member_t *other_member);
 static conference_member_t *conference_member_get(conference_obj_t *conference, uint32_t id);
@@ -1758,18 +1760,43 @@
 /* NB. this starts the input thread after some initial setup for the call leg */
 static void conference_loop_output(conference_member_t *member)
 {
-	switch_channel_t *channel = switch_core_session_get_channel(member->session);
+	switch_channel_t *channel;
 	switch_frame_t write_frame = { 0 };
-	uint8_t *data;
+	uint8_t *data = NULL;
 	switch_timer_t timer = { 0 };
-	switch_codec_t *read_codec = switch_core_session_get_read_codec(member->session);
-	uint32_t interval = read_codec->implementation->microseconds_per_packet / 1000;
-	uint32_t samples = switch_samples_per_packet(member->conference->rate, interval);
-	uint32_t csamples = samples;
-	uint32_t tsamples = member->orig_read_codec->implementation->samples_per_packet;
-	uint32_t flush_len = 0;
-	uint32_t low_count = 0, bytes = samples * 2;
-	call_list_t *call_list = NULL, *cp = NULL;
+	switch_codec_t *read_codec;
+	uint32_t interval;
+	uint32_t samples;
+	uint32_t csamples;
+	uint32_t tsamples;
+	uint32_t flush_len;
+	uint32_t low_count, bytes;
+	call_list_t *call_list, *cp;
+	int restarting = -1;
+
+ top:
+
+	restarting++;
+	
+	if (switch_test_flag(member, MFLAG_RESTART)) {
+		switch_clear_flag(member, MFLAG_RESTART);
+		switch_set_flag_locked(member, MFLAG_FLUSH_BUFFER);
+		switch_core_timer_destroy(&timer);
+	}
+
+	channel = switch_core_session_get_channel(member->session);
+	read_codec = switch_core_session_get_read_codec(member->session);
+	interval = read_codec->implementation->microseconds_per_packet / 1000;
+	samples = switch_samples_per_packet(member->conference->rate, interval);
+	csamples = samples;
+	tsamples = member->orig_read_codec->implementation->samples_per_packet;
+	flush_len = 0;
+	low_count = 0;
+	bytes = samples * 2;
+	call_list = NULL;
+	cp = NULL;
+
+
 
 	switch_assert(member->conference != NULL);
 
@@ -1783,62 +1810,72 @@
 	switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Setup timer %s success interval: %u  samples: %u\n",
 					  member->conference->timer_name, interval, tsamples);
 
-	write_frame.data = data = switch_core_session_alloc(member->session, SWITCH_RECOMMENDED_BUFFER_SIZE);
-	write_frame.buflen = SWITCH_RECOMMENDED_BUFFER_SIZE;
+	if (!restarting) {
+		write_frame.data = data = switch_core_session_alloc(member->session, SWITCH_RECOMMENDED_BUFFER_SIZE);
+		write_frame.buflen = SWITCH_RECOMMENDED_BUFFER_SIZE;
+	}
+
 	write_frame.codec = &member->write_codec;
 
 	if (!switch_test_flag(member->conference, CFLAG_ANSWERED)) {
 		switch_channel_answer(channel);
 	}
 
-	/* Start the input thread */
-	launch_conference_loop_input(member, switch_core_session_get_pool(member->session));
-
-	/* build a digit stream object */
-	if (member->conference->dtmf_parser != NULL
-		&& switch_ivr_digit_stream_new(member->conference->dtmf_parser, &member->digit_stream) != SWITCH_STATUS_SUCCESS) {
-		switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Danger Will Robinson, there is no digit parser stream object\n");
-	}
-
-	if ((call_list = switch_channel_get_private(channel, "_conference_autocall_list_"))) {
-		const char *cid_name = switch_channel_get_variable(channel, "conference_auto_outcall_caller_id_name");
-		const char *cid_num = switch_channel_get_variable(channel, "conference_auto_outcall_caller_id_number");
-		const char *toval = switch_channel_get_variable(channel, "conference_auto_outcall_timeout");
-		const char *flags = switch_channel_get_variable(channel, "conference_auto_outcall_flags");
-		const char *ann = switch_channel_get_variable(channel, "conference_auto_outcall_announce");
-		const char *prefix = switch_channel_get_variable(channel, "conference_auto_outcall_prefix");
-		int to = 60;
+	if (!restarting) {
+		/* Start the input thread */
+		launch_conference_loop_input(member, switch_core_session_get_pool(member->session));
 		
-		if (ann) {
-			member->conference->special_announce = switch_core_strdup(member->conference->pool, ann);
+		/* build a digit stream object */
+		if (member->conference->dtmf_parser != NULL
+			&& switch_ivr_digit_stream_new(member->conference->dtmf_parser, &member->digit_stream) != SWITCH_STATUS_SUCCESS) {
+			switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Danger Will Robinson, there is no digit parser stream object\n");
 		}
 
-		switch_channel_set_private(channel, "_conference_autocall_list_", NULL);
+		if ((call_list = switch_channel_get_private(channel, "_conference_autocall_list_"))) {
+			const char *cid_name = switch_channel_get_variable(channel, "conference_auto_outcall_caller_id_name");
+			const char *cid_num = switch_channel_get_variable(channel, "conference_auto_outcall_caller_id_number");
+			const char *toval = switch_channel_get_variable(channel, "conference_auto_outcall_timeout");
+			const char *flags = switch_channel_get_variable(channel, "conference_auto_outcall_flags");
+			const char *ann = switch_channel_get_variable(channel, "conference_auto_outcall_announce");
+			const char *prefix = switch_channel_get_variable(channel, "conference_auto_outcall_prefix");
+			int to = 60;
+		
+			if (ann) {
+				member->conference->special_announce = switch_core_strdup(member->conference->pool, ann);
+			}
+
+			switch_channel_set_private(channel, "_conference_autocall_list_", NULL);
 
-		if (toval) {
-			to = atoi(toval);
-			if (to < 10 || to > 500) {
-				to = 60;
+			if (toval) {
+				to = atoi(toval);
+				if (to < 10 || to > 500) {
+					to = 60;
+				}
 			}
-		}
 
-		for (cp = call_list; cp; cp = cp->next) {
-			int argc;
-			char *argv[512] = { 0 };
-			char *cpstr = strdup(cp->string);
-			int x = 0;
+			for (cp = call_list; cp; cp = cp->next) {
+				int argc;
+				char *argv[512] = { 0 };
+				char *cpstr = strdup(cp->string);
+				int x = 0;
 
-			switch_assert(cpstr);
-			argc = switch_separate_string(cpstr, ',', argv, (sizeof(argv) / sizeof(argv[0])));
-			for (x = 0; x < argc; x++) {
-				char *dial_str = switch_mprintf("%s%s", switch_str_nil(prefix), argv[x]);
-				switch_assert(dial_str);
-				conference_outcall_bg(member->conference, NULL, NULL, dial_str, to, switch_str_nil(flags), cid_name, cid_num);
-				switch_safe_free(dial_str);
+				switch_assert(cpstr);
+				argc = switch_separate_string(cpstr, ',', argv, (sizeof(argv) / sizeof(argv[0])));
+				for (x = 0; x < argc; x++) {
+					char *dial_str = switch_mprintf("%s%s", switch_str_nil(prefix), argv[x]);
+					switch_assert(dial_str);
+					conference_outcall_bg(member->conference, NULL, NULL, dial_str, to, switch_str_nil(flags), cid_name, cid_num);
+					switch_safe_free(dial_str);
+				}
+				switch_safe_free(cpstr);
 			}
-			switch_safe_free(cpstr);
 		}
 	}
+
+	if (restarting) {
+		switch_channel_clear_flag(channel, CF_SERVICE);
+	}
+
 	/* Fair WARNING, If you expect the caller to hear anything or for digit handling to be processed,      */
 	/* you better not block this thread loop for more than the duration of member->conference->timer_name!  */
 	while (switch_test_flag(member, MFLAG_RUNNING) && switch_test_flag(member, MFLAG_ITHREAD)
@@ -1852,6 +1889,10 @@
 		switch_size_t file_sample_len = csamples;
 		switch_size_t file_data_len = file_sample_len * 2;
 
+		if (switch_test_flag(member, MFLAG_RESTART)) {
+			goto top;
+		}
+
 		switch_mutex_lock(member->flag_mutex);
 
 		if (switch_core_session_dequeue_event(member->session, &event) == SWITCH_STATUS_SUCCESS) {
@@ -2145,6 +2186,8 @@
 		switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error Joining Conference\n");
 		goto end;
 	}
+	
+	fh.pre_buffer_datalen = SWITCH_DEFAULT_FILE_BUFFER_LEN;
 
 	if (switch_core_file_open(&fh,
 							  rec->path, (uint8_t) 1, conference->rate, SWITCH_FILE_FLAG_WRITE | SWITCH_FILE_DATA_SHORT,
@@ -2371,6 +2414,7 @@
 	fnode->leadin = leadin;
 
 	/* Open the file */
+	fnode->fh.pre_buffer_datalen = SWITCH_DEFAULT_FILE_BUFFER_LEN;
 	if (switch_core_file_open(&fnode->fh, file, (uint8_t) 1, conference->rate, SWITCH_FILE_FLAG_READ | SWITCH_FILE_DATA_SHORT, pool) !=
 		SWITCH_STATUS_SUCCESS) {
 		switch_core_destroy_memory_pool(&pool);
@@ -2465,6 +2509,7 @@
 	fnode->type = NODE_TYPE_FILE;
 	fnode->leadin = leadin;
 	/* Open the file */
+	fnode->fh.pre_buffer_datalen = SWITCH_DEFAULT_FILE_BUFFER_LEN;
 	if (switch_core_file_open(&fnode->fh,
 							  file, (uint8_t) 1, member->conference->rate, SWITCH_FILE_FLAG_READ | SWITCH_FILE_DATA_SHORT,
 							  pool) != SWITCH_STATUS_SUCCESS) {
@@ -3631,9 +3676,21 @@
 			switch_mutex_lock(member->flag_mutex);
 			conference_del_member(conference, member);
 			conference_add_member(new_conference, member);
+
+			if (conference->rate != new_conference->rate) {
+				if(setup_media(member, new_conference)) {
+					switch_clear_flag_locked(member, MFLAG_RUNNING);
+				} else {
+					switch_channel_set_flag(channel, CF_SERVICE);
+					switch_set_flag(member, MFLAG_RESTART);
+				}
+			}
+
 			switch_mutex_unlock(new_conference->mutex);
 			switch_mutex_unlock(member->flag_mutex);
-			stream->write_function(stream, "OK Members sent to conference %s.\n", argv[2]);
+
+			
+			stream->write_function(stream, "OK Member '%d' sent to conference %s.\n", member->id, argv[2]);
 
 			/* tell them what happened */
 			if (test_eflag(conference, EFLAG_TRANSFER) &&
@@ -4349,6 +4406,111 @@
 	switch_channel_set_private(channel, "_conference_autocall_list_", call_list);
 }
 
+
+static int setup_media(conference_member_t *member, conference_obj_t *conference)
+{
+	switch_codec_t *read_codec;
+
+	
+	switch_core_session_reset(member->session, SWITCH_TRUE, SWITCH_FALSE);
+
+	if (member->read_codec.implementation) {
+		switch_core_codec_destroy(&member->read_codec);
+	}
+
+	if (member->read_resampler) {
+		switch_resample_destroy(&member->read_resampler);
+	}
+
+	read_codec = switch_core_session_get_read_codec(member->session);
+	member->orig_read_codec = read_codec;
+	member->native_rate = read_codec->implementation->samples_per_second;
+
+	/* Setup a Signed Linear codec for reading audio. */
+	if (switch_core_codec_init(&member->read_codec,
+							   "L16",
+							   NULL, read_codec->implementation->actual_samples_per_second, read_codec->implementation->microseconds_per_packet / 1000,
+							   1, SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE, NULL, member->pool) == SWITCH_STATUS_SUCCESS) {
+		switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG,
+						  "Raw Codec Activation Success L16@%uhz 1 channel %dms\n",
+						  read_codec->implementation->actual_samples_per_second, read_codec->implementation->microseconds_per_packet / 1000);
+
+	} else {
+		switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Raw Codec Activation Failed L16@%uhz 1 channel %dms\n",
+						  read_codec->implementation->actual_samples_per_second, read_codec->implementation->microseconds_per_packet / 1000);
+
+		goto done;
+	}
+
+	if (!member->frame_size) {
+		member->frame_size = SWITCH_RECOMMENDED_BUFFER_SIZE;
+		member->frame = switch_core_alloc(member->pool, member->frame_size);
+		member->mux_frame = switch_core_alloc(member->pool, member->frame_size);
+	}
+
+	if (read_codec->implementation->actual_samples_per_second != conference->rate) {
+		if (switch_resample_create(&member->read_resampler,
+								   read_codec->implementation->actual_samples_per_second,
+								   member->frame_size, conference->rate, member->frame_size, member->pool) != SWITCH_STATUS_SUCCESS) {
+			switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Unable to create resampler!\n");
+			goto done;
+		}
+
+
+		member->resample_out = switch_core_alloc(member->pool, member->frame_size);
+		member->resample_out_len = member->frame_size;
+
+		/* Setup an audio buffer for the resampled audio */
+		if (switch_buffer_create_dynamic(&member->resample_buffer, CONF_DBLOCK_SIZE, CONF_DBUFFER_SIZE, CONF_DBUFFER_MAX)
+			!= SWITCH_STATUS_SUCCESS) {
+			switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Memory Error Creating Audio Buffer!\n");
+			goto done;
+		}
+	}
+
+
+	/* Setup a Signed Linear codec for writing audio. */
+	if (switch_core_codec_init(&member->write_codec,
+							   "L16",
+							   NULL,
+							   conference->rate,
+							   read_codec->implementation->microseconds_per_packet / 1000,
+							   1, SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE, NULL, member->pool) == SWITCH_STATUS_SUCCESS) {
+		switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG,
+						  "Raw Codec Activation Success L16@%uhz 1 channel %dms\n",
+						  conference->rate, read_codec->implementation->microseconds_per_packet / 1000);
+	} else {
+		switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Raw Codec Activation Failed L16@%uhz 1 channel %dms\n",
+						  conference->rate, read_codec->implementation->microseconds_per_packet / 1000);
+		goto codec_done2;
+	}
+
+	/* Setup an audio buffer for the incoming audio */
+	if (switch_buffer_create_dynamic(&member->audio_buffer, CONF_DBLOCK_SIZE, CONF_DBUFFER_SIZE, CONF_DBUFFER_MAX) != SWITCH_STATUS_SUCCESS) {
+		switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Memory Error Creating Audio Buffer!\n");
+		goto codec_done1;
+	}
+
+	/* Setup an audio buffer for the outgoing audio */
+	if (switch_buffer_create_dynamic(&member->mux_buffer, CONF_DBLOCK_SIZE, CONF_DBUFFER_SIZE, CONF_DBUFFER_MAX) != SWITCH_STATUS_SUCCESS) {
+		switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Memory Error Creating Audio Buffer!\n");
+		goto codec_done1;
+	}
+
+	return 0;
+
+ codec_done1:
+	switch_core_codec_destroy(&member->read_codec);
+ codec_done2:
+	switch_core_codec_destroy(&member->write_codec);
+ done:
+
+	return -1;
+	
+
+}
+
+
 /* Application interface function that is called from the dialplan to join the channel to a conference */
 SWITCH_STANDARD_APP(conference_function)
 {
@@ -4632,84 +4794,16 @@
 			switch_set_flag(conference, CFLAG_ANSWERED);
 	}
 
-	member.orig_read_codec = read_codec;
-	member.native_rate = read_codec->implementation->samples_per_second;
+	member.session = session;
 	member.pool = switch_core_session_get_pool(session);
 
-	/* Setup a Signed Linear codec for reading audio. */
-	if (switch_core_codec_init(&member.read_codec,
-							   "L16",
-							   NULL, read_codec->implementation->actual_samples_per_second, read_codec->implementation->microseconds_per_packet / 1000,
-							   1, SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE, NULL, member.pool) == SWITCH_STATUS_SUCCESS) {
-		switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG,
-						  "Raw Codec Activation Success L16@%uhz 1 channel %dms\n",
-						  read_codec->implementation->actual_samples_per_second, read_codec->implementation->microseconds_per_packet / 1000);
-
-	} else {
-		switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Raw Codec Activation Failed L16@%uhz 1 channel %dms\n",
-						  read_codec->implementation->actual_samples_per_second, read_codec->implementation->microseconds_per_packet / 1000);
-
+	if (setup_media(&member, conference)) {
 		flags = 0;
 		goto done;
 	}
 
-	member.frame_size = SWITCH_RECOMMENDED_BUFFER_SIZE;
-	member.frame = switch_core_alloc(member.pool, member.frame_size);
-	member.mux_frame = switch_core_alloc(member.pool, member.frame_size);
-
-	if (read_codec->implementation->actual_samples_per_second != conference->rate) {
-		if (switch_resample_create(&member.read_resampler,
-								   read_codec->implementation->actual_samples_per_second,
-								   member.frame_size, conference->rate, member.frame_size, member.pool) != SWITCH_STATUS_SUCCESS) {
-			switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Unable to create resampler!\n");
-			goto done;
-		}
-
-
-		member.resample_out = switch_core_alloc(member.pool, member.frame_size);
-		member.resample_out_len = member.frame_size;
-
-		/* Setup an audio buffer for the resampled audio */
-		if (switch_buffer_create_dynamic(&member.resample_buffer, CONF_DBLOCK_SIZE, CONF_DBUFFER_SIZE, CONF_DBUFFER_MAX)
-			!= SWITCH_STATUS_SUCCESS) {
-			switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Memory Error Creating Audio Buffer!\n");
-			goto done;
-		}
-	}
-
-
-	/* Setup a Signed Linear codec for writing audio. */
-	if (switch_core_codec_init(&member.write_codec,
-							   "L16",
-							   NULL,
-							   conference->rate,
-							   read_codec->implementation->microseconds_per_packet / 1000,
-							   1, SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE, NULL, member.pool) == SWITCH_STATUS_SUCCESS) {
-		switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG,
-						  "Raw Codec Activation Success L16@%uhz 1 channel %dms\n",
-						  conference->rate, read_codec->implementation->microseconds_per_packet / 1000);
-	} else {
-		switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Raw Codec Activation Failed L16@%uhz 1 channel %dms\n",
-						  conference->rate, read_codec->implementation->microseconds_per_packet / 1000);
-		flags = 0;
-		goto codec_done2;
-	}
-
-	/* Setup an audio buffer for the incoming audio */
-	if (switch_buffer_create_dynamic(&member.audio_buffer, CONF_DBLOCK_SIZE, CONF_DBUFFER_SIZE, CONF_DBUFFER_MAX) != SWITCH_STATUS_SUCCESS) {
-		switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Memory Error Creating Audio Buffer!\n");
-		goto codec_done1;
-	}
-
-	/* Setup an audio buffer for the outgoing audio */
-	if (switch_buffer_create_dynamic(&member.mux_buffer, CONF_DBLOCK_SIZE, CONF_DBUFFER_SIZE, CONF_DBUFFER_MAX) != SWITCH_STATUS_SUCCESS) {
-		switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Memory Error Creating Audio Buffer!\n");
-		goto codec_done1;
-	}
-
 	/* Prepare MUTEXS */
 	member.id = next_member_id();
-	member.session = session;
 	switch_mutex_init(&member.flag_mutex, SWITCH_MUTEX_NESTED, member.pool);
 	switch_mutex_init(&member.audio_in_mutex, SWITCH_MUTEX_NESTED, member.pool);
 	switch_mutex_init(&member.audio_out_mutex, SWITCH_MUTEX_NESTED, member.pool);
@@ -4724,7 +4818,8 @@
 
 	/* Add the caller to the conference */
 	if (conference_add_member(conference, &member) != SWITCH_STATUS_SUCCESS) {
-		goto codec_done1;
+		switch_core_codec_destroy(&member.read_codec);
+		goto done;
 	}
 
 	msg.from = __FILE__;
@@ -4747,12 +4842,14 @@
 	/* Put the original codec back */
 	switch_core_session_set_read_codec(member.session, NULL);
 
-	/* Clean Up.  codec_done(X): is for error situations after the codecs were setup and done: is for situations before */
-  codec_done1:
-	switch_core_codec_destroy(&member.read_codec);
-  codec_done2:
-	switch_core_codec_destroy(&member.write_codec);
+	/* Clean Up. */
+
   done:
+
+	if (member.read_resampler) {
+		switch_resample_destroy(&member.read_resampler);
+	}
+
 	switch_event_destroy(¶ms);
 	switch_buffer_destroy(&member.resample_buffer);
 	switch_buffer_destroy(&member.audio_buffer);
@@ -4796,7 +4893,7 @@
 		}
 	}
 
-	switch_core_session_reset(session, SWITCH_TRUE);
+	switch_core_session_reset(session, SWITCH_TRUE, SWITCH_TRUE);
 
 	/* release the readlock */
 	if (rl) {

Modified: freeswitch/branches/1.0/src/mod/applications/mod_rss/mod_rss.c
==============================================================================
--- freeswitch/branches/1.0/src/mod/applications/mod_rss/mod_rss.c	(original)
+++ freeswitch/branches/1.0/src/mod/applications/mod_rss/mod_rss.c	Thu Jan 22 17:01:56 2009
@@ -619,7 +619,7 @@
 	}
 
 	switch_xml_free(xml);
-	switch_core_session_reset(session, SWITCH_TRUE);
+	switch_core_session_reset(session, SWITCH_TRUE, SWITCH_TRUE);
 }
 
 

Modified: freeswitch/branches/1.0/src/mod/endpoints/mod_loopback/mod_loopback.c
==============================================================================
--- freeswitch/branches/1.0/src/mod/endpoints/mod_loopback/mod_loopback.c	(original)
+++ freeswitch/branches/1.0/src/mod/endpoints/mod_loopback/mod_loopback.c	Thu Jan 22 17:01:56 2009
@@ -264,7 +264,10 @@
 	}
 	
 	if (tech_pvt->other_session) {
-		switch_core_session_read_lock(tech_pvt->other_session);
+		if (switch_core_session_read_lock(tech_pvt->other_session) != SWITCH_STATUS_SUCCESS) {
+			switch_channel_hangup(channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER);
+			goto end;
+		}
 	} else {
 		switch_channel_hangup(channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER);
 		goto end;

Modified: freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/sofia_glue.c
==============================================================================
--- freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/sofia_glue.c	(original)
+++ freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/sofia_glue.c	Thu Jan 22 17:01:56 2009
@@ -1623,7 +1623,7 @@
 			resetting = 1;
 			switch_core_codec_destroy(&tech_pvt->read_codec);
 			switch_core_codec_destroy(&tech_pvt->write_codec);
-			switch_core_session_reset(tech_pvt->session, SWITCH_TRUE);
+			switch_core_session_reset(tech_pvt->session, SWITCH_TRUE, SWITCH_TRUE);
 		} else {
 			switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Already using %s\n", tech_pvt->read_codec.implementation->iananame);
 			switch_goto_status(SWITCH_STATUS_SUCCESS, end);

Modified: freeswitch/branches/1.0/src/mod/event_handlers/mod_erlang_event/mod_erlang_event.c
==============================================================================
--- freeswitch/branches/1.0/src/mod/event_handlers/mod_erlang_event/mod_erlang_event.c	(original)
+++ freeswitch/branches/1.0/src/mod/event_handlers/mod_erlang_event/mod_erlang_event.c	Thu Jan 22 17:01:56 2009
@@ -1202,7 +1202,9 @@
 
 	if ((session = listener->session)) {
 		channel = switch_core_session_get_channel(session);
-		switch_core_session_read_lock(session);
+		if (switch_core_session_read_lock(session) != SWITCH_STATUS_SUCCESS) {
+			goto done;
+		}
 	}
 
 	if (switch_strlen_zero(listener->remote_ip)) {

Modified: freeswitch/branches/1.0/src/mod/event_handlers/mod_event_socket/mod_event_socket.c
==============================================================================
--- freeswitch/branches/1.0/src/mod/event_handlers/mod_event_socket/mod_event_socket.c	(original)
+++ freeswitch/branches/1.0/src/mod/event_handlers/mod_event_socket/mod_event_socket.c	Thu Jan 22 17:01:56 2009
@@ -1770,7 +1770,9 @@
 	
 	if ((session = listener->session)) {
 		channel = switch_core_session_get_channel(session);
-		switch_core_session_read_lock(session);
+		if (switch_core_session_read_lock(session) != SWITCH_STATUS_SUCCESS) {
+			goto done;
+		}
 	}
 
 	if (prefs.acl_count && listener->sa && !switch_strlen_zero(listener->remote_ip)) {

Modified: freeswitch/branches/1.0/src/mod/formats/mod_local_stream/mod_local_stream.c
==============================================================================
--- freeswitch/branches/1.0/src/mod/formats/mod_local_stream/mod_local_stream.c	(original)
+++ freeswitch/branches/1.0/src/mod/formats/mod_local_stream/mod_local_stream.c	Thu Jan 22 17:01:56 2009
@@ -183,6 +183,7 @@
 
 			fname = path_buf;
 			fh.prebuf = source->prebuf;
+			fh.pre_buffer_datalen = 65536;
 
 			if (switch_core_file_open(&fh,
 									  (char *) fname,

Modified: freeswitch/branches/1.0/src/switch_core.c
==============================================================================
--- freeswitch/branches/1.0/src/switch_core.c	(original)
+++ freeswitch/branches/1.0/src/switch_core.c	Thu Jan 22 17:01:56 2009
@@ -277,7 +277,10 @@
 	switch_assert(thread != NULL);
 	switch_assert(session != NULL);
 
-	switch_core_session_read_lock(session);
+	if (switch_core_session_read_lock(session) != SWITCH_STATUS_SUCCESS) {
+		return NULL;
+	}
+
 	channel = switch_core_session_get_channel(session);
 
 	switch_channel_set_flag(channel, CF_SERVICE);

Modified: freeswitch/branches/1.0/src/switch_core_file.c
==============================================================================
--- freeswitch/branches/1.0/src/switch_core_file.c	(original)
+++ freeswitch/branches/1.0/src/switch_core_file.c	Thu Jan 22 17:01:56 2009
@@ -117,6 +117,12 @@
 		}
 	}
 
+	if (fh->pre_buffer_datalen) {
+		//switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Prebuffering %d bytes\n", (int)fh->pre_buffer_datalen);
+		switch_buffer_create_dynamic(&fh->pre_buffer, fh->pre_buffer_datalen, fh->pre_buffer_datalen / 2, 0);
+		fh->pre_buffer_data = switch_core_alloc(fh->memory_pool, fh->pre_buffer_datalen);
+	}
+
 	switch_set_flag(fh, SWITCH_FILE_OPEN);
 
 	return status;
@@ -124,26 +130,61 @@
 
 SWITCH_DECLARE(switch_status_t) switch_core_file_read(switch_file_handle_t *fh, void *data, switch_size_t *len)
 {
-	switch_status_t status;
+	switch_status_t status = SWITCH_STATUS_FALSE;
 	switch_size_t want, got, orig_len = *len;
 
 	switch_assert(fh != NULL);
 	switch_assert(fh->file_interface != NULL);
 
+ top:
+
 	if (fh->buffer && switch_buffer_inuse(fh->buffer) >= *len * 2) {
 		*len = switch_buffer_read(fh->buffer, data, orig_len * 2) / 2;
 		return SWITCH_STATUS_SUCCESS;
 	}
-
+	
+	if (switch_test_flag(fh, SWITCH_FILE_DONE)) {
+		switch_clear_flag(fh, SWITCH_FILE_DONE);
+		*len = 0;
+		return SWITCH_STATUS_FALSE;
+	}
+	
 	want = *len;
 
  more:
 	
-	if ((status = fh->file_interface->file_read(fh, data, len)) != SWITCH_STATUS_SUCCESS || !*len) {
-		*len = 0;
-		goto done;
+	if (fh->pre_buffer) {
+		switch_size_t rlen;
+		if (!switch_test_flag(fh, SWITCH_FILE_BUFFER_DONE)) {
+			if (!switch_buffer_inuse(fh->pre_buffer)) {
+				rlen = fh->pre_buffer_datalen / 2;
+				if ((status = fh->file_interface->file_read(fh, fh->pre_buffer_data, &rlen)) != SWITCH_STATUS_SUCCESS || !rlen) {
+					switch_set_flag(fh, SWITCH_FILE_BUFFER_DONE);
+				} else {
+					switch_buffer_write(fh->pre_buffer, fh->pre_buffer_data, rlen * 2);
+				}
+			}
+		}
+
+		rlen = switch_buffer_read(fh->pre_buffer, data, *len * 2);
+		*len = rlen / 2;
+		
+		if (*len == 0) {
+			switch_set_flag(fh, SWITCH_FILE_DONE);
+            goto top;
+		} else {
+			status = SWITCH_STATUS_SUCCESS;
+		}
+
+	} else {
+
+		if ((status = fh->file_interface->file_read(fh, data, len)) != SWITCH_STATUS_SUCCESS || !*len) {
+			switch_set_flag(fh, SWITCH_FILE_DONE);
+			goto top;
+		}
 	}
 
+
 	got = *len;
 	
 	if (!switch_test_flag(fh, SWITCH_FILE_NATIVE) && fh->native_rate != fh->samplerate) {
@@ -187,8 +228,6 @@
 
 	}
 	
-  done:
-
 	return status;
 }
 
@@ -235,7 +274,26 @@
 		return SWITCH_STATUS_SUCCESS;
 	}
 
-	return fh->file_interface->file_write(fh, data, len);
+
+	if (fh->pre_buffer) {
+		switch_size_t rlen, blen;
+		switch_status_t status = SWITCH_STATUS_SUCCESS;
+
+		switch_buffer_write(fh->pre_buffer, data, *len * 2);
+
+		rlen = switch_buffer_inuse(fh->pre_buffer);
+		if (rlen >= fh->pre_buffer_datalen) {
+			blen = switch_buffer_read(fh->pre_buffer, fh->pre_buffer_data, fh->pre_buffer_datalen);
+			blen /= 2;
+			if ((status = fh->file_interface->file_write(fh, fh->pre_buffer_data, &blen)) != SWITCH_STATUS_SUCCESS) {
+				*len = 0;
+			}
+		}
+		
+		return status;
+	} else {
+		return fh->file_interface->file_write(fh, data, len);
+	}
 }
 
 SWITCH_DECLARE(switch_status_t) switch_core_file_seek(switch_file_handle_t *fh, unsigned int *cur_pos, int64_t samples, int whence)
@@ -295,6 +353,21 @@
 		switch_buffer_destroy(&fh->buffer);
 	}
 
+	if (fh->pre_buffer) {
+		if (switch_test_flag(fh, SWITCH_FILE_FLAG_WRITE)) {
+			switch_size_t rlen, blen;
+			while((rlen = switch_buffer_inuse(fh->pre_buffer))) {
+				blen = switch_buffer_read(fh->pre_buffer, fh->pre_buffer_data, fh->pre_buffer_datalen);
+				blen /= 2;
+				if (fh->file_interface->file_write(fh, fh->pre_buffer_data, &blen) != SWITCH_STATUS_SUCCESS) {
+					break;
+				}
+			}
+		}
+
+		switch_buffer_destroy(&fh->pre_buffer);
+	}
+
 	switch_resample_destroy(&fh->resampler);
 
 	UNPROTECT_INTERFACE(fh->file_interface);

Modified: freeswitch/branches/1.0/src/switch_core_io.c
==============================================================================
--- freeswitch/branches/1.0/src/switch_core_io.c	(original)
+++ freeswitch/branches/1.0/src/switch_core_io.c	Thu Jan 22 17:01:56 2009
@@ -805,7 +805,7 @@
 	}
 
 	if (session->write_codec) {
-		if (write_frame->datalen == session->write_codec->implementation->decoded_bytes_per_packet) {
+		if (write_frame->codec->implementation->decoded_bytes_per_packet == session->write_codec->implementation->decoded_bytes_per_packet) {
 			perfect = TRUE;
 		} else {
 			if (!session->raw_write_buffer) {
@@ -828,6 +828,12 @@
 		}
 
 		if (perfect) {
+
+			if (write_frame->datalen < session->write_codec->implementation->decoded_bytes_per_packet) {
+				memset(write_frame->data, 255, session->write_codec->implementation->decoded_bytes_per_packet - write_frame->datalen);
+				write_frame->datalen = session->write_codec->implementation->decoded_bytes_per_packet;
+			}
+
 			enc_frame = write_frame;
 			session->enc_write_frame.datalen = session->enc_write_frame.buflen;
 

Modified: freeswitch/branches/1.0/src/switch_core_session.c
==============================================================================
--- freeswitch/branches/1.0/src/switch_core_session.c	(original)
+++ freeswitch/branches/1.0/src/switch_core_session.c	Thu Jan 22 17:01:56 2009
@@ -110,11 +110,12 @@
 		switch_hash_this(hi, NULL, NULL, &val);
 		if (val) {
 			session = (switch_core_session_t *) val;
-			switch_core_session_read_lock(session);
-			if (session->endpoint_interface == endpoint_interface) {
-				switch_channel_hangup(switch_core_session_get_channel(session), cause);
+			if (switch_core_session_read_lock(session) == SWITCH_STATUS_SUCCESS) {
+				if (session->endpoint_interface == endpoint_interface) {
+					switch_channel_hangup(switch_core_session_get_channel(session), cause);
+				}
+				switch_core_session_rwunlock(session);
 			}
-			switch_core_session_rwunlock(session);
 		}
 	}
 	switch_mutex_unlock(runtime.throttle_mutex);
@@ -132,9 +133,10 @@
 		switch_hash_this(hi, NULL, NULL, &val);
 		if (val) {
 			session = (switch_core_session_t *) val;
-			switch_core_session_read_lock(session);
-			switch_channel_hangup(switch_core_session_get_channel(session), cause);
-			switch_core_session_rwunlock(session);
+			if (switch_core_session_read_lock(session) == SWITCH_STATUS_SUCCESS) {
+				switch_channel_hangup(switch_core_session_get_channel(session), cause);
+				switch_core_session_rwunlock(session);
+			}
 		}
 	}
 	switch_mutex_unlock(runtime.throttle_mutex);
@@ -744,13 +746,14 @@
 	return x;
 }
 
-SWITCH_DECLARE(void) switch_core_session_reset(switch_core_session_t *session, switch_bool_t flush_dtmf)
+SWITCH_DECLARE(void) switch_core_session_reset(switch_core_session_t *session, switch_bool_t flush_dtmf, switch_bool_t reset_read_codec)
 {
 	switch_channel_t *channel = switch_core_session_get_channel(session);
 	switch_size_t has;
 
-
-	switch_core_session_set_read_codec(session, NULL);
+	if (reset_read_codec) {
+		switch_core_session_set_read_codec(session, NULL);
+	}
 
 	/* clear resamplers */
 	switch_mutex_lock(session->resample_mutex);
@@ -824,7 +827,7 @@
 					  switch_channel_get_name((*session)->channel), switch_channel_state_name(switch_channel_get_state((*session)->channel)));
 
 
-	switch_core_session_reset(*session, TRUE);
+	switch_core_session_reset(*session, TRUE, SWITCH_TRUE);
 	
 	switch_core_media_bug_remove_all(*session);
 	switch_ivr_deactivate_unicast(*session);

Modified: freeswitch/branches/1.0/src/switch_core_state_machine.c
==============================================================================
--- freeswitch/branches/1.0/src/switch_core_state_machine.c	(original)
+++ freeswitch/branches/1.0/src/switch_core_state_machine.c	Thu Jan 22 17:01:56 2009
@@ -185,7 +185,7 @@
 {
 	switch_assert(session != NULL);
 	switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "%s Standard PARK\n", switch_channel_get_name(session->channel));
-	switch_core_session_reset(session, SWITCH_TRUE);
+	switch_core_session_reset(session, SWITCH_TRUE, SWITCH_TRUE);
 	switch_ivr_park(session, NULL);
 }
 

Modified: freeswitch/branches/1.0/src/switch_ivr.c
==============================================================================
--- freeswitch/branches/1.0/src/switch_ivr.c	(original)
+++ freeswitch/branches/1.0/src/switch_ivr.c	Thu Jan 22 17:01:56 2009
@@ -1163,7 +1163,7 @@
 	max_forwards = switch_core_session_sprintf(session, "%d", forwardval);
 	switch_channel_set_variable(channel, SWITCH_MAX_FORWARDS_VARIABLE, max_forwards);
 
-	switch_core_session_reset(session, SWITCH_TRUE);
+	switch_core_session_reset(session, SWITCH_TRUE, SWITCH_TRUE);
 	switch_channel_clear_flag(channel, CF_ORIGINATING);
 
 	/* clear all state handlers */

Modified: freeswitch/branches/1.0/src/switch_ivr_async.c
==============================================================================
--- freeswitch/branches/1.0/src/switch_ivr_async.c	(original)
+++ freeswitch/branches/1.0/src/switch_ivr_async.c	Thu Jan 22 17:01:56 2009
@@ -371,7 +371,7 @@
 							  read_codec->implementation->actual_samples_per_second,
 							  SWITCH_FILE_FLAG_READ | SWITCH_FILE_DATA_SHORT, NULL) != SWITCH_STATUS_SUCCESS) {
 		switch_channel_hangup(channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER);
-		switch_core_session_reset(session, SWITCH_TRUE);
+		switch_core_session_reset(session, SWITCH_TRUE, SWITCH_TRUE);
 		return SWITCH_STATUS_GENERR;
 	}
 
@@ -794,7 +794,7 @@
 		switch_core_session_rwunlock(tsession);
 		status = SWITCH_STATUS_SUCCESS;
 
-		switch_core_session_reset(session, SWITCH_TRUE);
+		switch_core_session_reset(session, SWITCH_TRUE, SWITCH_TRUE);
 	}
 
 	return status;
@@ -842,6 +842,7 @@
 
 	fh->channels = channels;
 	fh->samplerate = read_codec->implementation->actual_samples_per_second;
+	fh->pre_buffer_datalen = SWITCH_DEFAULT_FILE_BUFFER_LEN;
 
 	if (switch_core_file_open(fh,
 							  file,
@@ -850,7 +851,7 @@
 							  SWITCH_FILE_FLAG_WRITE | SWITCH_FILE_DATA_SHORT, NULL) != SWITCH_STATUS_SUCCESS) {
 		switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error opening %s\n", file);
 		switch_channel_hangup(channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER);
-		switch_core_session_reset(session, SWITCH_TRUE);
+		switch_core_session_reset(session, SWITCH_TRUE, SWITCH_TRUE);
 		return SWITCH_STATUS_GENERR;
 	}
 
@@ -1678,7 +1679,11 @@
 	switch_thread_cond_create(&sth->cond, sth->pool);
 	switch_mutex_init(&sth->mutex, SWITCH_MUTEX_NESTED, sth->pool);
 
-	switch_core_session_read_lock(sth->session);
+	if (switch_core_session_read_lock(sth->session) != SWITCH_STATUS_SUCCESS) {
+		sth->ready = 0;
+		return NULL;
+	}
+
 	switch_mutex_lock(sth->mutex);
 
 	sth->ready = 1;

Modified: freeswitch/branches/1.0/src/switch_ivr_bridge.c
==============================================================================
--- freeswitch/branches/1.0/src/switch_ivr_bridge.c	(original)
+++ freeswitch/branches/1.0/src/switch_ivr_bridge.c	Thu Jan 22 17:01:56 2009
@@ -430,7 +430,7 @@
 
   end:
 
-	switch_core_session_reset(session_a, SWITCH_TRUE);
+	switch_core_session_reset(session_a, SWITCH_TRUE, SWITCH_TRUE);
 	switch_channel_set_variable(chan_a, SWITCH_BRIDGE_VARIABLE, NULL);
 	switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "BRIDGE THREAD DONE [%s]\n", switch_channel_get_name(chan_a));
 	if (!inner_bridge) {
@@ -451,7 +451,7 @@
 		switch_channel_set_private(channel, "_bridge_", NULL);
 		if (bd->session == session && *bd->b_uuid) {
 			audio_bridge_thread(NULL, (void *) bd);
-			switch_core_session_reset(session, SWITCH_TRUE);
+			switch_core_session_reset(session, SWITCH_TRUE, SWITCH_TRUE);
 		} else {
 			switch_channel_hangup(channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER);
 		}
@@ -581,7 +581,7 @@
 
 		switch_channel_wait_for_state(channel, other_channel, CS_SOFT_EXECUTE);
 
-		switch_core_session_reset(session, SWITCH_TRUE);
+		switch_core_session_reset(session, SWITCH_TRUE, SWITCH_TRUE);
 
 
 		ready_a = switch_channel_ready(channel);

Modified: freeswitch/branches/1.0/src/switch_ivr_originate.c
==============================================================================
--- freeswitch/branches/1.0/src/switch_ivr_originate.c	(original)
+++ freeswitch/branches/1.0/src/switch_ivr_originate.c	Thu Jan 22 17:01:56 2009
@@ -501,9 +501,9 @@
 				}
 
 				olen = mlen;
-				if (ringback.fh->resampler && ringback.fh->resampler->rfactor > 1) {
-					olen = (switch_size_t) (olen * ringback.fh->resampler->rfactor);
-				}
+				//if (ringback.fh->resampler && ringback.fh->resampler->rfactor > 1) {
+				//olen = (switch_size_t) (olen * ringback.fh->resampler->rfactor);
+				//}
 				switch_core_file_read(ringback.fh, write_frame.data, &olen);
 
 				if (olen == 0) {
@@ -547,7 +547,7 @@
 		switch_buffer_destroy(&ringback.audio_buffer);
 	}
 
-	switch_core_session_reset(session, SWITCH_TRUE);
+	switch_core_session_reset(session, SWITCH_TRUE, SWITCH_TRUE);
 
 	if (write_codec.implementation) {
 		switch_core_codec_destroy(&write_codec);
@@ -1128,7 +1128,10 @@
 					continue;
 				}
 
-				switch_core_session_read_lock(new_session);
+				if (switch_core_session_read_lock(new_session) != SWITCH_STATUS_SUCCESS) {
+					status = SWITCH_STATUS_FALSE;
+					goto done;
+				}
 				pool = NULL;
 
 				caller_profiles[i] = new_profile;
@@ -1473,9 +1476,10 @@
 							}
 
 							olen = mlen;
-							if (ringback.fh->resampler && ringback.fh->resampler->rfactor > 1) {
-								olen = (switch_size_t) (olen * ringback.fh->resampler->rfactor);
-							}
+							
+							//if (ringback.fh->resampler && ringback.fh->resampler->rfactor > 1) {
+							//olen = (switch_size_t) (olen * ringback.fh->resampler->rfactor);
+							//}
 							
 							switch_core_file_read(ringback.fh, write_frame.data, &olen);
 
@@ -1527,7 +1531,7 @@
 
 			if (session && (ringback_data || !(switch_channel_test_flag(caller_channel, CF_PROXY_MODE) &&
 											   switch_channel_test_flag(caller_channel, CF_PROXY_MEDIA)))) {
-				switch_core_session_reset(session, SWITCH_FALSE);
+				switch_core_session_reset(session, SWITCH_FALSE, SWITCH_TRUE);
 			}
 
 			for (i = 0; i < and_argc; i++) {
@@ -1716,7 +1720,7 @@
 			}
 
 			if (session) {
-				switch_core_session_reset(session, SWITCH_FALSE);
+				switch_core_session_reset(session, SWITCH_FALSE, SWITCH_TRUE);
 			}
 
 			if (write_codec.implementation) {

Modified: freeswitch/branches/1.0/src/switch_ivr_play_say.c
==============================================================================
--- freeswitch/branches/1.0/src/switch_ivr_play_say.c	(original)
+++ freeswitch/branches/1.0/src/switch_ivr_play_say.c	Thu Jan 22 17:01:56 2009
@@ -402,7 +402,7 @@
 							  read_codec->implementation->actual_samples_per_second,
 							  SWITCH_FILE_FLAG_WRITE | SWITCH_FILE_DATA_SHORT, NULL) != SWITCH_STATUS_SUCCESS) {
 		switch_channel_hangup(channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER);
-		switch_core_session_reset(session, SWITCH_TRUE);
+		switch_core_session_reset(session, SWITCH_TRUE, SWITCH_TRUE);
 		return SWITCH_STATUS_GENERR;
 	}
 
@@ -460,7 +460,7 @@
 						  "Raw Codec Activation Failed %s@%uhz %u channels %dms\n", codec_name, fh->samplerate,
 						  fh->channels, read_codec->implementation->microseconds_per_packet / 1000);
 		switch_core_file_close(fh);
-		switch_core_session_reset(session, SWITCH_TRUE);
+		switch_core_session_reset(session, SWITCH_TRUE, SWITCH_TRUE);
 		return SWITCH_STATUS_GENERR;
 	}
 
@@ -580,7 +580,7 @@
 	}
 
 	switch_core_file_close(fh);
-	switch_core_session_reset(session, SWITCH_TRUE);
+	switch_core_session_reset(session, SWITCH_TRUE, SWITCH_TRUE);
 	return status;
 }
 
@@ -853,7 +853,7 @@
 							  read_codec->implementation->number_of_channels,
 							  read_codec->implementation->actual_samples_per_second,
 							  SWITCH_FILE_FLAG_READ | SWITCH_FILE_DATA_SHORT, NULL) != SWITCH_STATUS_SUCCESS) {
-		switch_core_session_reset(session, SWITCH_TRUE);
+		switch_core_session_reset(session, SWITCH_TRUE, SWITCH_TRUE);
 		status = SWITCH_STATUS_NOTFOUND;
 		goto end;
 	}
@@ -910,7 +910,7 @@
 			switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Setup buffer failed\n");
 
 			switch_core_file_close(fh);
-			switch_core_session_reset(session, SWITCH_TRUE);
+			switch_core_session_reset(session, SWITCH_TRUE, SWITCH_TRUE);
 
 			status = SWITCH_STATUS_GENERR;
 			goto end;
@@ -937,7 +937,7 @@
 			switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG,
 							  "Raw Codec Activation Failed %s@%uhz %u channels %dms\n", codec_name, fh->samplerate, fh->channels, interval);
 			switch_core_file_close(fh);
-			switch_core_session_reset(session, SWITCH_TRUE);
+			switch_core_session_reset(session, SWITCH_TRUE, SWITCH_TRUE);
 			status = SWITCH_STATUS_GENERR;
 			goto end;
 		}
@@ -953,7 +953,7 @@
 			switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Setup timer failed!\n");
 			switch_core_codec_destroy(&codec);
 			switch_core_file_close(fh);
-			switch_core_session_reset(session, SWITCH_TRUE);
+			switch_core_session_reset(session, SWITCH_TRUE, SWITCH_TRUE);
 			status = SWITCH_STATUS_GENERR;
 			goto end;
 		}
@@ -1238,7 +1238,7 @@
   end:
 	switch_safe_free(abuf);
 
-	switch_core_session_reset(session, SWITCH_FALSE);
+	switch_core_session_reset(session, SWITCH_FALSE, SWITCH_TRUE);
 	return status;
 }
 
@@ -1275,7 +1275,7 @@
 								  read_codec->implementation->number_of_channels,
 								  read_codec->implementation->actual_samples_per_second,
 								  SWITCH_FILE_FLAG_READ | SWITCH_FILE_DATA_SHORT, NULL) != SWITCH_STATUS_SUCCESS) {
-			switch_core_session_reset(session, SWITCH_TRUE);
+			switch_core_session_reset(session, SWITCH_TRUE, SWITCH_TRUE);
 			return SWITCH_STATUS_NOTFOUND;
 		}
 		switch_zmalloc(abuf, SWITCH_RECOMMENDED_BUFFER_SIZE);
@@ -1362,7 +1362,7 @@
 		}
 	}
 
-	switch_core_session_reset(session, SWITCH_FALSE);
+	switch_core_session_reset(session, SWITCH_FALSE, SWITCH_TRUE);
 	switch_core_codec_destroy(&raw_codec);
 
  end:
@@ -1835,7 +1835,7 @@
 
 	timer_name = switch_channel_get_variable(channel, "timer_name");
 
-	switch_core_session_reset(session, SWITCH_FALSE);
+	switch_core_session_reset(session, SWITCH_FALSE, SWITCH_TRUE);
 	read_codec = switch_core_session_get_read_codec(session);
 
 	rate = read_codec->implementation->actual_samples_per_second;
@@ -1846,7 +1846,7 @@
 		if (switch_core_speech_open(sh, tts_name, voice_name, (uint32_t) rate, interval,
 									&flags, switch_core_session_get_pool(session)) != SWITCH_STATUS_SUCCESS) {
 			switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Invalid TTS module!\n");
-			switch_core_session_reset(session, SWITCH_TRUE);
+			switch_core_session_reset(session, SWITCH_TRUE, SWITCH_TRUE);
 			if (cache_obj) {
 				switch_channel_set_private(channel, SWITCH_CACHE_SPEECH_HANDLES_OBJ_NAME, NULL);
 			}
@@ -1872,7 +1872,7 @@
 			switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Raw Codec Activation Failed %s@%uhz 1 channel %dms\n", codec_name, rate, interval);
 			flags = 0;
 			switch_core_speech_close(sh, &flags);
-			switch_core_session_reset(session, SWITCH_TRUE);
+			switch_core_session_reset(session, SWITCH_TRUE, SWITCH_TRUE);
 			if (cache_obj) {
 				switch_channel_set_private(channel, SWITCH_CACHE_SPEECH_HANDLES_OBJ_NAME, NULL);
 			}
@@ -1889,7 +1889,7 @@
 				switch_core_codec_destroy(write_frame.codec);
 				flags = 0;
 				switch_core_speech_close(sh, &flags);
-				switch_core_session_reset(session, SWITCH_TRUE);
+				switch_core_session_reset(session, SWITCH_TRUE, SWITCH_TRUE);
 				if (cache_obj) {
 					switch_channel_set_private(channel, SWITCH_CACHE_SPEECH_HANDLES_OBJ_NAME, NULL);
 				}
@@ -1918,7 +1918,7 @@
 		}
 	}
 
-	switch_core_session_reset(session, SWITCH_FALSE);
+	switch_core_session_reset(session, SWITCH_FALSE, SWITCH_TRUE);
 	return status;
 }
 


From mikej at freeswitch.org  Thu Jan 22 15:06:17 2009
From: mikej at freeswitch.org (FreeSWITCH SVN)
Date: Thu, 22 Jan 2009 17:06:17 -0600
Subject: [Freeswitch-branches] [commit] r11427 -
	freeswitch/branches/1.0/src/mod/endpoints/mod_sofia
Message-ID: 

Author: mikej
Date: Thu Jan 22 17:06:17 2009
New Revision: 11427

Log:
mod_sofia: fix notify event wasn't allowing content-length 0 (r:11106/MODENDP-167)

Modified:
   freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/mod_sofia.c

Modified: freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/mod_sofia.c
==============================================================================
--- freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/mod_sofia.c	(original)
+++ freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/mod_sofia.c	Thu Jan 22 17:06:17 2009
@@ -2675,12 +2675,12 @@
 
 				if (call_id) {
 					sql = switch_mprintf("select sip_user,sip_host,contact,profile_name,'%q','%q','%q' "
-										 "from sip_registrations where call_id='%q'", ct, es, body, call_id
+										 "from sip_registrations where call_id='%q'", ct, es, switch_str_nil(body), call_id
 										 );
 				} else {
 					sql = switch_mprintf("select sip_user,sip_host,contact,profile_name,'%q','%q','%q' "
 										 "from sip_registrations where sip_user='%s' and sip_host='%q'",
-										 ct, es, body, user, host
+										 ct, es, switch_str_nil(body), switch_str_nil(user), switch_str_nil(host)
 										 );
 				}
 				


From mikej at freeswitch.org  Thu Jan 22 15:14:07 2009
From: mikej at freeswitch.org (FreeSWITCH SVN)
Date: Thu, 22 Jan 2009 17:14:07 -0600
Subject: [Freeswitch-branches] [commit] r11430 - in
	freeswitch/branches/1.0/src: . mod/formats/mod_local_stream
	mod/languages/mod_managed mod/languages/mod_managed/managed
Message-ID: 

Author: mikej
Date: Thu Jan 22 17:14:07 2009
New Revision: 11430

Log:
core: fix double close of file handles and add recording of native files (r:11108-11113)

Modified:
   freeswitch/branches/1.0/src/mod/formats/mod_local_stream/mod_local_stream.c
   freeswitch/branches/1.0/src/mod/languages/mod_managed/freeswitch_wrap.cxx
   freeswitch/branches/1.0/src/mod/languages/mod_managed/managed/swig.cs
   freeswitch/branches/1.0/src/switch_core_file.c
   freeswitch/branches/1.0/src/switch_ivr_play_say.c

Modified: freeswitch/branches/1.0/src/mod/formats/mod_local_stream/mod_local_stream.c
==============================================================================
--- freeswitch/branches/1.0/src/mod/formats/mod_local_stream/mod_local_stream.c	(original)
+++ freeswitch/branches/1.0/src/mod/formats/mod_local_stream/mod_local_stream.c	Thu Jan 22 17:14:07 2009
@@ -251,7 +251,7 @@
 
  done:
 
-	if (fh.file_interface) {
+	if (switch_test_flag((&fh), SWITCH_FILE_OPEN)) {
 		switch_core_file_close(&fh);
 	}
 

Modified: freeswitch/branches/1.0/src/mod/languages/mod_managed/freeswitch_wrap.cxx
==============================================================================
--- freeswitch/branches/1.0/src/mod/languages/mod_managed/freeswitch_wrap.cxx	(original)
+++ freeswitch/branches/1.0/src/mod/languages/mod_managed/freeswitch_wrap.cxx	Thu Jan 22 17:14:07 2009
@@ -1510,6 +1510,17 @@
 }
 
 
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_DEFAULT_FILE_BUFFER_LEN_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 65536;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
 SWIGEXPORT void SWIGSTDCALL CSharp_switch_dtmf_t_digit_set(void * jarg1, char jarg2) {
   switch_dtmf_t *arg1 = (switch_dtmf_t *) 0 ;
   char arg2 ;
@@ -6143,13 +6154,15 @@
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_session_reset(void * jarg1, int jarg2) {
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_session_reset(void * jarg1, int jarg2, int jarg3) {
   switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
   switch_bool_t arg2 ;
+  switch_bool_t arg3 ;
   
   arg1 = (switch_core_session_t *)jarg1; 
   arg2 = (switch_bool_t)jarg2; 
-  switch_core_session_reset(arg1,arg2);
+  arg3 = (switch_bool_t)jarg3; 
+  switch_core_session_reset(arg1,arg2,arg3);
 }
 
 
@@ -13093,6 +13106,81 @@
 }
 
 
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_pre_buffer_set(void * jarg1, void * jarg2) {
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  switch_buffer_t *arg2 = (switch_buffer_t *) 0 ;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  arg2 = (switch_buffer_t *)jarg2; 
+  if (arg1) (arg1)->pre_buffer = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_file_handle_pre_buffer_get(void * jarg1) {
+  void * jresult ;
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  switch_buffer_t *result = 0 ;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  result = (switch_buffer_t *) ((arg1)->pre_buffer);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_pre_buffer_data_set(void * jarg1, void * jarg2) {
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  unsigned char *arg2 = (unsigned char *) 0 ;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  arg2 = (unsigned char *)jarg2; 
+  if (arg1) (arg1)->pre_buffer_data = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_file_handle_pre_buffer_data_get(void * jarg1) {
+  void * jresult ;
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  unsigned char *result = 0 ;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  result = (unsigned char *) ((arg1)->pre_buffer_data);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_pre_buffer_datalen_set(void * jarg1, void * jarg2) {
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  switch_size_t arg2 ;
+  switch_size_t *argp2 ;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  argp2 = (switch_size_t *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  if (arg1) (arg1)->pre_buffer_datalen = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_file_handle_pre_buffer_datalen_get(void * jarg1) {
+  void * jresult ;
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  switch_size_t result;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  result =  ((arg1)->pre_buffer_datalen);
+  jresult = new switch_size_t((switch_size_t &)result); 
+  return jresult;
+}
+
+
 SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_file_set(void * jarg1, char * jarg2) {
   switch_file_handle *arg1 = (switch_file_handle *) 0 ;
   char *arg2 = (char *) 0 ;
@@ -18377,6 +18465,26 @@
 }
 
 
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_channel_event_set_basic_data(void * jarg1, void * jarg2) {
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  switch_event_t *arg2 = (switch_event_t *) 0 ;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  arg2 = (switch_event_t *)jarg2; 
+  switch_channel_event_set_basic_data(arg1,arg2);
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_channel_event_set_extended_data(void * jarg1, void * jarg2) {
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  switch_event_t *arg2 = (switch_event_t *) 0 ;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  arg2 = (switch_event_t *)jarg2; 
+  switch_channel_event_set_extended_data(arg1,arg2);
+}
+
+
 SWIGEXPORT char * SWIGSTDCALL CSharp_switch_channel_expand_variables(void * jarg1, char * jarg2) {
   char * jresult ;
   switch_channel_t *arg1 = (switch_channel_t *) 0 ;

Modified: freeswitch/branches/1.0/src/mod/languages/mod_managed/managed/swig.cs
==============================================================================
--- freeswitch/branches/1.0/src/mod/languages/mod_managed/managed/swig.cs	(original)
+++ freeswitch/branches/1.0/src/mod/languages/mod_managed/managed/swig.cs	Thu Jan 22 17:14:07 2009
@@ -1344,8 +1344,8 @@
     return ret;
   }
 
-  public static void switch_core_session_reset(SWIGTYPE_p_switch_core_session session, switch_bool_t flush_dtmf) {
-    freeswitchPINVOKE.switch_core_session_reset(SWIGTYPE_p_switch_core_session.getCPtr(session), (int)flush_dtmf);
+  public static void switch_core_session_reset(SWIGTYPE_p_switch_core_session session, switch_bool_t flush_dtmf, switch_bool_t reset_read_codec) {
+    freeswitchPINVOKE.switch_core_session_reset(SWIGTYPE_p_switch_core_session.getCPtr(session), (int)flush_dtmf, (int)reset_read_codec);
   }
 
   public static switch_status_t switch_core_session_write_frame(SWIGTYPE_p_switch_core_session session, switch_frame frame, uint flags, int stream_id) {
@@ -2581,6 +2581,14 @@
     freeswitchPINVOKE.switch_channel_event_set_data(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_event.getCPtr(arg1));
   }
 
+  public static void switch_channel_event_set_basic_data(SWIGTYPE_p_switch_channel channel, switch_event arg1) {
+    freeswitchPINVOKE.switch_channel_event_set_basic_data(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_event.getCPtr(arg1));
+  }
+
+  public static void switch_channel_event_set_extended_data(SWIGTYPE_p_switch_channel channel, switch_event arg1) {
+    freeswitchPINVOKE.switch_channel_event_set_extended_data(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_event.getCPtr(arg1));
+  }
+
   public static string switch_channel_expand_variables(SWIGTYPE_p_switch_channel channel, string arg1) {
     string ret = freeswitchPINVOKE.switch_channel_expand_variables(SWIGTYPE_p_switch_channel.getCPtr(channel), arg1);
     return ret;
@@ -4109,6 +4117,7 @@
   public static readonly string SWITCH_SPEECH_KEY = freeswitchPINVOKE.SWITCH_SPEECH_KEY_get();
   public static readonly string SWITCH_UUID_BRIDGE = freeswitchPINVOKE.SWITCH_UUID_BRIDGE_get();
   public static readonly int SWITCH_BITS_PER_BYTE = freeswitchPINVOKE.SWITCH_BITS_PER_BYTE_get();
+  public static readonly int SWITCH_DEFAULT_FILE_BUFFER_LEN = freeswitchPINVOKE.SWITCH_DEFAULT_FILE_BUFFER_LEN_get();
   public static readonly int SWITCH_MAX_STACKS = freeswitchPINVOKE.SWITCH_MAX_STACKS_get();
   public static readonly int SWITCH_THREAD_STACKSIZE = freeswitchPINVOKE.SWITCH_THREAD_STACKSIZE_get();
   public static readonly int SWITCH_SYSTEM_THREAD_STACKSIZE = freeswitchPINVOKE.SWITCH_SYSTEM_THREAD_STACKSIZE_get();
@@ -4690,6 +4699,9 @@
   [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BITS_PER_BYTE_get")]
   public static extern int SWITCH_BITS_PER_BYTE_get();
 
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_DEFAULT_FILE_BUFFER_LEN_get")]
+  public static extern int SWITCH_DEFAULT_FILE_BUFFER_LEN_get();
+
   [DllImport("mod_managed", EntryPoint="CSharp_switch_dtmf_t_digit_set")]
   public static extern void switch_dtmf_t_digit_set(HandleRef jarg1, char jarg2);
 
@@ -5798,7 +5810,7 @@
   public static extern int switch_core_session_write_video_frame(HandleRef jarg1, HandleRef jarg2, uint jarg3, int jarg4);
 
   [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_reset")]
-  public static extern void switch_core_session_reset(HandleRef jarg1, int jarg2);
+  public static extern void switch_core_session_reset(HandleRef jarg1, int jarg2, int jarg3);
 
   [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_write_frame")]
   public static extern int switch_core_session_write_frame(HandleRef jarg1, HandleRef jarg2, uint jarg3, int jarg4);
@@ -7438,6 +7450,24 @@
   [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_dbuflen_get")]
   public static extern IntPtr switch_file_handle_dbuflen_get(HandleRef jarg1);
 
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pre_buffer_set")]
+  public static extern void switch_file_handle_pre_buffer_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pre_buffer_get")]
+  public static extern IntPtr switch_file_handle_pre_buffer_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pre_buffer_data_set")]
+  public static extern void switch_file_handle_pre_buffer_data_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pre_buffer_data_get")]
+  public static extern IntPtr switch_file_handle_pre_buffer_data_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pre_buffer_datalen_set")]
+  public static extern void switch_file_handle_pre_buffer_datalen_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pre_buffer_datalen_get")]
+  public static extern IntPtr switch_file_handle_pre_buffer_datalen_get(HandleRef jarg1);
+
   [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_file_set")]
   public static extern void switch_file_handle_file_set(HandleRef jarg1, string jarg2);
 
@@ -8743,6 +8773,12 @@
   [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_event_set_data")]
   public static extern void switch_channel_event_set_data(HandleRef jarg1, HandleRef jarg2);
 
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_event_set_basic_data")]
+  public static extern void switch_channel_event_set_basic_data(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_event_set_extended_data")]
+  public static extern void switch_channel_event_set_extended_data(HandleRef jarg1, HandleRef jarg2);
+
   [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_expand_variables")]
   public static extern string switch_channel_expand_variables(HandleRef jarg1, string jarg2);
 
@@ -19956,7 +19992,9 @@
   SWITCH_FILE_NATIVE = (1 << 9),
   SWITCH_FILE_SEEK = (1 << 10),
   SWITCH_FILE_OPEN = (1 << 11),
-  SWITCH_FILE_CALLBACK = (1 << 12)
+  SWITCH_FILE_CALLBACK = (1 << 12),
+  SWITCH_FILE_DONE = (1 << 13),
+  SWITCH_FILE_BUFFER_DONE = (1 << 14)
 }
 
 }
@@ -20304,6 +20342,40 @@
     } 
   }
 
+  public SWIGTYPE_p_switch_buffer pre_buffer {
+    set {
+      freeswitchPINVOKE.switch_file_handle_pre_buffer_set(swigCPtr, SWIGTYPE_p_switch_buffer.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_pre_buffer_get(swigCPtr);
+      SWIGTYPE_p_switch_buffer ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_buffer(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_unsigned_char pre_buffer_data {
+    set {
+      freeswitchPINVOKE.switch_file_handle_pre_buffer_data_set(swigCPtr, SWIGTYPE_p_unsigned_char.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_pre_buffer_data_get(swigCPtr);
+      SWIGTYPE_p_unsigned_char ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_unsigned_char(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_switch_size_t pre_buffer_datalen {
+    set {
+      freeswitchPINVOKE.switch_file_handle_pre_buffer_datalen_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
+      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_file_handle_pre_buffer_datalen_get(swigCPtr), true);
+      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
   public string file {
     set {
       freeswitchPINVOKE.switch_file_handle_file_set(swigCPtr, value);

Modified: freeswitch/branches/1.0/src/switch_core_file.c
==============================================================================
--- freeswitch/branches/1.0/src/switch_core_file.c	(original)
+++ freeswitch/branches/1.0/src/switch_core_file.c	Thu Jan 22 17:14:07 2009
@@ -132,7 +132,7 @@
 {
 	switch_status_t status = SWITCH_STATUS_FALSE;
 	switch_size_t want, got, orig_len = *len;
-
+	
 	switch_assert(fh != NULL);
 	switch_assert(fh->file_interface != NULL);
 
@@ -155,19 +155,21 @@
 	
 	if (fh->pre_buffer) {
 		switch_size_t rlen;
+		int asis = switch_test_flag(fh, SWITCH_FILE_NATIVE);
+
 		if (!switch_test_flag(fh, SWITCH_FILE_BUFFER_DONE)) {
 			if (!switch_buffer_inuse(fh->pre_buffer)) {
-				rlen = fh->pre_buffer_datalen / 2;
+				rlen = asis ? fh->pre_buffer_datalen : fh->pre_buffer_datalen / 2;
 				if ((status = fh->file_interface->file_read(fh, fh->pre_buffer_data, &rlen)) != SWITCH_STATUS_SUCCESS || !rlen) {
 					switch_set_flag(fh, SWITCH_FILE_BUFFER_DONE);
 				} else {
-					switch_buffer_write(fh->pre_buffer, fh->pre_buffer_data, rlen * 2);
+					switch_buffer_write(fh->pre_buffer, fh->pre_buffer_data, asis ? rlen : rlen * 2);
 				}
 			}
 		}
 
-		rlen = switch_buffer_read(fh->pre_buffer, data, *len * 2);
-		*len = rlen / 2;
+		rlen = switch_buffer_read(fh->pre_buffer, data, asis ? *len : *len * 2);
+		*len = asis ? rlen : rlen / 2;
 		
 		if (*len == 0) {
 			switch_set_flag(fh, SWITCH_FILE_DONE);
@@ -278,13 +280,14 @@
 	if (fh->pre_buffer) {
 		switch_size_t rlen, blen;
 		switch_status_t status = SWITCH_STATUS_SUCCESS;
+		int asis = switch_test_flag(fh, SWITCH_FILE_NATIVE);
 
-		switch_buffer_write(fh->pre_buffer, data, *len * 2);
+		switch_buffer_write(fh->pre_buffer, data, asis ? *len : *len * 2);
 
 		rlen = switch_buffer_inuse(fh->pre_buffer);
 		if (rlen >= fh->pre_buffer_datalen) {
 			blen = switch_buffer_read(fh->pre_buffer, fh->pre_buffer_data, fh->pre_buffer_datalen);
-			blen /= 2;
+			if (!asis) blen /= 2;
 			if ((status = fh->file_interface->file_write(fh, fh->pre_buffer_data, &blen)) != SWITCH_STATUS_SUCCESS) {
 				*len = 0;
 			}
@@ -346,6 +349,10 @@
 	switch_assert(fh != NULL);
 	switch_assert(fh->file_interface != NULL);
 
+	if (!switch_test_flag(fh, SWITCH_FILE_OPEN)) {
+		return SWITCH_STATUS_FALSE;
+	}
+
 	switch_clear_flag(fh, SWITCH_FILE_OPEN);
 	status = fh->file_interface->file_close(fh);
 
@@ -356,9 +363,11 @@
 	if (fh->pre_buffer) {
 		if (switch_test_flag(fh, SWITCH_FILE_FLAG_WRITE)) {
 			switch_size_t rlen, blen;
+			int asis = switch_test_flag(fh, SWITCH_FILE_NATIVE);
+
 			while((rlen = switch_buffer_inuse(fh->pre_buffer))) {
 				blen = switch_buffer_read(fh->pre_buffer, fh->pre_buffer_data, fh->pre_buffer_datalen);
-				blen /= 2;
+				if (asis) blen /= 2;
 				if (fh->file_interface->file_write(fh, fh->pre_buffer_data, &blen) != SWITCH_STATUS_SUCCESS) {
 					break;
 				}

Modified: freeswitch/branches/1.0/src/switch_ivr_play_say.c
==============================================================================
--- freeswitch/branches/1.0/src/switch_ivr_play_say.c	(original)
+++ freeswitch/branches/1.0/src/switch_ivr_play_say.c	Thu Jan 22 17:14:07 2009
@@ -384,6 +384,7 @@
 	const char *vval;
 	time_t start = 0;
 	uint32_t org_silence_hits = 0;
+	int asis = 0;
 
 	switch_assert(read_codec != NULL);
 
@@ -396,6 +397,30 @@
 	fh->channels = read_codec->implementation->number_of_channels;
 	fh->native_rate = read_codec->implementation->actual_samples_per_second;
 
+
+
+	if (!strstr(file, SWITCH_URL_SEPARATOR)) {
+		char *ext;
+		const char *prefix;
+
+		prefix = switch_channel_get_variable(channel, "sound_prefix");
+		if (!prefix) {
+			prefix = SWITCH_GLOBAL_dirs.base_dir;
+		}
+		
+		if (!switch_is_file_path(file)) {
+			file = switch_core_session_sprintf(session, "%s%s%s", prefix, SWITCH_PATH_SEPARATOR, file);
+		}
+		if ((ext = strrchr(file, '.'))) {
+			ext++;
+		} else {
+			ext = read_codec->implementation->iananame;
+			file = switch_core_session_sprintf(session, "%s.%s", file, ext);
+			asis = 1;
+		}
+	}
+
+
 	if (switch_core_file_open(fh,
 							  file,
 							  fh->channels,
@@ -406,6 +431,10 @@
 		return SWITCH_STATUS_GENERR;
 	}
 
+	if (switch_test_flag(fh, SWITCH_FILE_NATIVE)) {
+		asis = 1;
+	}
+
 	switch_channel_pre_answer(channel);
 
 	if ((p = switch_channel_get_variable(channel, "RECORD_TITLE"))) {
@@ -444,37 +473,43 @@
 		switch_channel_set_variable(channel, "RECORD_DATE", NULL);
 	}
 
-	codec_name = "L16";
-	if (switch_core_codec_init(&codec,
-							   codec_name,
-							   NULL,
-							   read_codec->implementation->actual_samples_per_second,
-							   read_codec->implementation->microseconds_per_packet / 1000,
-							   read_codec->implementation->number_of_channels,
-							   SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE, NULL,
-							   switch_core_session_get_pool(session)) == SWITCH_STATUS_SUCCESS) {
-		switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Raw Codec Activated\n");
-		switch_core_session_set_read_codec(session, &codec);
-	} else {
-		switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR,
-						  "Raw Codec Activation Failed %s@%uhz %u channels %dms\n", codec_name, fh->samplerate,
-						  fh->channels, read_codec->implementation->microseconds_per_packet / 1000);
-		switch_core_file_close(fh);
-		switch_core_session_reset(session, SWITCH_TRUE, SWITCH_TRUE);
-		return SWITCH_STATUS_GENERR;
+	if (!asis) {
+		codec_name = "L16";
+		if (switch_core_codec_init(&codec,
+								   codec_name,
+								   NULL,
+								   read_codec->implementation->actual_samples_per_second,
+								   read_codec->implementation->microseconds_per_packet / 1000,
+								   read_codec->implementation->number_of_channels,
+								   SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE, NULL,
+								   switch_core_session_get_pool(session)) == SWITCH_STATUS_SUCCESS) {
+			switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Raw Codec Activated\n");
+			switch_core_session_set_read_codec(session, &codec);
+		} else {
+			switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR,
+							  "Raw Codec Activation Failed %s@%uhz %u channels %dms\n", codec_name, fh->samplerate,
+							  fh->channels, read_codec->implementation->microseconds_per_packet / 1000);
+			switch_core_file_close(fh);
+			switch_core_session_reset(session, SWITCH_TRUE, SWITCH_TRUE);
+			return SWITCH_STATUS_GENERR;
+		}
 	}
 
 	if (limit) {
 		start = switch_timestamp(NULL);
 	}
-
+	
 	if (fh->thresh) {
-		if (fh->silence_hits) {
-			fh->silence_hits = fh->samplerate * fh->silence_hits / read_codec->implementation->samples_per_packet;
+		if (asis) {
+			switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Can't detect silence on a native recording.\n");
 		} else {
-			fh->silence_hits = fh->samplerate * 3 / read_codec->implementation->samples_per_packet;
+			if (fh->silence_hits) {
+				fh->silence_hits = fh->samplerate * fh->silence_hits / read_codec->implementation->samples_per_packet;
+			} else {
+				fh->silence_hits = fh->samplerate * 3 / read_codec->implementation->samples_per_packet;
+			}
+			org_silence_hits = fh->silence_hits;
 		}
-		org_silence_hits = fh->silence_hits;
 	}
 
 	for (;;) {
@@ -543,7 +578,7 @@
 			}
 		}
 
-		if (fh->thresh) {
+		if (!asis && fh->thresh) {
 			int16_t *fdata = (int16_t *) read_frame->data;
 			uint32_t samples = read_frame->datalen / sizeof(*fdata);
 			uint32_t score, count = 0, j = 0;
@@ -571,8 +606,8 @@
 
 		if (!switch_test_flag(fh, SWITCH_FILE_PAUSE) && !switch_test_flag(read_frame, SFF_CNG)) {
 			int16_t *data = read_frame->data;
-			len = (switch_size_t) read_frame->datalen / 2;
-
+			len = (switch_size_t) asis ? read_frame->datalen : read_frame->datalen / 2;
+			
 			if (switch_core_file_write(fh, data, &len) != SWITCH_STATUS_SUCCESS) {
 				break;
 			}


From mikej at freeswitch.org  Thu Jan 22 15:15:46 2009
From: mikej at freeswitch.org (FreeSWITCH SVN)
Date: Thu, 22 Jan 2009 17:15:46 -0600
Subject: [Freeswitch-branches] [commit] r11431 -
	freeswitch/branches/1.0/scripts/contrib/mrene/mod_limit
Message-ID: 

Author: mikej
Date: Thu Jan 22 17:15:46 2009
New Revision: 11431

Log:


Removed:
   freeswitch/branches/1.0/scripts/contrib/mrene/mod_limit/


From mikej at freeswitch.org  Thu Jan 22 15:17:39 2009
From: mikej at freeswitch.org (FreeSWITCH SVN)
Date: Thu, 22 Jan 2009 17:17:39 -0600
Subject: [Freeswitch-branches] [commit] r11432 - freeswitch/branches/1.0/src
Message-ID: 

Author: mikej
Date: Thu Jan 22 17:17:38 2009
New Revision: 11432

Log:


Modified:
   freeswitch/branches/1.0/src/switch_core_io.c

Modified: freeswitch/branches/1.0/src/switch_core_io.c
==============================================================================
--- freeswitch/branches/1.0/src/switch_core_io.c	(original)
+++ freeswitch/branches/1.0/src/switch_core_io.c	Thu Jan 22 17:17:38 2009
@@ -805,7 +805,8 @@
 	}
 
 	if (session->write_codec) {
-		if (write_frame->codec->implementation->decoded_bytes_per_packet == session->write_codec->implementation->decoded_bytes_per_packet) {
+		if (!ptime_mismatch && 
+			write_frame->codec->implementation->decoded_bytes_per_packet == session->write_codec->implementation->decoded_bytes_per_packet) {
 			perfect = TRUE;
 		} else {
 			if (!session->raw_write_buffer) {


From mikej at freeswitch.org  Thu Jan 22 15:19:52 2009
From: mikej at freeswitch.org (FreeSWITCH SVN)
Date: Thu, 22 Jan 2009 17:19:52 -0600
Subject: [Freeswitch-branches] [commit] r11433 -
	freeswitch/branches/1.0/src/mod/endpoints/mod_sofia
Message-ID: 

Author: mikej
Date: Thu Jan 22 17:19:52 2009
New Revision: 11433

Log:
mod_sofia: fix codec change race condition (r:11143)

Modified:
   freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/mod_sofia.c
   freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/mod_sofia.h
   freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/sofia_glue.c

Modified: freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/mod_sofia.c
==============================================================================
--- freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/mod_sofia.c	(original)
+++ freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/mod_sofia.c	Thu Jan 22 17:19:52 2009
@@ -709,14 +709,14 @@
 					}
 					
 					if (tech_pvt->check_frames++ < MAX_CODEC_CHECK_FRAMES) {
-						if (!tech_pvt->read_codec.implementation->encoded_bytes_per_packet) {
+						if (!tech_pvt->read_impl.encoded_bytes_per_packet) {
 							tech_pvt->check_frames = MAX_CODEC_CHECK_FRAMES;
 							goto skip;
 						}
 
-						if (tech_pvt->last_ts && tech_pvt->read_frame.datalen != tech_pvt->read_codec.implementation->encoded_bytes_per_packet) {
+						if (tech_pvt->last_ts && tech_pvt->read_frame.datalen != tech_pvt->read_impl.encoded_bytes_per_packet) {
 							switch_size_t codec_ms = (int)(tech_pvt->read_frame.timestamp - 
-														   tech_pvt->last_ts) / (tech_pvt->read_codec.implementation->samples_per_second / 1000);
+														   tech_pvt->last_ts) / (tech_pvt->read_impl.samples_per_second / 1000);
 
 							if ((codec_ms % 10) != 0) {
 								tech_pvt->check_frames = MAX_CODEC_CHECK_FRAMES;
@@ -768,8 +768,8 @@
 									}
 									
 									if (rtp_timeout_sec) {
-										tech_pvt->max_missed_packets = (tech_pvt->read_codec.implementation->samples_per_second * rtp_timeout_sec) /
-											tech_pvt->read_codec.implementation->samples_per_packet;
+										tech_pvt->max_missed_packets = (tech_pvt->read_impl.samples_per_second * rtp_timeout_sec) /
+											tech_pvt->read_impl.samples_per_packet;
 										
 										switch_rtp_set_max_missed_packets(tech_pvt->rtp_session, tech_pvt->max_missed_packets);
 										if (!rtp_hold_timeout_sec) {
@@ -778,13 +778,13 @@
 									}
 									
 									if (rtp_hold_timeout_sec) {
-										tech_pvt->max_missed_hold_packets = (tech_pvt->read_codec.implementation->samples_per_second * rtp_hold_timeout_sec) /
-											tech_pvt->read_codec.implementation->samples_per_packet;
+										tech_pvt->max_missed_hold_packets = (tech_pvt->read_impl.samples_per_second * rtp_hold_timeout_sec) /
+											tech_pvt->read_impl.samples_per_packet;
 									}
 									
 									if (switch_rtp_change_interval(tech_pvt->rtp_session, 
 																   tech_pvt->codec_ms * 1000,
-																   tech_pvt->read_codec.implementation->samples_per_packet
+																   tech_pvt->read_impl.samples_per_packet
 																   ) != SWITCH_STATUS_SUCCESS) {
 										switch_channel_hangup(tech_pvt->channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER);
 										
@@ -806,10 +806,10 @@
 					}
 				skip:
 					
-					if ((bytes = tech_pvt->read_codec.implementation->encoded_bytes_per_packet)) {
+					if ((bytes = tech_pvt->read_impl.encoded_bytes_per_packet)) {
 						frames = (tech_pvt->read_frame.datalen / bytes);
 					}
-					tech_pvt->read_frame.samples = (int) (frames * tech_pvt->read_codec.implementation->samples_per_packet);
+					tech_pvt->read_frame.samples = (int) (frames * tech_pvt->read_impl.samples_per_packet);
 
 					if (tech_pvt->read_frame.datalen == 0) {
 						continue;
@@ -872,13 +872,13 @@
 	switch_set_flag_locked(tech_pvt, TFLAG_WRITING);
 
 	if (!switch_test_flag(frame, SFF_CNG) && !switch_test_flag(frame, SFF_PROXY_PACKET)) {
-		if (tech_pvt->read_codec.implementation->encoded_bytes_per_packet) {
-			bytes = tech_pvt->read_codec.implementation->encoded_bytes_per_packet;
+		if (tech_pvt->read_impl.encoded_bytes_per_packet) {
+			bytes = tech_pvt->read_impl.encoded_bytes_per_packet;
 			frames = ((int) frame->datalen / bytes);
 		} else
 			frames = 1;
 
-		samples = frames * tech_pvt->read_codec.implementation->samples_per_packet;
+		samples = frames * tech_pvt->read_impl.samples_per_packet;
 	}
 
 	tech_pvt->timestamp_send += samples;

Modified: freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/mod_sofia.h
==============================================================================
--- freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/mod_sofia.h	(original)
+++ freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/mod_sofia.h	Thu Jan 22 17:19:52 2009
@@ -553,6 +553,8 @@
 	uint32_t last_codec_ms;
 	nua_event_t want_event;
 	switch_rtp_bug_flag_t rtp_bugs;
+	switch_codec_implementation_t read_impl;
+	switch_codec_implementation_t write_impl;
 };
 
 struct callback_t {

Modified: freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/sofia_glue.c
==============================================================================
--- freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/sofia_glue.c	(original)
+++ freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/sofia_glue.c	Thu Jan 22 17:19:52 2009
@@ -1654,9 +1654,13 @@
 		switch_goto_status(SWITCH_STATUS_FALSE, end);
 	}
 
+	tech_pvt->read_impl = *tech_pvt->read_codec.implementation;
+	tech_pvt->write_impl = *tech_pvt->write_codec.implementation;
+
+
 	if (switch_rtp_ready(tech_pvt->rtp_session)) {
 		switch_assert(tech_pvt->read_codec.implementation);
-		switch_rtp_set_default_samples_per_interval(tech_pvt->rtp_session, tech_pvt->read_codec.implementation->samples_per_packet);
+		switch_rtp_set_default_samples_per_interval(tech_pvt->rtp_session, tech_pvt->read_impl.samples_per_packet);
 	}
 
 	tech_pvt->read_frame.rate = tech_pvt->rm_rate;
@@ -1669,7 +1673,7 @@
 
 	switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Set Codec %s %s/%ld %d ms %d samples\n",
 					  switch_channel_get_name(tech_pvt->channel), tech_pvt->iananame, tech_pvt->rm_rate, tech_pvt->codec_ms,
-					  tech_pvt->read_codec.implementation->samples_per_packet);
+					  tech_pvt->read_impl.samples_per_packet);
 	tech_pvt->read_frame.codec = &tech_pvt->read_codec;
 
 	tech_pvt->write_codec.agreed_pt = tech_pvt->agreed_pt;
@@ -1832,8 +1836,8 @@
 		goto end;
 	}
 
-	bw = tech_pvt->read_codec.implementation->bits_per_second;
-	ms = tech_pvt->read_codec.implementation->microseconds_per_packet;
+	bw = tech_pvt->read_impl.bits_per_second;
+	ms = tech_pvt->read_impl.microseconds_per_packet;
 
 	if (myflags) {
 		flags = myflags;
@@ -1892,7 +1896,7 @@
 						  tech_pvt->local_sdp_audio_ip,
 						  tech_pvt->local_sdp_audio_port,
 						  tech_pvt->remote_sdp_audio_ip,
-						  tech_pvt->remote_sdp_audio_port, tech_pvt->agreed_pt, tech_pvt->read_codec.implementation->microseconds_per_packet / 1000);
+						  tech_pvt->remote_sdp_audio_port, tech_pvt->agreed_pt, tech_pvt->read_impl.microseconds_per_packet / 1000);
 	}
 
 	switch_snprintf(tmp, sizeof(tmp), "%d", tech_pvt->local_sdp_audio_port);
@@ -1934,7 +1938,7 @@
 						  tech_pvt->local_sdp_audio_ip,
 						  tech_pvt->local_sdp_audio_port,
 						  tech_pvt->remote_sdp_audio_ip,
-						  tech_pvt->remote_sdp_audio_port, tech_pvt->agreed_pt, tech_pvt->read_codec.implementation->microseconds_per_packet / 1000);
+						  tech_pvt->remote_sdp_audio_port, tech_pvt->agreed_pt, tech_pvt->read_impl.microseconds_per_packet / 1000);
 
 	} else {
 		timer_name = tech_pvt->profile->timer_name;
@@ -1949,7 +1953,7 @@
 										   tech_pvt->remote_sdp_audio_ip,
 										   tech_pvt->remote_sdp_audio_port,
 										   tech_pvt->agreed_pt,
-										   tech_pvt->read_codec.implementation->samples_per_packet,
+										   tech_pvt->read_impl.samples_per_packet,
 										   tech_pvt->codec_ms * 1000,
 										   (switch_rtp_flag_t) flags, timer_name, &err, switch_core_session_get_pool(tech_pvt->session));
 
@@ -1982,7 +1986,7 @@
 				}
 			}
 
-			stun_ping = (ival * tech_pvt->read_codec.implementation->samples_per_second) / tech_pvt->read_codec.implementation->samples_per_packet;
+			stun_ping = (ival * tech_pvt->read_impl.samples_per_second) / tech_pvt->read_impl.samples_per_packet;
 		}
 
 		tech_pvt->ssrc = switch_rtp_get_ssrc(tech_pvt->rtp_session);
@@ -2012,7 +2016,7 @@
 			} else {
 				int qlen;
 
-				qlen = len / (tech_pvt->read_codec.implementation->microseconds_per_packet / 1000);
+				qlen = len / (tech_pvt->read_impl.microseconds_per_packet / 1000);
 
 				switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Setting Jitterbuffer to %dms (%d frames)\n", len, qlen);
 				switch_rtp_activate_jitter_buffer(tech_pvt->rtp_session, qlen);
@@ -2034,8 +2038,8 @@
 		}
 
 		if (rtp_timeout_sec) {
-			tech_pvt->max_missed_packets = (tech_pvt->read_codec.implementation->samples_per_second * rtp_timeout_sec) /
-				tech_pvt->read_codec.implementation->samples_per_packet;
+			tech_pvt->max_missed_packets = (tech_pvt->read_impl.samples_per_second * rtp_timeout_sec) /
+				tech_pvt->read_impl.samples_per_packet;
 
 			switch_rtp_set_max_missed_packets(tech_pvt->rtp_session, tech_pvt->max_missed_packets);
 			if (!rtp_hold_timeout_sec) {
@@ -2044,8 +2048,8 @@
 		}
 
 		if (rtp_hold_timeout_sec) {
-			tech_pvt->max_missed_hold_packets = (tech_pvt->read_codec.implementation->samples_per_second * rtp_hold_timeout_sec) /
-				tech_pvt->read_codec.implementation->samples_per_packet;
+			tech_pvt->max_missed_hold_packets = (tech_pvt->read_impl.samples_per_second * rtp_hold_timeout_sec) /
+				tech_pvt->read_impl.samples_per_packet;
 		}
 
 		if (tech_pvt->te) {


From mikej at freeswitch.org  Thu Jan 22 15:23:46 2009
From: mikej at freeswitch.org (FreeSWITCH SVN)
Date: Thu, 22 Jan 2009 17:23:46 -0600
Subject: [Freeswitch-branches] [commit] r11434 - in freeswitch/branches/1.0:
	conf/sip_profiles src/mod/endpoints/mod_sofia
Message-ID: 

Author: mikej
Date: Thu Jan 22 17:23:46 2009
New Revision: 11434

Log:
mod_sofia: add auto-rtp-bugs profile option to make rtp bug compensation configurable  (r :11146-11147)

Modified:
   freeswitch/branches/1.0/conf/sip_profiles/internal.xml
   freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/mod_sofia.h
   freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/sofia.c
   freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/sofia_glue.c

Modified: freeswitch/branches/1.0/conf/sip_profiles/internal.xml
==============================================================================
--- freeswitch/branches/1.0/conf/sip_profiles/internal.xml	(original)
+++ freeswitch/branches/1.0/conf/sip_profiles/internal.xml	Thu Jan 22 17:23:46 2009
@@ -180,6 +180,17 @@
     
     
     
+
+    
+    
+    
   
 
 

Modified: freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/mod_sofia.h
==============================================================================
--- freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/mod_sofia.h	(original)
+++ freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/mod_sofia.h	Thu Jan 22 17:23:46 2009
@@ -433,6 +433,7 @@
 	sofia_presence_type_t pres_type;
 	sofia_media_options_t media_options;
 	uint32_t force_subscription_expires;
+	switch_rtp_bug_flag_t auto_rtp_bugs;
 };
 
 struct private_object {

Modified: freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/sofia.c
==============================================================================
--- freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/sofia.c	(original)
+++ freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/sofia.c	Thu Jan 22 17:23:46 2009
@@ -1208,6 +1208,31 @@
 	}
 }
 
+static void parse_rtp_bugs(sofia_profile_t *profile, const char *str)
+{
+	if (switch_stristr("clear", str)) {
+		profile->auto_rtp_bugs = 0;
+	}
+
+	if (switch_stristr("CISCO_SKIP_MARK_BIT_2833", str)) {
+		profile->auto_rtp_bugs |= RTP_BUG_CISCO_SKIP_MARK_BIT_2833;
+	}
+
+	if (switch_stristr("~CISCO_SKIP_MARK_BIT_2833", str)) {
+		profile->auto_rtp_bugs &= ~RTP_BUG_CISCO_SKIP_MARK_BIT_2833;
+	}
+	
+	if (switch_stristr("SONUS_SEND_INVALID_TIMESTAMP_2833", str)) {
+		profile->auto_rtp_bugs |= RTP_BUG_SONUS_SEND_INVALID_TIMESTAMP_2833;
+	}
+
+	if (switch_stristr("~SONUS_SEND_INVALID_TIMESTAMP_2833", str)) {
+		profile->auto_rtp_bugs &= ~RTP_BUG_SONUS_SEND_INVALID_TIMESTAMP_2833;
+	}
+
+
+}
+
 switch_status_t reconfig_sofia(sofia_profile_t *profile)
 {
 	switch_xml_t cfg, xml = NULL, xprofile, profiles, gateways_tag, domain_tag, domains_tag, aliases_tag, alias_tag, settings, param;
@@ -1250,6 +1275,8 @@
 					char *val = (char *) switch_xml_attr_soft(param, "value");
 					if (!strcasecmp(var, "debug")) {
 						profile->debug = atoi(val);
+					} else if (!strcasecmp(var, "auto-rtp-bugs")) {
+						parse_rtp_bugs(profile, val);
 					} else if (!strcasecmp(var, "user-agent-string")) { 
 						profile->user_agent = switch_core_strdup(profile->pool, val);
 					} else if (!strcasecmp(var, "dtmf-type")) {
@@ -1639,6 +1666,8 @@
 					goto done;
 				}
 
+				profile->auto_rtp_bugs = RTP_BUG_CISCO_SKIP_MARK_BIT_2833 | RTP_BUG_SONUS_SEND_INVALID_TIMESTAMP_2833;
+
 				profile->pool = pool;
 				profile->user_agent = SOFIA_USER_AGENT;
 
@@ -1694,6 +1723,8 @@
 						if (switch_true(val)) {
 							profile->rport_level = 2;
 						}
+					} else if (!strcasecmp(var, "auto-rtp-bugs")) {
+						parse_rtp_bugs(profile, val);
 					} else if (!strcasecmp(var, "dbname")) {
 						profile->dbname = switch_core_strdup(profile->pool, val);
 					} else if (!strcasecmp(var, "presence-hosts")) {

Modified: freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/sofia_glue.c
==============================================================================
--- freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/sofia_glue.c	(original)
+++ freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/sofia_glue.c	Thu Jan 22 17:23:46 2009
@@ -2275,19 +2275,25 @@
 	}
 
 	if ((tech_pvt->origin = switch_core_session_strdup(session, (char *) sdp->sdp_origin->o_username))) {
-		if (strstr(tech_pvt->origin, "CiscoSystemsSIP-GW-UserAgent")) {
-			tech_pvt->rtp_bugs |= RTP_BUG_CISCO_SKIP_MARK_BIT_2833;
-			switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Activate Buggy RFC2833 Mode!\n");
-		}
 
-		if (strstr(tech_pvt->origin, "Sonus_UAC")) {
-			tech_pvt->rtp_bugs |= RTP_BUG_SONUS_SEND_INVALID_TIMESTAMP_2833;
-			switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, 
-							  "Hello,\nI see you have a Sonus!\n"
-							  "FYI, Sonus cannot follow the RFC on the proper way to send DTMF.\n"
-							  "Sadly, my creator had to spend several hours figuring this out so I thought you'd like to know that!\n"
-							  "Don't worry, DTMF will work but you may want to ask them to fix it......\n"
-							  );
+		if (tech_pvt->profile->auto_rtp_bugs & RTP_BUG_CISCO_SKIP_MARK_BIT_2833) {
+
+			if (strstr(tech_pvt->origin, "CiscoSystemsSIP-GW-UserAgent")) {
+				tech_pvt->rtp_bugs |= RTP_BUG_CISCO_SKIP_MARK_BIT_2833;
+				switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Activate Buggy RFC2833 Mode!\n");
+			}
+		}
+		
+		if (tech_pvt->profile->auto_rtp_bugs & RTP_BUG_SONUS_SEND_INVALID_TIMESTAMP_2833) {
+			if (strstr(tech_pvt->origin, "Sonus_UAC")) {
+				tech_pvt->rtp_bugs |= RTP_BUG_SONUS_SEND_INVALID_TIMESTAMP_2833;
+				switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, 
+								  "Hello,\nI see you have a Sonus!\n"
+								  "FYI, Sonus cannot follow the RFC on the proper way to send DTMF.\n"
+								  "Sadly, my creator had to spend several hours figuring this out so I thought you'd like to know that!\n"
+								  "Don't worry, DTMF will work but you may want to ask them to fix it......\n"
+								  );
+			}
 		}
 	}
 


From mikej at freeswitch.org  Thu Jan 22 15:44:08 2009
From: mikej at freeswitch.org (FreeSWITCH SVN)
Date: Thu, 22 Jan 2009 17:44:08 -0600
Subject: [Freeswitch-branches] [commit] r11435 - freeswitch/branches/1.0/src
Message-ID: 

Author: mikej
Date: Thu Jan 22 17:44:08 2009
New Revision: 11435

Log:
core: fix multiple 2833 dtmf handling issues (r:11149,11261,11262,11266,11293,11294,11338/FSCORE-266,FSCORE-273)

Modified:
   freeswitch/branches/1.0/src/switch_rtp.c

Modified: freeswitch/branches/1.0/src/switch_rtp.c
==============================================================================
--- freeswitch/branches/1.0/src/switch_rtp.c	(original)
+++ freeswitch/branches/1.0/src/switch_rtp.c	Thu Jan 22 17:44:08 2009
@@ -30,7 +30,7 @@
  * switch_rtp.c -- RTP
  *
  */
-
+//#define DEBUG_2833
 #include 
 #include 
 #undef PACKAGE_NAME
@@ -111,6 +111,7 @@
 	unsigned int out_digit_dur;
 	uint16_t in_digit_seq;
 	uint32_t in_digit_ts;
+	uint32_t in_digit_sanity;
 	uint32_t timestamp_dtmf;
 	uint16_t last_duration;
 	uint32_t flip;
@@ -1014,6 +1015,7 @@
 
 	switch_mutex_lock(rtp_session->flag_mutex);
 	switch_set_flag(rtp_session, SWITCH_RTP_FLAG_BREAK);
+	switch_set_flag(rtp_session, SWITCH_RTP_FLAG_FLUSH);
 	
 	if (switch_test_flag(rtp_session, SWITCH_RTP_FLAG_NOBLOCK)) {
 		switch_mutex_unlock(rtp_session->flag_mutex);
@@ -1351,6 +1353,8 @@
 			switch_core_timer_next(&rtp_session->timer);
 		}
 
+	recvfrom:
+
 		bytes = sizeof(rtp_msg_t);
 		status = switch_socket_recvfrom(rtp_session->from_addr, rtp_session->sock_input, 0, (void *) &rtp_session->recv_msg, &bytes);
 
@@ -1358,12 +1362,6 @@
 			ret = (int) bytes;
 			goto end;
 		}
-		
-		if (switch_test_flag(rtp_session, SWITCH_RTP_FLAG_FLUSH)) {
-			do_flush(rtp_session);
-			switch_clear_flag_locked(rtp_session, SWITCH_RTP_FLAG_FLUSH);
-			bytes = 0;
-		}
 
 		if (rtp_session->max_missed_packets) {
 			if (bytes) {
@@ -1379,11 +1377,16 @@
 		if (switch_test_flag(rtp_session, SWITCH_RTP_FLAG_BREAK) || (bytes && bytes == 4 && *((int *)&rtp_session->recv_msg) == UINT_MAX)) {
 			switch_clear_flag_locked(rtp_session, SWITCH_RTP_FLAG_BREAK);
 			do_2833(rtp_session);
-			rtp_flush_read_buffer(rtp_session);
 			bytes = 0;
 			return_cng_frame();
 		}
 
+		if (switch_test_flag(rtp_session, SWITCH_RTP_FLAG_FLUSH)) {
+			do_flush(rtp_session);
+			switch_clear_flag_locked(rtp_session, SWITCH_RTP_FLAG_FLUSH);
+			bytes = 0;
+		}
+		
 		if (bytes && bytes < 5) {
 			continue;
 		}
@@ -1541,31 +1544,56 @@
 		}
 
 
+#ifdef DEBUG_2833
+		if (rtp_session->dtmf_data.in_digit_sanity && !(rtp_session->dtmf_data.in_digit_sanity % 100)) {
+			printf("sanity %d\n", rtp_session->dtmf_data.in_digit_sanity);
+		}
+#endif
+
+		if (rtp_session->dtmf_data.in_digit_sanity && !--rtp_session->dtmf_data.in_digit_sanity) {
+			rtp_session->dtmf_data.last_digit = 0;
+			rtp_session->dtmf_data.in_digit_ts = 0;
+			switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Failed DTMF sanity check.\n");
+		}
 
 		/* RFC2833 ... like all RFC RE: VoIP, guaranteed to drive you to insanity! 
 		   We know the real rules here, but if we enforce them, it's an interop nightmare so,
 		   we put up with as much as we can so we don't have to deal with being punished for
 		   doing it right. Nice guys finish last!
 		 */
-		if (bytes && !switch_test_flag(rtp_session, SWITCH_RTP_FLAG_PASS_RFC2833) && rtp_session->recv_msg.header.pt == rtp_session->te) {
+		if (bytes && !switch_test_flag(rtp_session, SWITCH_RTP_FLAG_PROXY_MEDIA) && 
+			!switch_test_flag(rtp_session, SWITCH_RTP_FLAG_PASS_RFC2833) && rtp_session->recv_msg.header.pt == rtp_session->te) {
 			unsigned char *packet = (unsigned char *) rtp_session->recv_msg.body;
 			int end = packet[1] & 0x80 ? 1 : 0;
 			uint16_t duration = (packet[2] << 8) + packet[3];
 			char key = switch_rfc2833_to_char(packet[0]);
 			uint16_t in_digit_seq = ntohs((uint16_t) rtp_session->recv_msg.header.seq);
+			uint32_t ts = htonl(rtp_session->recv_msg.header.ts);
+
+			if (in_digit_seq < rtp_session->dtmf_data.in_digit_seq) {
+				if (rtp_session->dtmf_data.in_digit_seq - in_digit_seq > 100) {
+					rtp_session->dtmf_data.in_digit_seq = 0;
+				}
+			}
 
 			if (in_digit_seq > rtp_session->dtmf_data.in_digit_seq) {
-				uint32_t ts = htonl(rtp_session->recv_msg.header.ts);
-				//int m = rtp_session->recv_msg.header.m;
 
 				rtp_session->dtmf_data.in_digit_seq = in_digit_seq;
-
-				//printf("%c %u %u %u\n", key, in_digit_seq, ts, duration);
+#ifdef DEBUG_2833
+				
+				printf("read: %c %u %u %u %u %d %d %s\n", 
+					   key, in_digit_seq, rtp_session->dtmf_data.in_digit_seq, 
+					   ts, duration, rtp_session->recv_msg.header.m, end, end && !rtp_session->dtmf_data.in_digit_ts ? "ignored" : "");
+#endif
+				/* only set sanity if we do NOT ignore the packet */
+				if (rtp_session->dtmf_data.in_digit_ts) {
+					rtp_session->dtmf_data.in_digit_sanity = 2000;
+				}
 
 				if (rtp_session->dtmf_data.last_duration > duration && ts == rtp_session->dtmf_data.in_digit_ts) {
 					rtp_session->dtmf_data.flip++;
 				}
-
+				
 				if (end) {
 					if (rtp_session->dtmf_data.in_digit_ts) {
 						switch_dtmf_t dtmf = { key, duration };
@@ -1576,28 +1604,53 @@
 						if (rtp_session->dtmf_data.flip) {
 							dtmf.duration += rtp_session->dtmf_data.flip * 0xFFFF;
 							rtp_session->dtmf_data.flip = 0;
-							//printf("you're welcome!\n");
+#ifdef DEBUG_2833
+							printf("you're welcome!\n");
+#endif
 						}
-						//printf("done digit=%c ts=%u start_ts=%u dur=%u ddur=%u\n", 
-						//dtmf.digit, ts, rtp_session->dtmf_data.in_digit_ts, duration, dtmf.duration);
+
+#ifdef DEBUG_2833
+						printf("done digit=%c ts=%u start_ts=%u dur=%u ddur=%u\n", 
+							   dtmf.digit, ts, rtp_session->dtmf_data.in_digit_ts, duration, dtmf.duration);
+#endif
 						switch_rtp_queue_rfc2833_in(rtp_session, &dtmf);
-						switch_set_flag_locked(rtp_session, SWITCH_RTP_FLAG_BREAK);
 						rtp_session->dtmf_data.last_digit = rtp_session->dtmf_data.first_digit;
+
+						rtp_session->dtmf_data.in_digit_ts = 0;
+						rtp_session->dtmf_data.in_digit_sanity = 0;
+						do_cng = 1;
+					} else {
+						if (!switch_rtp_ready(rtp_session)) {
+							goto end;
+						}
+						switch_cond_next();
+						goto recvfrom;
 					}
-					rtp_session->dtmf_data.in_digit_ts = 0;
+
 				} else if (!rtp_session->dtmf_data.in_digit_ts) {
 					rtp_session->dtmf_data.in_digit_ts = ts;
 					rtp_session->dtmf_data.first_digit = key;
+					rtp_session->dtmf_data.in_digit_sanity = 2000;
 				}
 
 				rtp_session->dtmf_data.last_duration = duration;
-
+#ifdef DEBUG_2833
+			} else {
+				printf("drop: %c %u %u %u %u %d %d\n", 
+					   key, in_digit_seq, rtp_session->dtmf_data.in_digit_seq, ts, duration, rtp_session->recv_msg.header.m, end);
+#endif
 			}
-
-			do_cng = 1;
+		}
+		
+		if (rtp_session->dtmf_data.in_digit_ts) {
+			if (!switch_rtp_ready(rtp_session)) {
+				goto end;
+			}
+			switch_cond_next();
+			goto recvfrom;
 		}
 
-	  timer_check:
+	timer_check:
 
 		if (do_cng) {
 			uint8_t *data = (uint8_t *) rtp_session->recv_msg.body;
@@ -1703,10 +1756,6 @@
 	}
 	switch_mutex_unlock(rtp_session->dtmf_data.dtmf_mutex);
 
-	if (bytes) {
-		rtp_flush_read_buffer(rtp_session);
-	}
-
 	return bytes;
 }
 


From mikej at freeswitch.org  Thu Jan 22 15:48:01 2009
From: mikej at freeswitch.org (FreeSWITCH SVN)
Date: Thu, 22 Jan 2009 17:48:01 -0600
Subject: [Freeswitch-branches] [commit] r11436 - freeswitch/branches/1.0
Message-ID: 

Author: mikej
Date: Thu Jan 22 17:48:01 2009
New Revision: 11436

Log:
build: add targets cd-sounds[-install] and cd-moh[-install] for 48k sounds (r:11151)

Modified:
   freeswitch/branches/1.0/Makefile.am

Modified: freeswitch/branches/1.0/Makefile.am
==============================================================================
--- freeswitch/branches/1.0/Makefile.am	(original)
+++ freeswitch/branches/1.0/Makefile.am	Thu Jan 22 17:48:01 2009
@@ -32,15 +32,20 @@
 moh: sounds-music-8000
 moh-install: sounds-music-8000-install
 
-hd-sounds: sounds-en-us-callie-8000 sounds-en-us-callie-16000
-hd-sounds-install: sounds-en-us-callie-8000-install sounds-en-us-callie-16000-install
-hd-moh: sounds-music-8000 sounds-music-16000
-hd-moh-install: sounds-music-8000-install sounds-music-16000-install
-
-uhd-sounds: sounds-en-us-callie-8000 sounds-en-us-callie-16000 sounds-en-us-callie-32000
-uhd-sounds-install: sounds-en-us-callie-8000-install sounds-en-us-callie-16000-install sounds-en-us-callie-32000-install
-uhd-moh: sounds-music-8000 sounds-music-16000 sounds-music-32000
-uhd-moh-install: sounds-music-8000-install sounds-music-16000-install sounds-music-32000-install
+hd-sounds: sounds sounds-en-us-callie-16000
+hd-sounds-install: sounds-install sounds-en-us-callie-16000-install
+hd-moh: moh sounds-music-16000
+hd-moh-install: moh-install sounds-music-16000-install
+
+uhd-sounds: hd-sounds sounds-en-us-callie-32000
+uhd-sounds-install: hd-sounds-install sounds-en-us-callie-32000-install
+uhd-moh: hd-moh sounds-music-32000
+uhd-moh-install: hd-moh-install sounds-music-32000-install
+
+cd-sounds: uhd-sounds sounds-en-us-callie-48000
+cd-sounds-install: uhd-sounds-install sounds-en-us-callie-48000-install
+cd-moh: uhd-moh sounds-music-48000
+cd-moh-install: uhd-moh-install sounds-music-48000-install
 
 libdir = @libdir@
 bindir = @bindir@


From mikej at freeswitch.org  Thu Jan 22 15:50:35 2009
From: mikej at freeswitch.org (FreeSWITCH SVN)
Date: Thu, 22 Jan 2009 17:50:35 -0600
Subject: [Freeswitch-branches] [commit] r11438 - in freeswitch/branches/1.0:
	src src/mod/formats/mod_local_stream support-d
Message-ID: 

Author: mikej
Date: Thu Jan 22 17:50:35 2009
New Revision: 11438

Log:
core: fix buffering issues (r:11152-11157,11162,11191)

Modified:
   freeswitch/branches/1.0/src/mod/formats/mod_local_stream/mod_local_stream.c
   freeswitch/branches/1.0/src/switch_core_file.c
   freeswitch/branches/1.0/support-d/.emacs

Modified: freeswitch/branches/1.0/src/mod/formats/mod_local_stream/mod_local_stream.c
==============================================================================
--- freeswitch/branches/1.0/src/mod/formats/mod_local_stream/mod_local_stream.c	(original)
+++ freeswitch/branches/1.0/src/mod/formats/mod_local_stream/mod_local_stream.c	Thu Jan 22 17:50:35 2009
@@ -32,7 +32,7 @@
  */
 #include 
 /* for apr_pstrcat */
-#define DEFAULT_PREBUFFER_SIZE 1024 * 32
+#define DEFAULT_PREBUFFER_SIZE 1024 * 64
 
 SWITCH_MODULE_LOAD_FUNCTION(mod_local_stream_load);
 SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_local_stream_shutdown);
@@ -183,7 +183,7 @@
 
 			fname = path_buf;
 			fh.prebuf = source->prebuf;
-			fh.pre_buffer_datalen = 65536;
+			fh.pre_buffer_datalen = source->prebuf;
 
 			if (switch_core_file_open(&fh,
 									  (char *) fname,
@@ -204,18 +204,26 @@
 			}
 
 			while (RUNNING) {
+				int is_open;
 				switch_core_timer_next(&timer);
 				olen = source->samples;
+				is_open = switch_test_flag((&fh), SWITCH_FILE_OPEN);
 
-				if (switch_core_file_read(&fh, abuf, &olen) != SWITCH_STATUS_SUCCESS || !olen) {
-					switch_core_file_close(&fh);
-					break;
+				if (is_open) {
+					if (switch_core_file_read(&fh, abuf, &olen) != SWITCH_STATUS_SUCCESS || !olen) {
+						switch_core_file_close(&fh);
+					}
+
+					switch_buffer_write(audio_buffer, abuf, olen * 2);
 				}
 
-				switch_buffer_write(audio_buffer, abuf, olen * 2);
 				used = switch_buffer_inuse(audio_buffer);
 
-				if (used >= source->prebuf || (source->total && used > source->samples * 2)) {
+				if (!used && !is_open) {
+					break;
+				}
+
+				if (!is_open || used >= source->prebuf || (source->total && used > source->samples * 2)) {
 					used = switch_buffer_read(audio_buffer, dist_buf, source->samples * 2);
 					if (source->total) {
 
@@ -285,6 +293,9 @@
 	char *alt_path = NULL;
 	switch_status_t status = SWITCH_STATUS_SUCCESS;
 
+	/* already buffering a step back, so always disable it */
+	handle->pre_buffer_datalen = 0;
+
 	if (switch_test_flag(handle, SWITCH_FILE_FLAG_WRITE)) {
 		switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "This format does not support writing!\n");
 		return SWITCH_STATUS_FALSE;

Modified: freeswitch/branches/1.0/src/switch_core_file.c
==============================================================================
--- freeswitch/branches/1.0/src/switch_core_file.c	(original)
+++ freeswitch/branches/1.0/src/switch_core_file.c	Thu Jan 22 17:50:35 2009
@@ -158,8 +158,9 @@
 		int asis = switch_test_flag(fh, SWITCH_FILE_NATIVE);
 
 		if (!switch_test_flag(fh, SWITCH_FILE_BUFFER_DONE)) {
-			if (!switch_buffer_inuse(fh->pre_buffer)) {
-				rlen = asis ? fh->pre_buffer_datalen : fh->pre_buffer_datalen / 2;
+			rlen = asis ? fh->pre_buffer_datalen : fh->pre_buffer_datalen / 2;
+
+			if (switch_buffer_inuse(fh->pre_buffer) < rlen * 2) {
 				if ((status = fh->file_interface->file_read(fh, fh->pre_buffer_data, &rlen)) != SWITCH_STATUS_SUCCESS || !rlen) {
 					switch_set_flag(fh, SWITCH_FILE_BUFFER_DONE);
 				} else {
@@ -209,7 +210,7 @@
 				switch_assert(fh->buffer);
 			}
 			if (!fh->dbuf) {
-				fh->dbuflen = want * 2;
+				fh->dbuflen = want * 8;
 				fh->dbuf = switch_core_alloc(fh->memory_pool, fh->dbuflen);
 			}
 			switch_assert(fh->resampler->to_len <= fh->dbuflen);

Modified: freeswitch/branches/1.0/support-d/.emacs
==============================================================================
--- freeswitch/branches/1.0/support-d/.emacs	(original)
+++ freeswitch/branches/1.0/support-d/.emacs	Thu Jan 22 17:50:35 2009
@@ -7,7 +7,7 @@
 ;(setq cperl-hairy t)
 (global-unset-key "\C-h")
 (global-set-key "\C-h" 'delete-backward-char)
-(load "/usr/share/emacs/site-lisp/rng-auto.el")
+;(load "/usr/share/emacs/site-lisp/rng-auto.el")
 
 (require 'cc-mode)
 (defun my-build-tab-stop-list (width)


From mikej at freeswitch.org  Thu Jan 22 15:52:32 2009
From: mikej at freeswitch.org (FreeSWITCH SVN)
Date: Thu, 22 Jan 2009 17:52:32 -0600
Subject: [Freeswitch-branches] [commit] r11439 - in
	freeswitch/branches/1.0/src: . mod/endpoints/mod_portaudio
Message-ID: 

Author: mikej
Date: Thu Jan 22 17:52:32 2009
New Revision: 11439

Log:
mod_portaudio: fix stuck channels on outbound calls (r:11160)

Modified:
   freeswitch/branches/1.0/src/mod/endpoints/mod_portaudio/mod_portaudio.c
   freeswitch/branches/1.0/src/switch_rtp.c

Modified: freeswitch/branches/1.0/src/mod/endpoints/mod_portaudio/mod_portaudio.c
==============================================================================
--- freeswitch/branches/1.0/src/mod/endpoints/mod_portaudio/mod_portaudio.c	(original)
+++ freeswitch/branches/1.0/src/mod/endpoints/mod_portaudio/mod_portaudio.c	Thu Jan 22 17:52:32 2009
@@ -801,6 +801,7 @@
 	}
 
 	globals.indev = globals.outdev = globals.ringdev = -1;
+	globals.sample_rate = 8000;
 
 	if ((settings = switch_xml_child(cfg, "settings"))) {
 		for (param = switch_xml_child(settings, "param"); param; param = param->next) {
@@ -821,7 +822,7 @@
 				globals.sample_rate = atoi(val);
 			} else if (!strcmp(var, "codec-ms")) {
 				int tmp = atoi(val);
-				if (SWITCH_ACCEPTABLE_INTERVAL(tmp)) {
+				if (switch_check_interval(globals.sample_rate, tmp)) {
 					globals.codec_ms = tmp;
 				} else {
 					switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING,

Modified: freeswitch/branches/1.0/src/switch_rtp.c
==============================================================================
--- freeswitch/branches/1.0/src/switch_rtp.c	(original)
+++ freeswitch/branches/1.0/src/switch_rtp.c	Thu Jan 22 17:52:32 2009
@@ -1007,6 +1007,13 @@
 	return SWITCH_STATUS_SUCCESS;
 }
 
+static void ping_socket(switch_rtp_t *rtp_session)
+{
+	uint32_t o = UINT_MAX;
+	switch_size_t len = sizeof(o);
+	switch_socket_sendto(rtp_session->sock_input, rtp_session->local_addr, 0, (void *) &o, &len);
+}
+
 SWITCH_DECLARE(void) switch_rtp_break(switch_rtp_t *rtp_session)
 {
 	if (!switch_rtp_ready(rtp_session)) {
@@ -1023,9 +1030,7 @@
 	}
 
 	if (rtp_session->sock_input) {
-		uint32_t o = UINT_MAX;
-		switch_size_t len = sizeof(o);
-		switch_socket_sendto(rtp_session->sock_input, rtp_session->local_addr, 0, (void *) &o, &len);
+		ping_socket(rtp_session);
 	}
 	switch_mutex_unlock(rtp_session->flag_mutex);
 }
@@ -1037,6 +1042,7 @@
 	if (switch_test_flag(rtp_session, SWITCH_RTP_FLAG_IO)) {
 		switch_clear_flag(rtp_session, SWITCH_RTP_FLAG_IO);
 		if (rtp_session->sock_input) {
+			ping_socket(rtp_session);
 			switch_socket_shutdown(rtp_session->sock_input, SWITCH_SHUTDOWN_READWRITE);
 		}
 		if (rtp_session->sock_output && rtp_session->sock_output != rtp_session->sock_input) {


From mikej at freeswitch.org  Thu Jan 22 15:54:43 2009
From: mikej at freeswitch.org (FreeSWITCH SVN)
Date: Thu, 22 Jan 2009 17:54:43 -0600
Subject: [Freeswitch-branches] [commit] r11441 - in
	freeswitch/branches/1.0/src: . include mod/endpoints/mod_sofia
Message-ID: 

Author: mikej
Date: Thu Jan 22 17:54:43 2009
New Revision: 11441

Log:
mod_sofia: reset media timeout on re-invite (r:11161)

Modified:
   freeswitch/branches/1.0/src/include/switch_rtp.h
   freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/sofia_glue.c
   freeswitch/branches/1.0/src/switch_rtp.c

Modified: freeswitch/branches/1.0/src/include/switch_rtp.h
==============================================================================
--- freeswitch/branches/1.0/src/include/switch_rtp.h	(original)
+++ freeswitch/branches/1.0/src/include/switch_rtp.h	Thu Jan 22 17:54:43 2009
@@ -168,7 +168,7 @@
 
 SWITCH_DECLARE(char *) switch_rtp_get_remote_host(switch_rtp_t *rtp_session);
 SWITCH_DECLARE(switch_port_t) switch_rtp_get_remote_port(switch_rtp_t *rtp_session);
-
+SWITCH_DECLARE(void) switch_rtp_reset_media_timer(switch_rtp_t *rtp_session);
 SWITCH_DECLARE(void) switch_rtp_set_max_missed_packets(switch_rtp_t *rtp_session, uint32_t max);
 
 /*! 

Modified: freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/sofia_glue.c
==============================================================================
--- freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/sofia_glue.c	(original)
+++ freeswitch/branches/1.0/src/mod/endpoints/mod_sofia/sofia_glue.c	Thu Jan 22 17:54:43 2009
@@ -1817,6 +1817,10 @@
 	switch_assert(tech_pvt != NULL);
 	switch_mutex_lock(tech_pvt->sofia_mutex);
 
+	if (switch_rtp_ready(tech_pvt->rtp_session)) {
+		switch_rtp_reset_media_timer(tech_pvt->rtp_session);
+	}
+
 	if ((var = switch_channel_get_variable(tech_pvt->channel, SOFIA_SECURE_MEDIA_VARIABLE)) && switch_true(var)) {
 		switch_set_flag_locked(tech_pvt, TFLAG_SECURE);
 	}

Modified: freeswitch/branches/1.0/src/switch_rtp.c
==============================================================================
--- freeswitch/branches/1.0/src/switch_rtp.c	(original)
+++ freeswitch/branches/1.0/src/switch_rtp.c	Thu Jan 22 17:54:43 2009
@@ -608,6 +608,11 @@
 	rtp_session->max_missed_packets = max;
 }
 
+SWITCH_DECLARE(void) switch_rtp_reset_media_timer(switch_rtp_t *rtp_session)
+{
+	rtp_session->missed_count = 0;
+}
+
 SWITCH_DECLARE(char *) switch_rtp_get_remote_host(switch_rtp_t *rtp_session)
 {
 	return switch_strlen_zero(rtp_session->remote_host_str) ? "0.0.0.0" : rtp_session->remote_host_str;


From mikej at freeswitch.org  Thu Jan 22 16:05:16 2009
From: mikej at freeswitch.org (FreeSWITCH SVN)
Date: Thu, 22 Jan 2009 18:05:16 -0600
Subject: [Freeswitch-branches] [commit] r11442 - in freeswitch/branches/1.0:
	build conf src/mod/applications/mod_dptools
	src/mod/applications/mod_fax src/mod/applications/mod_fifo
	src/mod/applications/mod_limit src/mod/applications/mod_soundtouch
	src/mod/applications/mod_voicemail
	src/mod/asr_tts/mod_pocketsphinx src/mod/formats/mod_shout
Message-ID: 

Author: mikej
Date: Thu Jan 22 18:05:15 2009
New Revision: 11442

Log:


Modified:
   freeswitch/branches/1.0/build/Makefile
   freeswitch/branches/1.0/conf/vars.xml
   freeswitch/branches/1.0/src/mod/applications/mod_dptools/mod_dptools.c
   freeswitch/branches/1.0/src/mod/applications/mod_fax/mod_fax.c
   freeswitch/branches/1.0/src/mod/applications/mod_fifo/mod_fifo.c
   freeswitch/branches/1.0/src/mod/applications/mod_limit/mod_limit.c
   freeswitch/branches/1.0/src/mod/applications/mod_soundtouch/mod_soundtouch.cpp
   freeswitch/branches/1.0/src/mod/applications/mod_voicemail/mod_voicemail.c
   freeswitch/branches/1.0/src/mod/asr_tts/mod_pocketsphinx/mod_pocketsphinx.c
   freeswitch/branches/1.0/src/mod/formats/mod_shout/mod_shout.c

Modified: freeswitch/branches/1.0/build/Makefile
==============================================================================
--- freeswitch/branches/1.0/build/Makefile	(original)
+++ freeswitch/branches/1.0/build/Makefile	Thu Jan 22 18:05:15 2009
@@ -14,6 +14,9 @@
 	@echo " +       (uhd-sounds includes hd-sounds, sounds) +"
 	@echo " +       (hd-sounds includes sounds)             +"
 	@echo " +       ------------------------------------    +"
+	@echo " +               $(MAKE) cd-sounds-install          +"  
+	@echo " +               $(MAKE) cd-moh-install             +"  
+	@echo " +                                               +"
 	@echo " +               $(MAKE) uhd-sounds-install         +"  
 	@echo " +               $(MAKE) uhd-moh-install            +"  
 	@echo " +                                               +"

Modified: freeswitch/branches/1.0/conf/vars.xml
==============================================================================
--- freeswitch/branches/1.0/conf/vars.xml	(original)
+++ freeswitch/branches/1.0/conf/vars.xml	Thu Jan 22 18:05:15 2009
@@ -11,11 +11,12 @@
   -->
   
   
-   
   
     
     
     

Modified: freeswitch/branches/1.0/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/EventParser.cs
==============================================================================
--- freeswitch/branches/1.0/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/EventParser.cs	(original)
+++ freeswitch/branches/1.0/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/EventParser.cs	Thu Jan 22 19:19:36 2009
@@ -145,14 +145,14 @@
                     int pos = plainEvent.Body.IndexOf("\n\n");
                     if (pos < plainEvent.Body.Length - 2)
                     {
-                        Console.WriteLine("Fucked up event");
+                        Console.WriteLine("Invalid event");
                         Console.WriteLine("Header");
                         Console.WriteLine(headers);
                         Console.WriteLine("Body");
                         Console.WriteLine(plainEvent.Body);
                         Console.WriteLine("=========================== EVERYTHING in _text ==============================");
                         Console.WriteLine(_text);
-                        throw new InvalidDataException("Fucked up event: " + _text);
+                        throw new InvalidDataException("Invalid event: " + _text);
                     }
 
                     if (plainEvent.Body.Length < plainEvent.ContentLength)
@@ -178,4 +178,4 @@
                 _piecesToAppend.Enqueue(text);
         }
     }
-}
\ No newline at end of file
+}

Modified: freeswitch/branches/1.0/src/mod/applications/mod_limit/mod_limit.c
==============================================================================
--- freeswitch/branches/1.0/src/mod/applications/mod_limit/mod_limit.c	(original)
+++ freeswitch/branches/1.0/src/mod/applications/mod_limit/mod_limit.c	Thu Jan 22 19:19:36 2009
@@ -64,7 +64,7 @@
 };
 typedef struct limit_hash_item limit_hash_item_t;
 
-
+ 
 static char limit_sql[] =
 	"CREATE TABLE limit_data (\n"
 	"   hostname   VARCHAR(255),\n" "   realm      VARCHAR(255),\n" "   id         VARCHAR(255),\n" "   uuid       VARCHAR(255)\n" ");\n";

Modified: freeswitch/branches/1.0/src/mod/languages/mod_managed/freeswitch_wrap.cxx
==============================================================================
--- freeswitch/branches/1.0/src/mod/languages/mod_managed/freeswitch_wrap.cxx	(original)
+++ freeswitch/branches/1.0/src/mod/languages/mod_managed/freeswitch_wrap.cxx	Thu Jan 22 19:19:36 2009
@@ -22358,6 +22358,14 @@
 }
 
 
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_reset_media_timer(void * jarg1) {
+  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
+  
+  arg1 = (switch_rtp_t *)jarg1; 
+  switch_rtp_reset_media_timer(arg1);
+}
+
+
 SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_set_max_missed_packets(void * jarg1, unsigned long jarg2) {
   switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
   uint32_t arg2 ;

Modified: freeswitch/branches/1.0/src/mod/languages/mod_managed/managed/swig.cs
==============================================================================
--- freeswitch/branches/1.0/src/mod/languages/mod_managed/managed/swig.cs	(original)
+++ freeswitch/branches/1.0/src/mod/languages/mod_managed/managed/swig.cs	Thu Jan 22 19:19:36 2009
@@ -3384,6 +3384,10 @@
     return ret;
   }
 
+  public static void switch_rtp_reset_media_timer(SWIGTYPE_p_switch_rtp rtp_session) {
+    freeswitchPINVOKE.switch_rtp_reset_media_timer(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
+  }
+
   public static void switch_rtp_set_max_missed_packets(SWIGTYPE_p_switch_rtp rtp_session, uint max) {
     freeswitchPINVOKE.switch_rtp_set_max_missed_packets(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), max);
   }
@@ -9586,6 +9590,9 @@
   [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_remote_port")]
   public static extern ushort switch_rtp_get_remote_port(HandleRef jarg1);
 
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_reset_media_timer")]
+  public static extern void switch_rtp_reset_media_timer(HandleRef jarg1);
+
   [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_max_missed_packets")]
   public static extern void switch_rtp_set_max_missed_packets(HandleRef jarg1, uint jarg2);
 

Modified: freeswitch/branches/1.0/w32/Setup/Setup.vdproj
==============================================================================
--- freeswitch/branches/1.0/w32/Setup/Setup.vdproj	(original)
+++ freeswitch/branches/1.0/w32/Setup/Setup.vdproj	Thu Jan 22 19:19:36 2009
@@ -34,12 +34,6 @@
         "Entry"
         {
         "MsmKey" = "8:_1273F63008CF585CA0E063E436B4646F"
-        "OwnerKey" = "8:_B5542B260CD5493395871EFDE833E438"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_1273F63008CF585CA0E063E436B4646F"
         "OwnerKey" = "8:_FBB0E565B1DE49CE9C827ACAC337AC5B"
         "MsmSig" = "8:_UNDEFINED"
         }
@@ -81,18 +75,6 @@
         }
         "Entry"
         {
-        "MsmKey" = "8:_22F4FC6A582C42A0817BA85C8FEBAA18"
-        "OwnerKey" = "8:_28FBC5A60B44423B8A2CC378347483CE"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_22F4FC6A582C42A0817BA85C8FEBAA18"
-        "OwnerKey" = "8:_A0D5F714A0F94250A1C39603B699AB82"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
         "MsmKey" = "8:_27E8189E01B6420CB898CC51360C83A3"
         "OwnerKey" = "8:_UNDEFINED"
         "MsmSig" = "8:_UNDEFINED"
@@ -327,6 +309,12 @@
         }
         "Entry"
         {
+        "MsmKey" = "8:_6A4CAD73F43678BF7C05E8FB41042F74"
+        "OwnerKey" = "8:_D2EF447106B24E67907DAED3D39CFBB1"
+        "MsmSig" = "8:_UNDEFINED"
+        }
+        "Entry"
+        {
         "MsmKey" = "8:_6AA8D6AF639F4E6B92D28A7E0D13FD5E"
         "OwnerKey" = "8:_UNDEFINED"
         "MsmSig" = "8:_UNDEFINED"
@@ -417,36 +405,12 @@
         }
         "Entry"
         {
-        "MsmKey" = "8:_7A08061CFF2F14AC1D5A1B4592BEDB6D"
-        "OwnerKey" = "8:_59CFED0C4EC0492C945E4EBC04FE965F"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_7A08061CFF2F14AC1D5A1B4592BEDB6D"
-        "OwnerKey" = "8:_F0B800E719294692A02518CFD8CBAEFF"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_7A08061CFF2F14AC1D5A1B4592BEDB6D"
-        "OwnerKey" = "8:_D2EF447106B24E67907DAED3D39CFBB1"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
         "MsmKey" = "8:_7B1050643E1E48A3B67B281B4AD43904"
         "OwnerKey" = "8:_UNDEFINED"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_7BBFE2768ACD3A62F3874EF99D16C0B8"
-        "OwnerKey" = "8:_F0B800E719294692A02518CFD8CBAEFF"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
         "MsmKey" = "8:_7CFCCDD9C6694A0498D7CD6CDD285042"
         "OwnerKey" = "8:_UNDEFINED"
         "MsmSig" = "8:_UNDEFINED"
@@ -513,6 +477,24 @@
         }
         "Entry"
         {
+        "MsmKey" = "8:_879085EF680EFDF6242DCB77439EC825"
+        "OwnerKey" = "8:_59CFED0C4EC0492C945E4EBC04FE965F"
+        "MsmSig" = "8:_UNDEFINED"
+        }
+        "Entry"
+        {
+        "MsmKey" = "8:_879085EF680EFDF6242DCB77439EC825"
+        "OwnerKey" = "8:_F0B800E719294692A02518CFD8CBAEFF"
+        "MsmSig" = "8:_UNDEFINED"
+        }
+        "Entry"
+        {
+        "MsmKey" = "8:_879085EF680EFDF6242DCB77439EC825"
+        "OwnerKey" = "8:_D2EF447106B24E67907DAED3D39CFBB1"
+        "MsmSig" = "8:_UNDEFINED"
+        }
+        "Entry"
+        {
         "MsmKey" = "8:_8B53F026686B44189676CBC200E641C1"
         "OwnerKey" = "8:_UNDEFINED"
         "MsmSig" = "8:_UNDEFINED"
@@ -615,6 +597,12 @@
         }
         "Entry"
         {
+        "MsmKey" = "8:_A164EF86C4B57E41C8CE77B48F39DAC7"
+        "OwnerKey" = "8:_D2EF447106B24E67907DAED3D39CFBB1"
+        "MsmSig" = "8:_UNDEFINED"
+        }
+        "Entry"
+        {
         "MsmKey" = "8:_A3936A2727E73289F5804D5DA006FD0A"
         "OwnerKey" = "8:_28FBC5A60B44423B8A2CC378347483CE"
         "MsmSig" = "8:_UNDEFINED"
@@ -670,36 +658,30 @@
         "Entry"
         {
         "MsmKey" = "8:_ADA22D44BCDEBA509E09A5D4C155AA41"
-        "OwnerKey" = "8:_1CFB1AB04E024FC993E0EB4859DF8408"
+        "OwnerKey" = "8:_3DB5A5EF1E624F999BCEA20250508EEA"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_B0A2E9B4C45D4098AFD734D0C4E3EAFB"
-        "OwnerKey" = "8:_UNDEFINED"
+        "MsmKey" = "8:_ADA22D44BCDEBA509E09A5D4C155AA41"
+        "OwnerKey" = "8:_1CFB1AB04E024FC993E0EB4859DF8408"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_B33F513CD3524D3BB7BD11E035C3B562"
+        "MsmKey" = "8:_B0A2E9B4C45D4098AFD734D0C4E3EAFB"
         "OwnerKey" = "8:_UNDEFINED"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_B34D0605157A4FE2A81F4639019E31BD"
+        "MsmKey" = "8:_B33F513CD3524D3BB7BD11E035C3B562"
         "OwnerKey" = "8:_UNDEFINED"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_B540FA32E4F6382CF1426D13A0A4E6B7"
-        "OwnerKey" = "8:_D2EF447106B24E67907DAED3D39CFBB1"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_B5542B260CD5493395871EFDE833E438"
+        "MsmKey" = "8:_B34D0605157A4FE2A81F4639019E31BD"
         "OwnerKey" = "8:_UNDEFINED"
         "MsmSig" = "8:_UNDEFINED"
         }
@@ -759,12 +741,6 @@
         }
         "Entry"
         {
-        "MsmKey" = "8:_BFD1EC957C5DBC08B54E6594C7CC5F91"
-        "OwnerKey" = "8:_D2EF447106B24E67907DAED3D39CFBB1"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
         "MsmKey" = "8:_C1036825E1364537B537E542E71F9C0E"
         "OwnerKey" = "8:_UNDEFINED"
         "MsmSig" = "8:_UNDEFINED"
@@ -843,14 +819,14 @@
         }
         "Entry"
         {
-        "MsmKey" = "8:_D7EC5795A9C645AC8E129C2EE6D461ED"
-        "OwnerKey" = "8:_UNDEFINED"
+        "MsmKey" = "8:_D7E82DD20D5B47395F635480C8E3A1D3"
+        "OwnerKey" = "8:_F0B800E719294692A02518CFD8CBAEFF"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
         {
-        "MsmKey" = "8:_DC30A9FB71F9449BAF1F5981E3538D1E"
-        "OwnerKey" = "8:_22F4FC6A582C42A0817BA85C8FEBAA18"
+        "MsmKey" = "8:_D7EC5795A9C645AC8E129C2EE6D461ED"
+        "OwnerKey" = "8:_UNDEFINED"
         "MsmSig" = "8:_UNDEFINED"
         }
         "Entry"
@@ -963,12 +939,6 @@
         }
         "Entry"
         {
-        "MsmKey" = "8:_FB1B9FBDC3294F1C96DAC4246C013C22"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
         "MsmKey" = "8:_FBB0E565B1DE49CE9C827ACAC337AC5B"
         "OwnerKey" = "8:_UNDEFINED"
         "MsmSig" = "8:_UNDEFINED"
@@ -1802,6 +1772,26 @@
             "IsDependency" = "11:FALSE"
             "IsolateTo" = "8:"
             }
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_6A4CAD73F43678BF7C05E8FB41042F74"
+            {
+            "SourcePath" = "8:libteletone.dll"
+            "TargetName" = "8:libteletone.dll"
+            "Tag" = "8:"
+            "Folder" = "8:_04AC783F1C9F41AEB4E947C46CE9C9FF"
+            "Condition" = "8:"
+            "Transitive" = "11:FALSE"
+            "Vital" = "11:TRUE"
+            "ReadOnly" = "11:FALSE"
+            "Hidden" = "11:FALSE"
+            "System" = "11:FALSE"
+            "Permanent" = "11:FALSE"
+            "SharedLegacy" = "11:FALSE"
+            "PackageAs" = "3:1"
+            "Register" = "3:1"
+            "Exclude" = "11:FALSE"
+            "IsDependency" = "11:TRUE"
+            "IsolateTo" = "8:"
+            }
             "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_6AA8D6AF639F4E6B92D28A7E0D13FD5E"
             {
             "SourcePath" = "8:..\\..\\conf\\dialplan\\extensions\\sipphone.com.noload"
@@ -2022,46 +2012,6 @@
             "IsDependency" = "11:FALSE"
             "IsolateTo" = "8:"
             }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_7A08061CFF2F14AC1D5A1B4592BEDB6D"
-            {
-            "SourcePath" = "8:libapr.dll"
-            "TargetName" = "8:libapr.dll"
-            "Tag" = "8:"
-            "Folder" = "8:_04AC783F1C9F41AEB4E947C46CE9C9FF"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:TRUE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_7BBFE2768ACD3A62F3874EF99D16C0B8"
-            {
-            "SourcePath" = "8:FreeSwitch.dll"
-            "TargetName" = "8:FreeSwitch.dll"
-            "Tag" = "8:"
-            "Folder" = "8:_04AC783F1C9F41AEB4E947C46CE9C9FF"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:TRUE"
-            "IsDependency" = "11:TRUE"
-            "IsolateTo" = "8:"
-            }
             "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_7CFCCDD9C6694A0498D7CD6CDD285042"
             {
             "SourcePath" = "8:..\\..\\conf\\lang\\de\\de.xml"
@@ -2282,6 +2232,26 @@
             "IsDependency" = "11:FALSE"
             "IsolateTo" = "8:"
             }
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_879085EF680EFDF6242DCB77439EC825"
+            {
+            "SourcePath" = "8:libapr.dll"
+            "TargetName" = "8:libapr.dll"
+            "Tag" = "8:"
+            "Folder" = "8:_04AC783F1C9F41AEB4E947C46CE9C9FF"
+            "Condition" = "8:"
+            "Transitive" = "11:FALSE"
+            "Vital" = "11:TRUE"
+            "ReadOnly" = "11:FALSE"
+            "Hidden" = "11:FALSE"
+            "System" = "11:FALSE"
+            "Permanent" = "11:FALSE"
+            "SharedLegacy" = "11:FALSE"
+            "PackageAs" = "3:1"
+            "Register" = "3:1"
+            "Exclude" = "11:FALSE"
+            "IsDependency" = "11:TRUE"
+            "IsolateTo" = "8:"
+            }
             "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_8FB175B8685A47F7BE75E1A025F65693"
             {
             "SourcePath" = "8:..\\..\\conf\\autoload_configs\\limit.conf.xml"
@@ -2482,6 +2452,26 @@
             "IsDependency" = "11:FALSE"
             "IsolateTo" = "8:"
             }
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_A164EF86C4B57E41C8CE77B48F39DAC7"
+            {
+            "SourcePath" = "8:libaprutil.dll"
+            "TargetName" = "8:libaprutil.dll"
+            "Tag" = "8:"
+            "Folder" = "8:_04AC783F1C9F41AEB4E947C46CE9C9FF"
+            "Condition" = "8:"
+            "Transitive" = "11:FALSE"
+            "Vital" = "11:TRUE"
+            "ReadOnly" = "11:FALSE"
+            "Hidden" = "11:FALSE"
+            "System" = "11:FALSE"
+            "Permanent" = "11:FALSE"
+            "SharedLegacy" = "11:FALSE"
+            "PackageAs" = "3:1"
+            "Register" = "3:1"
+            "Exclude" = "11:FALSE"
+            "IsDependency" = "11:TRUE"
+            "IsolateTo" = "8:"
+            }
             "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_A3936A2727E73289F5804D5DA006FD0A"
             {
             "SourcePath" = "8:RPCRT4.dll"
@@ -2582,26 +2572,6 @@
             "IsDependency" = "11:FALSE"
             "IsolateTo" = "8:"
             }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_B540FA32E4F6382CF1426D13A0A4E6B7"
-            {
-            "SourcePath" = "8:libteletone.dll"
-            "TargetName" = "8:libteletone.dll"
-            "Tag" = "8:"
-            "Folder" = "8:_04AC783F1C9F41AEB4E947C46CE9C9FF"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:TRUE"
-            "IsolateTo" = "8:"
-            }
             "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_B5ADB663C7CE49A1A11E895E4EBB4933"
             {
             "SourcePath" = "8:..\\..\\conf\\autoload_configs\\zeroconf.conf.xml"
@@ -2722,26 +2692,6 @@
             "IsDependency" = "11:FALSE"
             "IsolateTo" = "8:"
             }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_BFD1EC957C5DBC08B54E6594C7CC5F91"
-            {
-            "SourcePath" = "8:libaprutil.dll"
-            "TargetName" = "8:libaprutil.dll"
-            "Tag" = "8:"
-            "Folder" = "8:_04AC783F1C9F41AEB4E947C46CE9C9FF"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:TRUE"
-            "IsolateTo" = "8:"
-            }
             "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_C7E9135AE3874E19809A03F02CCC15C9"
             {
             "SourcePath" = "8:..\\..\\conf\\jingle_profiles\\server.noload"
@@ -2862,6 +2812,26 @@
             "IsDependency" = "11:FALSE"
             "IsolateTo" = "8:"
             }
+            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_D7E82DD20D5B47395F635480C8E3A1D3"
+            {
+            "SourcePath" = "8:FreeSwitch.dll"
+            "TargetName" = "8:FreeSwitch.dll"
+            "Tag" = "8:"
+            "Folder" = "8:_04AC783F1C9F41AEB4E947C46CE9C9FF"
+            "Condition" = "8:"
+            "Transitive" = "11:FALSE"
+            "Vital" = "11:TRUE"
+            "ReadOnly" = "11:FALSE"
+            "Hidden" = "11:FALSE"
+            "System" = "11:FALSE"
+            "Permanent" = "11:FALSE"
+            "SharedLegacy" = "11:FALSE"
+            "PackageAs" = "3:1"
+            "Register" = "3:1"
+            "Exclude" = "11:TRUE"
+            "IsDependency" = "11:TRUE"
+            "IsolateTo" = "8:"
+            }
             "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_DD54C8F25D0546E199ADB3C4B40EA20B"
             {
             "SourcePath" = "8:..\\..\\conf\\autoload_configs\\conference.conf.xml"
@@ -4011,40 +3981,12 @@
         }
         "MergeModule"
         {
-            "{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_22F4FC6A582C42A0817BA85C8FEBAA18"
-            {
-            "UseDynamicProperties" = "11:TRUE"
-            "IsDependency" = "11:TRUE"
-            "SourcePath" = "8:Microsoft_VC80_CRT_x86.msm"
-                "Properties"
-                {
-                }
-            "LanguageId" = "3:0"
-            "Exclude" = "11:FALSE"
-            "Folder" = "8:"
-            "Feature" = "8:"
-            "IsolateTo" = "8:"
-            }
-            "{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_DC30A9FB71F9449BAF1F5981E3538D1E"
-            {
-            "UseDynamicProperties" = "11:TRUE"
-            "IsDependency" = "11:TRUE"
-            "SourcePath" = "8:policy_8_0_microsoft_vc80_crt_x86.msm"
-                "Properties"
-                {
-                }
-            "LanguageId" = "3:0"
-            "Exclude" = "11:FALSE"
-            "Folder" = "8:"
-            "Feature" = "8:"
-            "IsolateTo" = "8:"
-            }
         }
         "ProjectOutput"
         {
             "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_0772289C2CC6435396616D7A2C407EA2"
             {
-            "SourcePath" = "8:..\\..\\Release\\mod\\mod_voicemail.dll"
+            "SourcePath" = "8:..\\..\\Debug\\mod\\mod_voicemail.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521"
@@ -4072,7 +4014,7 @@
             }
             "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_166BDBE308F54EE4881DA68F2A8189F5"
             {
-            "SourcePath" = "8:..\\..\\Release\\mod\\mod_enum.dll"
+            "SourcePath" = "8:..\\..\\Debug\\mod\\mod_enum.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521"
@@ -4100,7 +4042,7 @@
             }
             "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_1777CB4B737E4B8481E25A10950B2B5A"
             {
-            "SourcePath" = "8:..\\..\\Release\\mod\\mod_native_file.dll"
+            "SourcePath" = "8:..\\..\\Debug\\mod\\mod_native_file.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521"
@@ -4128,7 +4070,7 @@
             }
             "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_1CFB1AB04E024FC993E0EB4859DF8408"
             {
-            "SourcePath" = "8:..\\..\\Release\\mod\\mod_dingaling.dll"
+            "SourcePath" = "8:..\\..\\Debug\\mod\\mod_dingaling.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521"
@@ -4156,7 +4098,7 @@
             }
             "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_1DCA6B2BA0F842FDB5CBA54CF52228F7"
             {
-            "SourcePath" = "8:..\\..\\Release\\mod\\mod_h26x.dll"
+            "SourcePath" = "8:..\\..\\Debug\\mod\\mod_h26x.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521"
@@ -4184,7 +4126,7 @@
             }
             "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_2814E641538B42EFA83525986A9D5AC1"
             {
-            "SourcePath" = "8:..\\..\\Release\\mod\\mod_ilbc.dll"
+            "SourcePath" = "8:..\\..\\Debug\\mod\\mod_ilbc.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521"
@@ -4212,7 +4154,7 @@
             }
             "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_28FBC5A60B44423B8A2CC378347483CE"
             {
-            "SourcePath" = "8:..\\..\\Release\\libapr.dll"
+            "SourcePath" = "8:..\\..\\Debug\\libapr.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_04AC783F1C9F41AEB4E947C46CE9C9FF"
@@ -4240,7 +4182,7 @@
             }
             "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_297D0BADB993435092DDB8CDF9F2A3C6"
             {
-            "SourcePath" = "8:..\\..\\Release\\mod\\mod_xml_cdr.dll"
+            "SourcePath" = "8:..\\..\\Debug\\mod\\mod_xml_cdr.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521"
@@ -4268,7 +4210,7 @@
             }
             "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_2B80DCCD934745B1BB4F0B31099094D9"
             {
-            "SourcePath" = "8:..\\..\\Release\\mod\\mod_say_en.dll"
+            "SourcePath" = "8:..\\..\\Debug\\mod\\mod_say_en.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521"
@@ -4296,7 +4238,7 @@
             }
             "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_2D9E612823084E3F9E10376A7AC0C476"
             {
-            "SourcePath" = "8:..\\..\\Release\\mod\\mod_g723_1.dll"
+            "SourcePath" = "8:..\\..\\Debug\\mod\\mod_g723_1.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521"
@@ -4324,7 +4266,7 @@
             }
             "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_2F2FEC549F02436EB87961BD1B9E5783"
             {
-            "SourcePath" = "8:..\\..\\Release\\mod\\mod_iax.dll"
+            "SourcePath" = "8:..\\..\\Debug\\mod\\mod_iax.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521"
@@ -4352,7 +4294,7 @@
             }
             "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_318FCC99E8D143D6B4F9F534E63009B3"
             {
-            "SourcePath" = "8:..\\..\\Release\\mod\\mod_sndfile.dll"
+            "SourcePath" = "8:..\\..\\Debug\\mod\\mod_sndfile.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521"
@@ -4380,7 +4322,7 @@
             }
             "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_3DB5A5EF1E624F999BCEA20250508EEA"
             {
-            "SourcePath" = "8:..\\..\\Release\\mod\\mod_fifo.dll"
+            "SourcePath" = "8:..\\..\\Debug\\mod\\mod_fifo.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521"
@@ -4408,7 +4350,7 @@
             }
             "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_3E37631016BC45B2B672FE23257D542B"
             {
-            "SourcePath" = "8:..\\..\\Release\\pthreadVC2.dll"
+            "SourcePath" = "8:..\\..\\Debug\\pthreadVC2.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_04AC783F1C9F41AEB4E947C46CE9C9FF"
@@ -4436,7 +4378,7 @@
             }
             "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_4A285D260C3748A4BEFA6E5A9004D128"
             {
-            "SourcePath" = "8:..\\..\\Release\\mod\\mod_spidermonkey.dll"
+            "SourcePath" = "8:..\\..\\Debug\\mod\\mod_spidermonkey.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521"
@@ -4464,7 +4406,7 @@
             }
             "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_59CFED0C4EC0492C945E4EBC04FE965F"
             {
-            "SourcePath" = "8:..\\..\\Release\\libaprutil.dll"
+            "SourcePath" = "8:..\\..\\Debug\\libaprutil.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_04AC783F1C9F41AEB4E947C46CE9C9FF"
@@ -4492,7 +4434,7 @@
             }
             "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_5EDFD5418DD243D1A03D882B83BBBCF1"
             {
-            "SourcePath" = "8:..\\..\\Release\\mod\\mod_esf.dll"
+            "SourcePath" = "8:..\\..\\Debug\\mod\\mod_esf.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521"
@@ -4520,7 +4462,7 @@
             }
             "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_6DF726E4018A4136BC27E2C6F4B67B9E"
             {
-            "SourcePath" = "8:..\\..\\Release\\mod\\mod_logfile.dll"
+            "SourcePath" = "8:..\\..\\Debug\\mod\\mod_logfile.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521"
@@ -4548,7 +4490,7 @@
             }
             "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_6E5C001E7A314DCEA0A4BF52BF74BCAD"
             {
-            "SourcePath" = "8:..\\..\\Release\\mod\\mod_speex.dll"
+            "SourcePath" = "8:..\\..\\Debug\\mod\\mod_speex.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521"
@@ -4576,7 +4518,7 @@
             }
             "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_77550ABD8CC84D66A3B6C3C3C48665A4"
             {
-            "SourcePath" = "8:..\\..\\Release\\mod\\mod_dialplan_asterisk.dll"
+            "SourcePath" = "8:..\\..\\Debug\\mod\\mod_dialplan_asterisk.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521"
@@ -4604,7 +4546,7 @@
             }
             "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_78F060A241D0428998B42093C467AD36"
             {
-            "SourcePath" = "8:..\\..\\Release\\mod\\mod_voipcodecs.dll"
+            "SourcePath" = "8:..\\..\\Debug\\mod\\mod_voipcodecs.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521"
@@ -4632,7 +4574,7 @@
             }
             "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_7B1050643E1E48A3B67B281B4AD43904"
             {
-            "SourcePath" = "8:..\\..\\Release\\mod\\mod_g729.dll"
+            "SourcePath" = "8:..\\..\\Debug\\mod\\mod_g729.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521"
@@ -4660,7 +4602,7 @@
             }
             "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_8B53F026686B44189676CBC200E641C1"
             {
-            "SourcePath" = "8:..\\..\\Release\\mod\\mod_amr.dll"
+            "SourcePath" = "8:..\\..\\Debug\\mod\\mod_amr.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521"
@@ -4688,7 +4630,7 @@
             }
             "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_8E023477B9DC4126921A556B285B29E5"
             {
-            "SourcePath" = "8:..\\..\\Release\\mod\\mod_spidermonkey_socket.dll"
+            "SourcePath" = "8:..\\..\\Debug\\mod\\mod_spidermonkey_socket.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521"
@@ -4716,7 +4658,7 @@
             }
             "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_9527B92C45BB45629BDB19ED3C8DC194"
             {
-            "SourcePath" = "8:..\\..\\Release\\mod\\mod_fsv.dll"
+            "SourcePath" = "8:..\\..\\Debug\\mod\\mod_fsv.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521"
@@ -4744,7 +4686,7 @@
             }
             "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_95D01083472B4853AC3F06514558F347"
             {
-            "SourcePath" = "8:..\\..\\Release\\mod\\mod_spidermonkey_teletone.dll"
+            "SourcePath" = "8:..\\..\\Debug\\mod\\mod_spidermonkey_teletone.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521"
@@ -4772,7 +4714,7 @@
             }
             "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_96F8F7DE89C74DC399E8AE55C22B4F15"
             {
-            "SourcePath" = "8:..\\..\\Release\\mod\\mod_xml_curl.dll"
+            "SourcePath" = "8:..\\..\\Debug\\mod\\mod_xml_curl.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521"
@@ -4800,7 +4742,7 @@
             }
             "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_9B19C40442134D69B533E16D0851D99B"
             {
-            "SourcePath" = "8:..\\..\\Release\\mod\\mod_spidermonkey_odbc.dll"
+            "SourcePath" = "8:..\\..\\Debug\\mod\\mod_spidermonkey_odbc.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521"
@@ -4828,7 +4770,7 @@
             }
             "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_A0D5F714A0F94250A1C39603B699AB82"
             {
-            "SourcePath" = "8:..\\..\\Release\\libteletone.dll"
+            "SourcePath" = "8:..\\..\\Debug\\libteletone.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_04AC783F1C9F41AEB4E947C46CE9C9FF"
@@ -4856,7 +4798,7 @@
             }
             "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_A8D70CB0D12C4B3FB2E2E896E9A7C843"
             {
-            "SourcePath" = "8:..\\..\\Release\\mod\\mod_tone_stream.dll"
+            "SourcePath" = "8:..\\..\\Debug\\mod\\mod_tone_stream.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521"
@@ -4884,7 +4826,7 @@
             }
             "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_A944ADCEDF884574A23F7BA5420A6BA1"
             {
-            "SourcePath" = "8:..\\..\\libs\\win32\\sqlite\\Release\\sqlite.lib"
+            "SourcePath" = "8:..\\..\\libs\\win32\\sqlite\\Debug\\libsqlite.lib"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_04AC783F1C9F41AEB4E947C46CE9C9FF"
@@ -4912,7 +4854,7 @@
             }
             "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_B0A2E9B4C45D4098AFD734D0C4E3EAFB"
             {
-            "SourcePath" = "8:..\\..\\Release\\mod\\mod_conference.dll"
+            "SourcePath" = "8:..\\..\\Debug\\mod\\mod_conference.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521"
@@ -4938,37 +4880,9 @@
                 {
                 }
             }
-            "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_B5542B260CD5493395871EFDE833E438"
-            {
-            "SourcePath" = "8:..\\..\\Release\\mod\\mod_openmrcp.dll"
-            "TargetName" = "8:"
-            "Tag" = "8:"
-            "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            "ProjectOutputGroupRegister" = "3:1"
-            "OutputConfiguration" = "8:"
-            "OutputGroupCanonicalName" = "8:Built"
-            "OutputProjectGuid" = "8:{E7116F50-2B10-472F-92BD-C8667AA9C1AE}"
-            "ShowKeyOutput" = "11:TRUE"
-                "ExcludeFilters"
-                {
-                }
-            }
             "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_BA769056DBAF4259B38F5C3FF7377055"
             {
-            "SourcePath" = "8:..\\..\\Release\\mod\\mod_spidermonkey_curl.dll"
+            "SourcePath" = "8:..\\..\\Debug\\mod\\mod_spidermonkey_curl.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521"
@@ -4996,7 +4910,7 @@
             }
             "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_BB649A2C1ABE4895859025B09A240323"
             {
-            "SourcePath" = "8:..\\..\\libs\\win32\\pcre\\Release\\libpcre.lib"
+            "SourcePath" = "8:..\\..\\libs\\win32\\pcre\\Debug\\libpcre.lib"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_04AC783F1C9F41AEB4E947C46CE9C9FF"
@@ -5024,7 +4938,7 @@
             }
             "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_BB99CEDF341D40F3976B6D5486D9366D"
             {
-            "SourcePath" = "8:..\\..\\Release\\mod\\mod_limit.dll"
+            "SourcePath" = "8:..\\..\\Debug\\mod\\mod_limit.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521"
@@ -5052,7 +4966,7 @@
             }
             "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_C1036825E1364537B537E542E71F9C0E"
             {
-            "SourcePath" = "8:..\\..\\Release\\mod\\mod_event_socket.dll"
+            "SourcePath" = "8:..\\..\\Debug\\mod\\mod_event_socket.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521"
@@ -5080,7 +4994,7 @@
             }
             "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_C105055EE271471A999CE7022E617EB7"
             {
-            "SourcePath" = "8:..\\..\\Release\\mod\\mod_commands.dll"
+            "SourcePath" = "8:..\\..\\Debug\\mod\\mod_commands.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521"
@@ -5108,7 +5022,7 @@
             }
             "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_C81AC700C1BC4A55B98DF12C0CBAFD6F"
             {
-            "SourcePath" = "8:..\\..\\Release\\mod\\mod_dialplan_xml.dll"
+            "SourcePath" = "8:..\\..\\Debug\\mod\\mod_dialplan_xml.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521"
@@ -5136,7 +5050,7 @@
             }
             "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_D0BB09AFB8D94B76918F0EE85BCCAD0A"
             {
-            "SourcePath" = "8:..\\..\\Release\\mod\\mod_dptools.dll"
+            "SourcePath" = "8:..\\..\\Debug\\mod\\mod_dptools.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521"
@@ -5164,7 +5078,7 @@
             }
             "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_D1269F1E49D442CF8EAC96C23E60325D"
             {
-            "SourcePath" = "8:..\\..\\Release\\mod\\mod_xml_rpc.dll"
+            "SourcePath" = "8:..\\..\\Debug\\mod\\mod_xml_rpc.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521"
@@ -5192,7 +5106,7 @@
             }
             "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_D2EF447106B24E67907DAED3D39CFBB1"
             {
-            "SourcePath" = "8:..\\..\\Release\\FreeSwitch.dll"
+            "SourcePath" = "8:..\\..\\Debug\\FreeSwitch.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_04AC783F1C9F41AEB4E947C46CE9C9FF"
@@ -5220,7 +5134,7 @@
             }
             "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_D6F0F5845FAD4707975CE012A33CD607"
             {
-            "SourcePath" = "8:..\\..\\Release\\mod\\mod_rss.dll"
+            "SourcePath" = "8:..\\..\\Debug\\mod\\mod_rss.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521"
@@ -5248,7 +5162,7 @@
             }
             "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_D7EC5795A9C645AC8E129C2EE6D461ED"
             {
-            "SourcePath" = "8:..\\..\\Release\\mod\\mod_event_multicast.dll"
+            "SourcePath" = "8:..\\..\\Debug\\mod\\mod_event_multicast.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521"
@@ -5276,7 +5190,7 @@
             }
             "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_E1AA7C5B96DA4A26859D2C7A21E00AB6"
             {
-            "SourcePath" = "8:..\\..\\Release\\mod\\mod_spidermonkey_core_db.dll"
+            "SourcePath" = "8:..\\..\\Debug\\mod\\mod_spidermonkey_core_db.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521"
@@ -5304,7 +5218,7 @@
             }
             "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_E763C699DF0948B6984DDEB96A2DFD06"
             {
-            "SourcePath" = "8:..\\..\\Release\\mod\\mod_PortAudio.dll"
+            "SourcePath" = "8:..\\..\\Debug\\mod\\mod_PortAudio.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521"
@@ -5332,7 +5246,7 @@
             }
             "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_EAF4B051F44745ABA9B58038FB93994C"
             {
-            "SourcePath" = "8:..\\..\\Release\\mod\\mod_expr.dll"
+            "SourcePath" = "8:..\\..\\Debug\\mod\\mod_expr.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521"
@@ -5360,7 +5274,7 @@
             }
             "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_EC4922AEC1064C90B96EBBDD3104D761"
             {
-            "SourcePath" = "8:..\\..\\Release\\mod\\mod_local_stream.dll"
+            "SourcePath" = "8:..\\..\\Debug\\mod\\mod_local_stream.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521"
@@ -5388,7 +5302,7 @@
             }
             "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_EF14CB99F3414BB689D0CB0E6D6B8AB8"
             {
-            "SourcePath" = "8:..\\..\\Release\\mod\\mod_console.dll"
+            "SourcePath" = "8:..\\..\\Debug\\mod\\mod_console.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521"
@@ -5416,7 +5330,7 @@
             }
             "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_F0B800E719294692A02518CFD8CBAEFF"
             {
-            "SourcePath" = "8:..\\..\\Release\\FreeSwitch.exe"
+            "SourcePath" = "8:..\\..\\Debug\\FreeSwitch.exe"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_04AC783F1C9F41AEB4E947C46CE9C9FF"
@@ -5442,37 +5356,9 @@
                 {
                 }
             }
-            "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_FB1B9FBDC3294F1C96DAC4246C013C22"
-            {
-            "SourcePath" = "8:..\\..\\Release\\mod\\mod_woomera.dll"
-            "TargetName" = "8:"
-            "Tag" = "8:"
-            "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            "ProjectOutputGroupRegister" = "3:1"
-            "OutputConfiguration" = "8:"
-            "OutputGroupCanonicalName" = "8:Built"
-            "OutputProjectGuid" = "8:{FE3540C5-3303-46E0-A69E-D92F775687F1}"
-            "ShowKeyOutput" = "11:TRUE"
-                "ExcludeFilters"
-                {
-                }
-            }
             "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_FBB0E565B1DE49CE9C827ACAC337AC5B"
             {
-            "SourcePath" = "8:..\\..\\Release\\mod\\mod_sofia.dll"
+            "SourcePath" = "8:..\\..\\Debug\\mod\\mod_sofia.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521"
@@ -5500,7 +5386,7 @@
             }
             "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_FBD45C36E901435399634CACA5339597"
             {
-            "SourcePath" = "8:..\\..\\Release\\mod\\mod_cdr_csv.dll"
+            "SourcePath" = "8:..\\..\\Debug\\mod\\mod_cdr_csv.dll"
             "TargetName" = "8:"
             "Tag" = "8:"
             "Folder" = "8:_B6E020422C78490D96F78DB0E1A3F521"


From mikej at freeswitch.org  Thu Jan 22 17:24:53 2009
From: mikej at freeswitch.org (FreeSWITCH SVN)
Date: Thu, 22 Jan 2009 19:24:53 -0600
Subject: [Freeswitch-branches] [commit] r11457 - in
	freeswitch/branches/1.0/src: . mod/formats/mod_shout
Message-ID: 

Author: mikej
Date: Thu Jan 22 19:24:53 2009
New Revision: 11457

Log:
core: fix buffering issues (r:11200)

Modified:
   freeswitch/branches/1.0/src/mod/formats/mod_shout/mod_shout.c
   freeswitch/branches/1.0/src/switch_core_file.c
   freeswitch/branches/1.0/src/switch_ivr_play_say.c

Modified: freeswitch/branches/1.0/src/mod/formats/mod_shout/mod_shout.c
==============================================================================
--- freeswitch/branches/1.0/src/mod/formats/mod_shout/mod_shout.c	(original)
+++ freeswitch/branches/1.0/src/mod/formats/mod_shout/mod_shout.c	Thu Jan 22 19:24:53 2009
@@ -116,6 +116,12 @@
 	int lame_ready;
 	int eof;
 	int channels;
+	int16_t *l;
+	switch_size_t llen;
+	int16_t *r;
+	switch_size_t rlen;
+	unsigned char *mp3buf;
+	switch_size_t mp3buflen;
 };
 
 typedef struct shout_context shout_context_t;
@@ -903,8 +909,7 @@
 static switch_status_t shout_file_write(switch_file_handle_t *handle, void *data, size_t *len)
 {
 	shout_context_t *context;
-	unsigned char mp3buf[8192] = "";
-	int rlen;
+	int rlen = 0;
 	int16_t *audio = data;
 	int nsamples = *len;
 
@@ -954,23 +959,32 @@
 		context->lame_ready = 1;
 	}
 
+	if (context->mp3buflen < nsamples * 4) {
+		context->mp3buflen = nsamples * 4;
+		context->mp3buf = switch_core_alloc(context->memory_pool, context->mp3buflen);
+	}
+
 	if (handle->channels == 2) {
-		int16_t l[4096] = { 0 };
-		int16_t r[4096] = { 0 };
 		int i, j = 0;
-
+		
+		if (context->llen < nsamples) {
+			context->l = switch_core_alloc(context->memory_pool, nsamples * 2);
+			context->r = switch_core_alloc(context->memory_pool, nsamples * 2);
+			context->llen = context->rlen = nsamples;
+		}
+		
 		for (i = 0; i < nsamples; i++) {
-			l[i] = audio[j++];
-			r[i] = audio[j++];
+			context->l[i] = audio[j++];
+			context->r[i] = audio[j++];
 		}
-
-		if ((rlen = lame_encode_buffer(context->gfp, l, r, nsamples, mp3buf, sizeof(mp3buf))) < 0) {
+		
+		if ((rlen = lame_encode_buffer(context->gfp, context->l, context->r, nsamples, context->mp3buf, context->mp3buflen)) < 0) {
 			switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "MP3 encode error %d!\n", rlen);
 			return SWITCH_STATUS_FALSE;
 		}
 
 	} else if (handle->channels == 1) {
-		if ((rlen = lame_encode_buffer(context->gfp, audio, NULL, nsamples, mp3buf, sizeof(mp3buf))) < 0) {
+		if ((rlen = lame_encode_buffer(context->gfp, audio, NULL, nsamples, context->mp3buf, context->mp3buflen)) < 0) {
 			switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "MP3 encode error %d!\n", rlen);
 			return SWITCH_STATUS_FALSE;
 		}
@@ -979,7 +993,7 @@
 	}
 
 	if (rlen) {
-		int ret = fwrite(mp3buf, 1, rlen, context->fp);
+		int ret = fwrite(context->mp3buf, 1, rlen, context->fp);
 		if (ret < 0) {
 			return SWITCH_STATUS_FALSE;
 		}
@@ -1445,7 +1459,7 @@
 		for (param = switch_xml_child(settings, "param"); param; param = param->next) {
 			char *var = (char *) switch_xml_attr_soft(param, "name");
 			char *val = (char *) switch_xml_attr_soft(param, "value");
-
+			
 			if (!strcmp(var, "decoder")) {
 				switch_set_string(globals.decoder, val);
 			} else if (!strcmp(var, "volume")) {

Modified: freeswitch/branches/1.0/src/switch_core_file.c
==============================================================================
--- freeswitch/branches/1.0/src/switch_core_file.c	(original)
+++ freeswitch/branches/1.0/src/switch_core_file.c	Thu Jan 22 19:24:53 2009
@@ -119,7 +119,7 @@
 
 	if (fh->pre_buffer_datalen) {
 		//switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Prebuffering %d bytes\n", (int)fh->pre_buffer_datalen);
-		switch_buffer_create_dynamic(&fh->pre_buffer, fh->pre_buffer_datalen, fh->pre_buffer_datalen / 2, 0);
+		switch_buffer_create_dynamic(&fh->pre_buffer, fh->pre_buffer_datalen * fh->channels, fh->pre_buffer_datalen * fh->channels / 2, 0);
 		fh->pre_buffer_data = switch_core_alloc(fh->memory_pool, fh->pre_buffer_datalen);
 	}
 
@@ -248,16 +248,20 @@
 	if (!switch_test_flag(fh, SWITCH_FILE_NATIVE) && fh->native_rate != fh->samplerate) {
 		if (!fh->resampler) {
 			if (switch_resample_create(&fh->resampler,
-									   fh->native_rate, orig_len, fh->samplerate, (uint32_t) orig_len, fh->memory_pool) != SWITCH_STATUS_SUCCESS) {
+									   fh->native_rate, 
+									   orig_len * fh->channels, 
+									   fh->samplerate, 
+									   (uint32_t) orig_len *fh->channels, 
+									   fh->memory_pool) != SWITCH_STATUS_SUCCESS) {
 				switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Unable to create resampler!\n");
 				return SWITCH_STATUS_GENERR;
 			}
 		}
 
-		fh->resampler->from_len = switch_short_to_float(data, fh->resampler->from, (int) *len);
+		fh->resampler->from_len = switch_short_to_float(data, fh->resampler->from, (int) *len * fh->channels);
 		fh->resampler->to_len =
 			switch_resample_process(fh->resampler, fh->resampler->from, fh->resampler->from_len, fh->resampler->to, fh->resampler->to_size, 0);
-		if (fh->resampler->to_len > orig_len) {
+		if (fh->resampler->to_len > orig_len * fh->channels) {
 			if (!fh->dbuf) {
 				fh->dbuflen = fh->resampler->to_len * 2;
 				fh->dbuf = switch_core_alloc(fh->memory_pool, fh->dbuflen);
@@ -269,7 +273,7 @@
 			switch_float_to_short(fh->resampler->to, data, fh->resampler->to_len);
 		}
 
-		*len = fh->resampler->to_len;
+		*len = fh->resampler->to_len / fh->channels;
 
 	}
 
@@ -282,13 +286,14 @@
 		switch_size_t rlen, blen;
 		switch_status_t status = SWITCH_STATUS_SUCCESS;
 		int asis = switch_test_flag(fh, SWITCH_FILE_NATIVE);
-
-		switch_buffer_write(fh->pre_buffer, data, asis ? *len : *len * 2);
+		
+		switch_buffer_write(fh->pre_buffer, data, (asis ? *len : *len * 2) * fh->channels);
 
 		rlen = switch_buffer_inuse(fh->pre_buffer);
 		if (rlen >= fh->pre_buffer_datalen) {
 			blen = switch_buffer_read(fh->pre_buffer, fh->pre_buffer_data, fh->pre_buffer_datalen);
 			if (!asis) blen /= 2;
+			if (fh->channels) blen /= fh->channels;
 			if ((status = fh->file_interface->file_write(fh, fh->pre_buffer_data, &blen)) != SWITCH_STATUS_SUCCESS) {
 				*len = 0;
 			}
@@ -354,9 +359,6 @@
 		return SWITCH_STATUS_FALSE;
 	}
 
-	switch_clear_flag(fh, SWITCH_FILE_OPEN);
-	status = fh->file_interface->file_close(fh);
-
 	if (fh->buffer) {
 		switch_buffer_destroy(&fh->buffer);
 	}
@@ -369,6 +371,7 @@
 			while((rlen = switch_buffer_inuse(fh->pre_buffer))) {
 				blen = switch_buffer_read(fh->pre_buffer, fh->pre_buffer_data, fh->pre_buffer_datalen);
 				if (asis) blen /= 2;
+				if (fh->channels) blen /= fh->channels;
 				if (fh->file_interface->file_write(fh, fh->pre_buffer_data, &blen) != SWITCH_STATUS_SUCCESS) {
 					break;
 				}
@@ -378,6 +381,9 @@
 		switch_buffer_destroy(&fh->pre_buffer);
 	}
 
+	switch_clear_flag(fh, SWITCH_FILE_OPEN);
+	status = fh->file_interface->file_close(fh);
+
 	switch_resample_destroy(&fh->resampler);
 
 	UNPROTECT_INTERFACE(fh->file_interface);

Modified: freeswitch/branches/1.0/src/switch_ivr_play_say.c
==============================================================================
--- freeswitch/branches/1.0/src/switch_ivr_play_say.c	(original)
+++ freeswitch/branches/1.0/src/switch_ivr_play_say.c	Thu Jan 22 19:24:53 2009
@@ -420,6 +420,7 @@
 		}
 	}
 
+	fh->pre_buffer_datalen = SWITCH_DEFAULT_FILE_BUFFER_LEN;
 
 	if (switch_core_file_open(fh,
 							  file,


From seven at freeswitch.org  Thu Jan 22 17:31:42 2009
From: seven at freeswitch.org (FreeSWITCH SVN)
Date: Thu, 22 Jan 2009 19:31:42 -0600
Subject: [Freeswitch-branches] [commit] r11458 - freeswitch/branches/seven
Message-ID: 

Author: seven
Date: Thu Jan 22 19:31:42 2009
New Revision: 11458

Log:
tet my new branch

Added:
   freeswitch/branches/seven/README

Added: freeswitch/branches/seven/README
==============================================================================
--- (empty file)
+++ freeswitch/branches/seven/README	Thu Jan 22 19:31:42 2009
@@ -0,0 +1 @@
+Currently blank


From seven at freeswitch.org  Thu Jan 22 18:20:00 2009
From: seven at freeswitch.org (FreeSWITCH SVN)
Date: Thu, 22 Jan 2009 20:20:00 -0600
Subject: [Freeswitch-branches] [commit] r11459 - freeswitch/branches/seven
Message-ID: 

Author: seven
Date: Thu Jan 22 20:20:00 2009
New Revision: 11459

Log:
delete README in my branch

Removed:
   freeswitch/branches/seven/README


From seven at freeswitch.org  Thu Jan 22 21:45:09 2009
From: seven at freeswitch.org (FreeSWITCH SVN)
Date: Thu, 22 Jan 2009 23:45:09 -0600
Subject: [Freeswitch-branches] [commit] r11461 - in
	freeswitch/branches/seven: . build build/config
	build/freeswitch.build build/freeswitch.build/freeswitch.pbxindex
	build/freeswitch.build/freeswitch.pbxindex/strings.pbxstrings
	conf conf/autoload_configs conf/dialplan
	conf/dialplan/default conf/dialplan/public conf/directory
	conf/directory/default conf/jingle_profiles conf/lang
	conf/lang/de conf/lang/de/demo conf/lang/de/vm conf/lang/en
	conf/lang/en/demo conf/lang/en/vm conf/lang/fr
	conf/lang/fr/demo conf/lang/fr/vm conf/sip_profiles
	conf/sip_profiles/external conf/sip_profiles/internal
	conf/yaml debian debian/man debian/man/man1 debian/monit docs
	docs/phrase dtd freeswitch.xcodeproj htdocs libs libs/apr
	libs/apr-util libs/apr-util/buckets libs/apr-util/build
	libs/apr-util/build/pkg libs/apr-util/build/rpm
	libs/apr-util/crypto libs/apr-util/dbd libs/apr-util/dbm
	libs/apr-util/dbm/sdbm libs/apr-util/docs
	libs/apr-util/encoding libs/apr-util/hooks
	libs/apr-util/include libs/apr-util/include/private
	libs/apr-util/ldap libs/apr-util/misc libs/apr-util/strmatch
	libs/apr-util/test libs/apr-util/test/data libs/apr-util/uri
	libs/apr-util/xlate libs/apr-util/xml libs/apr-util/xml/expat
	libs/apr-util/xml/expat/conftools libs/apr-util/xml/expat/lib
	libs/apr/atomic libs/apr/atomic/netware libs/apr/atomic/os390
	libs/apr/atomic/unix libs/apr/atomic/win32 libs/apr/build
	libs/apr/build/pkg libs/apr/build/rpm libs/apr/docs
	libs/apr/dso libs/apr/dso/aix libs/apr/dso/beos
	libs/apr/dso/netware libs/apr/dso/os2 libs/apr/dso/os390
	libs/apr/dso/unix libs/apr/dso/win32 libs/apr/file_io
	libs/apr/file_io/netware libs/apr/file_io/os2
	libs/apr/file_io/unix libs/apr/file_io/win32 libs/apr/helpers
	libs/apr/images libs/apr/include libs/apr/include/arch
	libs/apr/include/arch/aix libs/apr/include/arch/beos
	libs/apr/include/arch/netware libs/apr/include/arch/os2
	libs/apr/include/arch/os390 libs/apr/include/arch/unix
	libs/apr/include/arch/win32 libs/apr/locks
	libs/apr/locks/beos libs/apr/locks/netware libs/apr/locks/os2
	libs/apr/locks/unix libs/apr/locks/win32 libs/apr/memory
	libs/apr/memory/unix libs/apr/misc libs/apr/misc/netware
	libs/apr/misc/unix libs/apr/misc/win32 libs/apr/mmap
	libs/apr/mmap/unix libs/apr/mmap/win32 libs/apr/network_io
	libs/apr/network_io/beos libs/apr/network_io/os2
	libs/apr/network_io/unix libs/apr/network_io/win32
	libs/apr/passwd libs/apr/poll libs/apr/poll/os2
	libs/apr/poll/unix libs/apr/random libs/apr/random/unix
	libs/apr/shmem libs/apr/shmem/beos libs/apr/shmem/os2
	libs/apr/shmem/unix libs/apr/shmem/win32 libs/apr/strings
	libs/apr/support libs/apr/support/unix libs/apr/tables
	libs/apr/test libs/apr/test/data libs/apr/test/internal
	libs/apr/threadproc libs/apr/threadproc/beos
	libs/apr/threadproc/netware libs/apr/threadproc/os2
	libs/apr/threadproc/unix libs/apr/threadproc/win32
	libs/apr/time libs/apr/time/unix libs/apr/time/win32
	libs/apr/user libs/apr/user/netware libs/apr/user/unix
	libs/apr/user/win32 libs/codec libs/codec/ilbc
	libs/codec/ilbc/build libs/codec/ilbc/build/config
	libs/codec/ilbc/src libs/curl libs/curl/include
	libs/curl/include/curl libs/curl/lib libs/curl/packages
	libs/curl/packages/AIX libs/curl/packages/AIX/RPM
	libs/curl/packages/DOS libs/curl/packages/EPM
	libs/curl/packages/Linux libs/curl/packages/Linux/RPM
	libs/curl/packages/NetWare libs/curl/packages/Solaris
	libs/curl/packages/Win32 libs/curl/packages/Win32/cygwin
	libs/curl/packages/vms libs/curl/packages/vms/axp
	libs/curl/packages/vms/ia64 libs/curl/packages/vms/vax
	libs/curl/src libs/curl/src/macos libs/curl/src/macos/src
	libs/esl libs/esl/getopt libs/esl/src libs/esl/src/include
	libs/iksemel libs/iksemel/build libs/iksemel/doc
	libs/iksemel/include libs/iksemel/src libs/iksemel/test
	libs/iksemel/tools libs/js libs/js/nsprpub
	libs/js/nsprpub/admin libs/js/nsprpub/build
	libs/js/nsprpub/build/autoconf libs/js/nsprpub/config
	libs/js/nsprpub/include libs/js/nsprpub/lib
	libs/js/nsprpub/lib/ds libs/js/nsprpub/lib/libc
	libs/js/nsprpub/lib/libc/include libs/js/nsprpub/lib/libc/src
	libs/js/nsprpub/lib/msgc libs/js/nsprpub/lib/msgc/include
	libs/js/nsprpub/lib/msgc/src libs/js/nsprpub/lib/msgc/tests
	libs/js/nsprpub/lib/prstreams libs/js/nsprpub/lib/prstreams/tests
	libs/js/nsprpub/lib/prstreams/tests/testprstrm
	libs/js/nsprpub/lib/tests libs/js/nsprpub/lib/tests/windows
	libs/js/nsprpub/macbuild libs/js/nsprpub/pkg
	libs/js/nsprpub/pkg/linux libs/js/nsprpub/pkg/solaris
	libs/js/nsprpub/pkg/solaris/SUNWnspr
	libs/js/nsprpub/pkg/solaris/SUNWnsprx
	libs/js/nsprpub/pkg/solaris/SUNWpr
	libs/js/nsprpub/pkg/solaris/SUNWpr-devl
	libs/js/nsprpub/pkg/solaris/SUNWprd
	libs/js/nsprpub/pkg/solaris/SUNWprdx
	libs/js/nsprpub/pkg/solaris/SUNWprx
	libs/js/nsprpub/pkg/solaris/SUNWprx-devl
	libs/js/nsprpub/pkg/solaris/common_files libs/js/nsprpub/pr
	libs/js/nsprpub/pr/include libs/js/nsprpub/pr/include/md
	libs/js/nsprpub/pr/include/obsolete
	libs/js/nsprpub/pr/include/private libs/js/nsprpub/pr/src
	libs/js/nsprpub/pr/src/bthreads libs/js/nsprpub/pr/src/cplus
	libs/js/nsprpub/pr/src/cplus/tests
	libs/js/nsprpub/pr/src/cthreads libs/js/nsprpub/pr/src/io
	libs/js/nsprpub/pr/src/linking libs/js/nsprpub/pr/src/malloc
	libs/js/nsprpub/pr/src/md libs/js/nsprpub/pr/src/md/beos
	libs/js/nsprpub/pr/src/md/mac libs/js/nsprpub/pr/src/md/os2
	libs/js/nsprpub/pr/src/md/unix libs/js/nsprpub/pr/src/md/windows
	libs/js/nsprpub/pr/src/memory libs/js/nsprpub/pr/src/misc
	libs/js/nsprpub/pr/src/pthreads libs/js/nsprpub/pr/src/threads
	libs/js/nsprpub/pr/src/threads/combined
	libs/js/nsprpub/pr/tests libs/js/nsprpub/pr/tests/dll
	libs/js/nsprpub/pr/tests/macbuild
	libs/js/nsprpub/pr/tests/w16gui libs/js/nsprpub/tools
	libs/js/src libs/js/src/fdlibm libs/js/src/perlconnect
	libs/libdingaling libs/libdingaling/build
	libs/libdingaling/build/config libs/libdingaling/docs
	libs/libdingaling/src libs/libedit libs/libedit/doc
	libs/libedit/examples libs/libedit/patches libs/libedit/src
	libs/libedit/src/editline libs/libg722_1
	libs/libg722_1/config libs/libg722_1/debian
	libs/libg722_1/doc libs/libg722_1/src
	libs/libg722_1/src/g722_1 libs/libg722_1/src/msvc
	libs/libg722_1/src/msvc/sys libs/libg722_1/test-data
	libs/libg722_1/test-data/itu libs/libg722_1/test-data/local
	libs/libg722_1/tests libs/libresample libs/libresample/build
	libs/libresample/build/config libs/libresample/include
	libs/libresample/src libs/libresample/tests
	libs/libresample/win libs/libsndfile libs/libsndfile/Octave
	libs/libsndfile/Win32 libs/libsndfile/doc
	libs/libsndfile/examples libs/libsndfile/man
	libs/libsndfile/regtest libs/libsndfile/src
	libs/libsndfile/src/G72x libs/libsndfile/src/GSM610
	libs/libsndfile/tests libs/libteletone libs/libteletone/build
	libs/libteletone/build/config libs/libteletone/src libs/pcre
	libs/pcre/doc libs/pcre/doc/html libs/pcre/testdata
	libs/portaudio libs/portaudio/bindings
	libs/portaudio/bindings/cpp libs/portaudio/bindings/cpp/bin
	libs/portaudio/bindings/cpp/build
	libs/portaudio/bindings/cpp/build/gnu
	libs/portaudio/bindings/cpp/build/vc6
	libs/portaudio/bindings/cpp/build/vc7
	libs/portaudio/bindings/cpp/build/vc7_1
	libs/portaudio/bindings/cpp/doc libs/portaudio/bindings/cpp/example
	libs/portaudio/bindings/cpp/include
	libs/portaudio/bindings/cpp/include/portaudiocpp
	libs/portaudio/bindings/cpp/lib libs/portaudio/bindings/cpp/source
	libs/portaudio/bindings/cpp/source/portaudiocpp
	libs/portaudio/build libs/portaudio/build/dev-cpp
	libs/portaudio/build/msvc libs/portaudio/build/scons
	libs/portaudio/doc libs/portaudio/doc/html
	libs/portaudio/doc/src libs/portaudio/doc/utils
	libs/portaudio/include libs/portaudio/pablio
	libs/portaudio/src libs/portaudio/src/common
	libs/portaudio/src/hostapi libs/portaudio/src/hostapi/alsa
	libs/portaudio/src/hostapi/asihpi libs/portaudio/src/hostapi/asio
	libs/portaudio/src/hostapi/coreaudio
	libs/portaudio/src/hostapi/dsound libs/portaudio/src/hostapi/jack
	libs/portaudio/src/hostapi/oss libs/portaudio/src/hostapi/wasapi
	libs/portaudio/src/hostapi/wdmks
	libs/portaudio/src/hostapi/wmme libs/portaudio/src/os
	libs/portaudio/src/os/mac_osx libs/portaudio/src/os/unix
	libs/portaudio/src/os/win libs/portaudio/test
	libs/portaudio/testcvs libs/sofia-sip libs/sofia-sip/docs
	libs/sofia-sip/libsofia-sip-ua libs/sofia-sip/libsofia-sip-ua-glib
	libs/sofia-sip/libsofia-sip-ua-glib/docs
	libs/sofia-sip/libsofia-sip-ua-glib/su-glib
	libs/sofia-sip/libsofia-sip-ua-glib/su-glib/sofia-sip
	libs/sofia-sip/libsofia-sip-ua/bnf
	libs/sofia-sip/libsofia-sip-ua/bnf/sofia-sip
	libs/sofia-sip/libsofia-sip-ua/docs
	libs/sofia-sip/libsofia-sip-ua/docs/pictures
	libs/sofia-sip/libsofia-sip-ua/features
	libs/sofia-sip/libsofia-sip-ua/features/sofia-sip
	libs/sofia-sip/libsofia-sip-ua/http
	libs/sofia-sip/libsofia-sip-ua/http/sofia-sip
	libs/sofia-sip/libsofia-sip-ua/ipt
	libs/sofia-sip/libsofia-sip-ua/ipt/sofia-sip
	libs/sofia-sip/libsofia-sip-ua/iptsec
	libs/sofia-sip/libsofia-sip-ua/iptsec/sofia-sip
	libs/sofia-sip/libsofia-sip-ua/msg
	libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip
	libs/sofia-sip/libsofia-sip-ua/nea
	libs/sofia-sip/libsofia-sip-ua/nea/sofia-sip
	libs/sofia-sip/libsofia-sip-ua/nta
	libs/sofia-sip/libsofia-sip-ua/nta/sofia-sip
	libs/sofia-sip/libsofia-sip-ua/nth
	libs/sofia-sip/libsofia-sip-ua/nth/sofia-sip
	libs/sofia-sip/libsofia-sip-ua/nua
	libs/sofia-sip/libsofia-sip-ua/nua/sofia-sip
	libs/sofia-sip/libsofia-sip-ua/sdp
	libs/sofia-sip/libsofia-sip-ua/sdp/sofia-sip
	libs/sofia-sip/libsofia-sip-ua/sdp/tests
	libs/sofia-sip/libsofia-sip-ua/sip
	libs/sofia-sip/libsofia-sip-ua/sip/images
	libs/sofia-sip/libsofia-sip-ua/sip/sofia-sip
	libs/sofia-sip/libsofia-sip-ua/sip/tests
	libs/sofia-sip/libsofia-sip-ua/soa
	libs/sofia-sip/libsofia-sip-ua/soa/sofia-sip
	libs/sofia-sip/libsofia-sip-ua/sresolv
	libs/sofia-sip/libsofia-sip-ua/sresolv/sofia-resolv
	libs/sofia-sip/libsofia-sip-ua/sresolv/sofia-sip
	libs/sofia-sip/libsofia-sip-ua/stun
	libs/sofia-sip/libsofia-sip-ua/stun/sofia-sip
	libs/sofia-sip/libsofia-sip-ua/su
	libs/sofia-sip/libsofia-sip-ua/su/sofia-sip
	libs/sofia-sip/libsofia-sip-ua/tport
	libs/sofia-sip/libsofia-sip-ua/tport/sofia-sip
	libs/sofia-sip/libsofia-sip-ua/url
	libs/sofia-sip/libsofia-sip-ua/url/sofia-sip
	libs/sofia-sip/m4 libs/sofia-sip/open_c
	libs/sofia-sip/open_c/group libs/sofia-sip/open_c/sis
	libs/sofia-sip/open_c/sofia-sip libs/sofia-sip/packages
	libs/sofia-sip/rules libs/sofia-sip/scripts
	libs/sofia-sip/tests libs/sofia-sip/utils
	libs/sofia-sip/win32 libs/sofia-sip/win32/libsofia-sip-ua
	libs/sofia-sip/win32/libsofia-sip-ua-static
	libs/sofia-sip/win32/sofia-sip libs/sofia-sip/win32/tests
	libs/sofia-sip/win32/tests/test_htable
	libs/sofia-sip/win32/tests/test_memmem
	libs/sofia-sip/win32/tests/test_nta
	libs/sofia-sip/win32/tests/test_nua
	libs/sofia-sip/win32/tests/test_su
	libs/sofia-sip/win32/tests/test_tport
	libs/sofia-sip/win32/tests/torture_rbtree
	libs/sofia-sip/win32/tests/torture_su
	libs/sofia-sip/win32/tests/torture_su_alloc
	libs/sofia-sip/win32/tests/torture_su_bm
	libs/sofia-sip/win32/tests/torture_su_port
	libs/sofia-sip/win32/tests/torture_su_root
	libs/sofia-sip/win32/tests/torture_su_tag
	libs/sofia-sip/win32/tests/torture_su_time
	libs/sofia-sip/win32/tests/torture_su_timer
	libs/sofia-sip/win32/utils libs/sofia-sip/win32/utils/localinfo
	libs/sofia-sip/win32/utils/sip_dig
	libs/sofia-sip/win32/utils/sip_options
	libs/sofia-sip/win32/utils/sip_options_static
	libs/sofia-sip/win32/utils/stunc libs/spandsp
	libs/spandsp/config libs/spandsp/debian libs/spandsp/doc
	libs/spandsp/doc/t38_manual libs/spandsp/spandsp
	libs/spandsp/spandsp-sim libs/spandsp/spandsp-sim/spandsp
	libs/spandsp/src libs/spandsp/src/msvc
	libs/spandsp/src/msvc/sys libs/spandsp/src/spandsp
	libs/spandsp/test-data libs/spandsp/test-data/etsi
	libs/spandsp/test-data/etsi/fax libs/spandsp/test-data/itu
	libs/spandsp/test-data/itu/fax libs/spandsp/test-data/local
	libs/spandsp/tests libs/speex libs/speex/doc
	libs/speex/include libs/speex/include/speex
	libs/speex/libspeex libs/speex/src libs/speex/symbian
	libs/speex/ti libs/speex/ti/speex_C54_test
	libs/speex/ti/speex_C55_test libs/speex/ti/speex_C64_test
	libs/speex/win32 libs/speex/win32/VS2003
	libs/speex/win32/VS2003/libspeex libs/speex/win32/VS2003/speexdec
	libs/speex/win32/VS2003/speexenc libs/speex/win32/VS2005
	libs/speex/win32/VS2005/libspeex libs/speex/win32/VS2005/speexdec
	libs/speex/win32/VS2005/speexenc libs/speex/win32/libspeex
	libs/speex/win32/speexdec libs/speex/win32/speexenc
	libs/sqlite libs/sqlite/art libs/sqlite/art/tmp
	libs/sqlite/contrib libs/sqlite/ext libs/sqlite/ext/fts1
	libs/sqlite/ext/fts2 libs/sqlite/notes libs/sqlite/src
	libs/sqlite/src/ex libs/sqlite/test libs/sqlite/tool
	libs/sqlite/www libs/srtp libs/srtp/build
	libs/srtp/build/config libs/srtp/crypto
	libs/srtp/crypto/ae_xfm libs/srtp/crypto/cipher
	libs/srtp/crypto/hash libs/srtp/crypto/include
	libs/srtp/crypto/kernel libs/srtp/crypto/math
	libs/srtp/crypto/replay libs/srtp/crypto/rng
	libs/srtp/crypto/test libs/srtp/doc libs/srtp/include
	libs/srtp/srtp libs/srtp/tables libs/srtp/test libs/stfu
	libs/udns libs/udns/debian libs/voipcodecs
	libs/voipcodecs/config libs/voipcodecs/debian
	libs/voipcodecs/doc libs/voipcodecs/etsitests
	libs/voipcodecs/itutests libs/voipcodecs/localtests
	libs/voipcodecs/src libs/voipcodecs/src/msvc
	libs/voipcodecs/src/msvc/sys libs/voipcodecs/src/voipcodecs
	libs/voipcodecs/tests libs/win32 libs/win32/Sound_Files
	libs/win32/apr libs/win32/apr-util libs/win32/curl
	libs/win32/flite libs/win32/howl libs/win32/iksemel
	libs/win32/js libs/win32/libg722_1 libs/win32/libmp3lame
	libs/win32/libogg libs/win32/libresample libs/win32/libshout
	libs/win32/libshout/shout libs/win32/libsndfile
	libs/win32/mpg123 libs/win32/mpg123/libmpg123 libs/win32/pcre
	libs/win32/pocketsphinx libs/win32/portaudio
	libs/win32/pthread libs/win32/sofia libs/win32/speex
	libs/win32/sphinxbase libs/win32/sqlite libs/win32/udns
	libs/win32/xmlrpc libs/xmlrpc-c libs/xmlrpc-c/Windows
	libs/xmlrpc-c/Windows/xmlrpc-c libs/xmlrpc-c/conf
	libs/xmlrpc-c/conf/abyss_root libs/xmlrpc-c/conf/abyss_root/conf
	libs/xmlrpc-c/conf/abyss_root/htdocs libs/xmlrpc-c/debian
	libs/xmlrpc-c/doc libs/xmlrpc-c/examples
	libs/xmlrpc-c/examples/cpp libs/xmlrpc-c/include
	libs/xmlrpc-c/include/xmlrpc-c libs/xmlrpc-c/lib
	libs/xmlrpc-c/lib/abyss libs/xmlrpc-c/lib/abyss/conf
	libs/xmlrpc-c/lib/abyss/example libs/xmlrpc-c/lib/abyss/example/conf
	libs/xmlrpc-c/lib/abyss/example/htdocs
	libs/xmlrpc-c/lib/abyss/htdocs libs/xmlrpc-c/lib/abyss/src
	libs/xmlrpc-c/lib/curl_transport libs/xmlrpc-c/lib/expat
	libs/xmlrpc-c/lib/expat/gennmtab libs/xmlrpc-c/lib/expat/sample
	libs/xmlrpc-c/lib/expat/xmlparse
	libs/xmlrpc-c/lib/expat/xmltok libs/xmlrpc-c/lib/expat/xmlwf
	libs/xmlrpc-c/lib/libutil libs/xmlrpc-c/lib/libwww_transport
	libs/xmlrpc-c/lib/util libs/xmlrpc-c/lib/util/include
	libs/xmlrpc-c/lib/wininet_transport libs/xmlrpc-c/src
	libs/xmlrpc-c/src/cpp libs/xmlrpc-c/src/cpp/test
	libs/xmlrpc-c/src/test libs/xmlrpc-c/src/test/data
	libs/xmlrpc-c/tools libs/xmlrpc-c/tools/binmode-rpc-kit
	libs/xmlrpc-c/tools/binmode-rpc-kit/examples
	libs/xmlrpc-c/tools/interop-server libs/xmlrpc-c/tools/lib
	libs/xmlrpc-c/tools/lib/include
	libs/xmlrpc-c/tools/perl_packetsocket
	libs/xmlrpc-c/tools/turbocharger libs/xmlrpc-c/tools/xml-rpc-api2cpp
	libs/xmlrpc-c/tools/xmlrpc libs/xmlrpc-c/tools/xmlrpc_cpp_proxy
	libs/xmlrpc-c/tools/xmlrpc_pstream
	libs/xmlrpc-c/tools/xmlrpc_transport libs/yaml
	libs/yaml/config libs/yaml/doc libs/yaml/doc/html
	libs/yaml/include libs/yaml/src libs/yaml/tests patches
	scripts scripts/POE-Filter-FSSocket
	scripts/POE-Filter-FSSocket/examples scripts/POE-Filter-FSSocket/lib
	scripts/POE-Filter-FSSocket/lib/POE
	scripts/POE-Filter-FSSocket/lib/POE/Filter
	scripts/POE-Filter-FSSocket/t scripts/aadir scripts/contrib
	scripts/contrib/Phil scripts/contrib/Phil/pylons
	scripts/contrib/dschreiber scripts/contrib/dschreiber/mod_nibblebill
	scripts/contrib/evildeshi scripts/contrib/intralanman
	scripts/contrib/intralanman/C scripts/contrib/intralanman/C/lcr
	scripts/contrib/intralanman/C/lcr/sql
	scripts/contrib/intralanman/PHP
	scripts/contrib/intralanman/PHP/fs_curl
	scripts/contrib/intralanman/PHP/fs_curl/configuration
	scripts/contrib/intralanman/PHP/fs_curl/dialplans
	scripts/contrib/intralanman/PHP/fs_curl/sql
	scripts/contrib/intralanman/PHP/fs_sock
	scripts/contrib/intralanman/javascript
	scripts/contrib/intralanman/perl scripts/contrib/jpalley
	scripts/contrib/jpalley/telegraph
	scripts/contrib/jpalley/telegraph/trunk
	scripts/contrib/jpalley/telegraph/trunk/generators
	scripts/contrib/jpalley/telegraph/trunk/generators/voice_events_controller
	scripts/contrib/jpalley/telegraph/trunk/generators/voice_events_controller/templates
	scripts/contrib/jpalley/telegraph/trunk/generators/voice_model
	scripts/contrib/jpalley/telegraph/trunk/generators/voice_model/templates
	scripts/contrib/jpalley/telegraph/trunk/lib
	scripts/contrib/jpalley/telegraph/trunk/lib/core
	scripts/contrib/jpalley/telegraph/trunk/lib/core/voice_events
	scripts/contrib/jpalley/telegraph/trunk/lib/core/voice_view
	scripts/contrib/jpalley/telegraph/trunk/lib/freeswitch
	scripts/contrib/jpalley/telegraph/trunk/lib/freeswitch/voice_model
	scripts/contrib/jpalley/telegraph/trunk/test
	scripts/contrib/mcollins scripts/contrib/mrene
	scripts/contrib/seven scripts/contrib/trixter
	scripts/contrib/trixter/dialplan scripts/contrib/trixter/xml-cdr
	scripts/contrib/trixter/xml-curl
	scripts/contrib/trixter/xml-curl/modules
	scripts/contrib/trixter/xml-curl/templates
	scripts/contrib/trixter/xml-curl/templates/switch1
	scripts/contrib/trixter/xml-curl/templates/switch1/configuration
	scripts/contrib/trixter/xml-curl/templates/switch1/dialplan
	scripts/contrib/trixter/xml-curl/templates/switch1/directory
	scripts/contrib/trixter/xml-curl/templates/switch1/phrases
	scripts/contrib/trixter/xml-rpc
	scripts/contrib/trixter/xml-rpc/templates_c
	scripts/contrib/trixter/xml-rpc/themes
	scripts/contrib/trixter/xml-rpc/themes/default
	scripts/contrib/trixter/xml-rpc/themes/default/images
	scripts/contrib/trixter/xml-rpc/themes/es
	scripts/contrib/trixter/xml-rpc/themes/es/images
	scripts/contrib/verifier scripts/contrib/verifier/EventSocket
	scripts/contrib/verifier/EventSocket/trunk
	scripts/contrib/verifier/EventSocket/trunk/EventWatcher
	scripts/contrib/verifier/EventSocket/trunk/EventWatcher/Properties
	scripts/contrib/verifier/EventSocket/trunk/FreeSwitch.EventSocket.Test
	scripts/contrib/verifier/EventSocket/trunk/FreeSwitch.EventSocket.Test/Properties
	scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket
	scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents
	scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands
	scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Events
	scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/General
	scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Ivr
	scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Properties
	scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/SipEvents
	scripts/contrib/verifier/EventSocket/trunk/IvrSocket
	scripts/contrib/verifier/EventSocket/trunk/IvrSocket/Properties
	scripts/contrib/vile scripts/contrib/wasim scripts/js_modules
	scripts/lua scripts/multicast scripts/perl scripts/py_modules
	scripts/rss scripts/s25vmail scripts/scenario scripts/socket
	scripts/socket/FreeSWITCH scripts/socket/FreeSWITCH/debian
	scripts/socket/freepy scripts/socket/socket2me
	scripts/tonegen scripts/trace src src/include
	src/include/private src/mod src/mod/applications
	src/mod/applications/mod_commands
	src/mod/applications/mod_conference src/mod/applications/mod_dptools
	src/mod/applications/mod_easyroute
	src/mod/applications/mod_enum src/mod/applications/mod_esf
	src/mod/applications/mod_expr src/mod/applications/mod_fax
	src/mod/applications/mod_fifo src/mod/applications/mod_fsv
	src/mod/applications/mod_http src/mod/applications/mod_lcr
	src/mod/applications/mod_limit src/mod/applications/mod_rss
	src/mod/applications/mod_skel src/mod/applications/mod_snom
	src/mod/applications/mod_soundtouch
	src/mod/applications/mod_stress src/mod/applications/mod_vmd
	src/mod/applications/mod_voicemail src/mod/asr_tts
	src/mod/asr_tts/mod_cepstral src/mod/asr_tts/mod_flite
	src/mod/asr_tts/mod_pocketsphinx src/mod/codecs
	src/mod/codecs/mod_amr src/mod/codecs/mod_celt
	src/mod/codecs/mod_g723_1 src/mod/codecs/mod_g729
	src/mod/codecs/mod_h26x src/mod/codecs/mod_ilbc
	src/mod/codecs/mod_siren src/mod/codecs/mod_speex
	src/mod/codecs/mod_voipcodecs src/mod/dialplans
	src/mod/dialplans/mod_dialplan_asterisk
	src/mod/dialplans/mod_dialplan_directory
	src/mod/dialplans/mod_dialplan_xml src/mod/directories
	src/mod/directories/mod_ldap src/mod/endpoints
	src/mod/endpoints/mod_alsa src/mod/endpoints/mod_dingaling
	src/mod/endpoints/mod_iax src/mod/endpoints/mod_loopback
	src/mod/endpoints/mod_opal src/mod/endpoints/mod_portaudio
	src/mod/endpoints/mod_reference src/mod/endpoints/mod_sofia
	src/mod/endpoints/mod_unicall src/mod/event_handlers
	src/mod/event_handlers/mod_cdr_csv
	src/mod/event_handlers/mod_erlang_event
	src/mod/event_handlers/mod_event_multicast
	src/mod/event_handlers/mod_event_socket
	src/mod/event_handlers/mod_event_test
	src/mod/event_handlers/mod_radius_cdr
	src/mod/event_handlers/mod_radius_cdr/radius
	src/mod/event_handlers/mod_zeroconf src/mod/formats
	src/mod/formats/mod_local_stream
	src/mod/formats/mod_native_file src/mod/formats/mod_shout
	src/mod/formats/mod_sndfile src/mod/formats/mod_tone_stream
	src/mod/languages src/mod/languages/mod_java
	src/mod/languages/mod_java/src src/mod/languages/mod_java/src/org
	src/mod/languages/mod_java/src/org/freeswitch
	src/mod/languages/mod_java/src/org/freeswitch/swig
	src/mod/languages/mod_lua src/mod/languages/mod_lua/lua
	src/mod/languages/mod_managed src/mod/languages/mod_managed/managed
	src/mod/languages/mod_mono src/mod/languages/mod_mono_managed
	src/mod/languages/mod_mono_managed/Properties
	src/mod/languages/mod_mono_managed/swig
	src/mod/languages/mod_perl src/mod/languages/mod_python
	src/mod/languages/mod_spidermonkey
	src/mod/languages/mod_spidermonkey_core_db
	src/mod/languages/mod_spidermonkey_curl
	src/mod/languages/mod_spidermonkey_odbc
	src/mod/languages/mod_spidermonkey_skel
	src/mod/languages/mod_spidermonkey_socket
	src/mod/languages/mod_spidermonkey_teletone
	src/mod/languages/mod_yaml src/mod/loggers
	src/mod/loggers/mod_console src/mod/loggers/mod_logfile
	src/mod/loggers/mod_syslog src/mod/say src/mod/say/mod_say_de
	src/mod/say/mod_say_en src/mod/say/mod_say_es
	src/mod/say/mod_say_fr src/mod/say/mod_say_it
	src/mod/say/mod_say_nl src/mod/say/mod_say_zh src/mod/timers
	src/mod/xml_int src/mod/xml_int/mod_xml_cdr
	src/mod/xml_int/mod_xml_curl src/mod/xml_int/mod_xml_ldap
	src/mod/xml_int/mod_xml_rpc support-d w32 w32/Console
	w32/Library w32/Setup
Message-ID: 

Author: seven
Date: Thu Jan 22 23:45:03 2009
New Revision: 11461

Log:
Initial commit of mybranch from trunk revision: 11459

Added:
   freeswitch/branches/seven/Freeswitch.2005.unsupported.sln
      - copied unchanged from r11459, /freeswitch/trunk/Freeswitch.2005.unsupported.sln
   freeswitch/branches/seven/Freeswitch.2008.express.sln
      - copied unchanged from r11459, /freeswitch/trunk/Freeswitch.2008.express.sln
   freeswitch/branches/seven/Freeswitch.2008.sln
      - copied unchanged from r11459, /freeswitch/trunk/Freeswitch.2008.sln
   freeswitch/branches/seven/INSTALL
      - copied unchanged from r11459, /freeswitch/trunk/INSTALL
   freeswitch/branches/seven/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/Makefile.am
   freeswitch/branches/seven/acinclude.m4
      - copied unchanged from r11459, /freeswitch/trunk/acinclude.m4
   freeswitch/branches/seven/bootstrap.sh
      - copied unchanged from r11459, /freeswitch/trunk/bootstrap.sh
   freeswitch/branches/seven/build/   (props changed)
      - copied from r11459, /freeswitch/trunk/build/
   freeswitch/branches/seven/build/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/build/Makefile
   freeswitch/branches/seven/build/buildlib.sh
      - copied unchanged from r11459, /freeswitch/trunk/build/buildlib.sh
   freeswitch/branches/seven/build/buildopal.sh
      - copied unchanged from r11459, /freeswitch/trunk/build/buildopal.sh
   freeswitch/branches/seven/build/config/   (props changed)
      - copied from r11459, /freeswitch/trunk/build/config/
   freeswitch/branches/seven/build/config/ODBC.m4
      - copied unchanged from r11459, /freeswitch/trunk/build/config/ODBC.m4
   freeswitch/branches/seven/build/config/ac_cflags_gcc_option.m4
      - copied unchanged from r11459, /freeswitch/trunk/build/config/ac_cflags_gcc_option.m4
   freeswitch/branches/seven/build/config/ac_cflags_sun_option.m4
      - copied unchanged from r11459, /freeswitch/trunk/build/config/ac_cflags_sun_option.m4
   freeswitch/branches/seven/build/config/ac_gcc_archflag.m4
      - copied unchanged from r11459, /freeswitch/trunk/build/config/ac_gcc_archflag.m4
   freeswitch/branches/seven/build/config/ac_gcc_x86_cpuid.m4
      - copied unchanged from r11459, /freeswitch/trunk/build/config/ac_gcc_x86_cpuid.m4
   freeswitch/branches/seven/build/config/ac_prog_gzip.m4
      - copied unchanged from r11459, /freeswitch/trunk/build/config/ac_prog_gzip.m4
   freeswitch/branches/seven/build/config/ac_prog_wget.m4
      - copied unchanged from r11459, /freeswitch/trunk/build/config/ac_prog_wget.m4
   freeswitch/branches/seven/build/config/ax_cc_maxopt.m4
      - copied unchanged from r11459, /freeswitch/trunk/build/config/ax_cc_maxopt.m4
   freeswitch/branches/seven/build/config/ax_cflags_warn_all_ansi.m4
      - copied unchanged from r11459, /freeswitch/trunk/build/config/ax_cflags_warn_all_ansi.m4
   freeswitch/branches/seven/build/config/ax_check_compiler_flags.m4
      - copied unchanged from r11459, /freeswitch/trunk/build/config/ax_check_compiler_flags.m4
   freeswitch/branches/seven/build/config/ax_check_java.m4
      - copied unchanged from r11459, /freeswitch/trunk/build/config/ax_check_java.m4
   freeswitch/branches/seven/build/config/ax_compiler_vendor.m4
      - copied unchanged from r11459, /freeswitch/trunk/build/config/ax_compiler_vendor.m4
   freeswitch/branches/seven/build/config/ax_lib_mysql.m4
      - copied unchanged from r11459, /freeswitch/trunk/build/config/ax_lib_mysql.m4
   freeswitch/branches/seven/build/config/config.sub
      - copied unchanged from r11459, /freeswitch/trunk/build/config/config.sub
   freeswitch/branches/seven/build/config/libcurl.m4
      - copied unchanged from r11459, /freeswitch/trunk/build/config/libcurl.m4
   freeswitch/branches/seven/build/curses.patch
      - copied unchanged from r11459, /freeswitch/trunk/build/curses.patch
   freeswitch/branches/seven/build/fixautoconf.sh
      - copied unchanged from r11459, /freeswitch/trunk/build/fixautoconf.sh
   freeswitch/branches/seven/build/fixautomake.sh
      - copied unchanged from r11459, /freeswitch/trunk/build/fixautomake.sh
   freeswitch/branches/seven/build/fixlibtool.sh
      - copied unchanged from r11459, /freeswitch/trunk/build/fixlibtool.sh
   freeswitch/branches/seven/build/freeswitch.build/
      - copied from r11459, /freeswitch/trunk/build/freeswitch.build/
   freeswitch/branches/seven/build/freeswitch.build/freeswitch.pbxindex/
      - copied from r11459, /freeswitch/trunk/build/freeswitch.build/freeswitch.pbxindex/
   freeswitch/branches/seven/build/freeswitch.build/freeswitch.pbxindex/categories.pbxbtree
      - copied unchanged from r11459, /freeswitch/trunk/build/freeswitch.build/freeswitch.pbxindex/categories.pbxbtree
   freeswitch/branches/seven/build/freeswitch.build/freeswitch.pbxindex/cdecls.pbxbtree
      - copied unchanged from r11459, /freeswitch/trunk/build/freeswitch.build/freeswitch.pbxindex/cdecls.pbxbtree
   freeswitch/branches/seven/build/freeswitch.build/freeswitch.pbxindex/decls.pbxbtree
      - copied unchanged from r11459, /freeswitch/trunk/build/freeswitch.build/freeswitch.pbxindex/decls.pbxbtree
   freeswitch/branches/seven/build/freeswitch.build/freeswitch.pbxindex/files.pbxbtree
      - copied unchanged from r11459, /freeswitch/trunk/build/freeswitch.build/freeswitch.pbxindex/files.pbxbtree
   freeswitch/branches/seven/build/freeswitch.build/freeswitch.pbxindex/imports.pbxbtree
      - copied unchanged from r11459, /freeswitch/trunk/build/freeswitch.build/freeswitch.pbxindex/imports.pbxbtree
   freeswitch/branches/seven/build/freeswitch.build/freeswitch.pbxindex/pbxindex.header
      - copied unchanged from r11459, /freeswitch/trunk/build/freeswitch.build/freeswitch.pbxindex/pbxindex.header
   freeswitch/branches/seven/build/freeswitch.build/freeswitch.pbxindex/protocols.pbxbtree
      - copied unchanged from r11459, /freeswitch/trunk/build/freeswitch.build/freeswitch.pbxindex/protocols.pbxbtree
   freeswitch/branches/seven/build/freeswitch.build/freeswitch.pbxindex/refs.pbxbtree
      - copied unchanged from r11459, /freeswitch/trunk/build/freeswitch.build/freeswitch.pbxindex/refs.pbxbtree
   freeswitch/branches/seven/build/freeswitch.build/freeswitch.pbxindex/strings.pbxstrings/
      - copied from r11459, /freeswitch/trunk/build/freeswitch.build/freeswitch.pbxindex/strings.pbxstrings/
   freeswitch/branches/seven/build/freeswitch.build/freeswitch.pbxindex/strings.pbxstrings/control
      - copied unchanged from r11459, /freeswitch/trunk/build/freeswitch.build/freeswitch.pbxindex/strings.pbxstrings/control
   freeswitch/branches/seven/build/freeswitch.build/freeswitch.pbxindex/strings.pbxstrings/strings
      - copied unchanged from r11459, /freeswitch/trunk/build/freeswitch.build/freeswitch.pbxindex/strings.pbxstrings/strings
   freeswitch/branches/seven/build/freeswitch.build/freeswitch.pbxindex/subclasses.pbxbtree
      - copied unchanged from r11459, /freeswitch/trunk/build/freeswitch.build/freeswitch.pbxindex/subclasses.pbxbtree
   freeswitch/branches/seven/build/freeswitch.init.archlinux
      - copied unchanged from r11459, /freeswitch/trunk/build/freeswitch.init.archlinux
   freeswitch/branches/seven/build/freeswitch.init.redhat
      - copied unchanged from r11459, /freeswitch/trunk/build/freeswitch.init.redhat
   freeswitch/branches/seven/build/freeswitch.init.suse
      - copied unchanged from r11459, /freeswitch/trunk/build/freeswitch.init.suse
   freeswitch/branches/seven/build/freeswitch.ld.so.conf
      - copied unchanged from r11459, /freeswitch/trunk/build/freeswitch.ld.so.conf
   freeswitch/branches/seven/build/freeswitch.monitrc
      - copied unchanged from r11459, /freeswitch/trunk/build/freeswitch.monitrc
   freeswitch/branches/seven/build/freeswitch.sysconfig
      - copied unchanged from r11459, /freeswitch/trunk/build/freeswitch.sysconfig
   freeswitch/branches/seven/build/gen_indent.pl
      - copied unchanged from r11459, /freeswitch/trunk/build/gen_indent.pl
   freeswitch/branches/seven/build/getlib.sh.in
      - copied unchanged from r11459, /freeswitch/trunk/build/getlib.sh.in
   freeswitch/branches/seven/build/getsounds.sh.in
      - copied unchanged from r11459, /freeswitch/trunk/build/getsounds.sh.in
   freeswitch/branches/seven/build/ignore_helper.pl
      - copied unchanged from r11459, /freeswitch/trunk/build/ignore_helper.pl
   freeswitch/branches/seven/build/indent_options.sh
      - copied unchanged from r11459, /freeswitch/trunk/build/indent_options.sh
   freeswitch/branches/seven/build/modmake.rules.in
      - copied unchanged from r11459, /freeswitch/trunk/build/modmake.rules.in
   freeswitch/branches/seven/build/modules.conf.in
      - copied unchanged from r11459, /freeswitch/trunk/build/modules.conf.in
   freeswitch/branches/seven/build/sounds_version.txt
      - copied unchanged from r11459, /freeswitch/trunk/build/sounds_version.txt
   freeswitch/branches/seven/build/swigall.sh
      - copied unchanged from r11459, /freeswitch/trunk/build/swigall.sh
   freeswitch/branches/seven/build/turbo_build.sh
      - copied unchanged from r11459, /freeswitch/trunk/build/turbo_build.sh
   freeswitch/branches/seven/conf/   (props changed)
      - copied from r11459, /freeswitch/trunk/conf/
   freeswitch/branches/seven/conf/autoload_configs/
      - copied from r11459, /freeswitch/trunk/conf/autoload_configs/
   freeswitch/branches/seven/conf/autoload_configs/acl.conf.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/autoload_configs/acl.conf.xml
   freeswitch/branches/seven/conf/autoload_configs/alsa.conf.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/autoload_configs/alsa.conf.xml
   freeswitch/branches/seven/conf/autoload_configs/cdr_csv.conf.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/autoload_configs/cdr_csv.conf.xml
   freeswitch/branches/seven/conf/autoload_configs/conference.conf.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/autoload_configs/conference.conf.xml
   freeswitch/branches/seven/conf/autoload_configs/console.conf.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/autoload_configs/console.conf.xml
   freeswitch/branches/seven/conf/autoload_configs/dialplan_directory.conf.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/autoload_configs/dialplan_directory.conf.xml
   freeswitch/branches/seven/conf/autoload_configs/dingaling.conf.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/autoload_configs/dingaling.conf.xml
   freeswitch/branches/seven/conf/autoload_configs/easyroute.conf.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/autoload_configs/easyroute.conf.xml
   freeswitch/branches/seven/conf/autoload_configs/enum.conf.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/autoload_configs/enum.conf.xml
   freeswitch/branches/seven/conf/autoload_configs/event_multicast.conf.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/autoload_configs/event_multicast.conf.xml
   freeswitch/branches/seven/conf/autoload_configs/event_socket.conf.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/autoload_configs/event_socket.conf.xml
   freeswitch/branches/seven/conf/autoload_configs/fax.conf.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/autoload_configs/fax.conf.xml
   freeswitch/branches/seven/conf/autoload_configs/fifo.conf.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/autoload_configs/fifo.conf.xml
   freeswitch/branches/seven/conf/autoload_configs/iax.conf.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/autoload_configs/iax.conf.xml
   freeswitch/branches/seven/conf/autoload_configs/ivr.conf.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/autoload_configs/ivr.conf.xml
   freeswitch/branches/seven/conf/autoload_configs/java.conf.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/autoload_configs/java.conf.xml
   freeswitch/branches/seven/conf/autoload_configs/lcr.conf.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/autoload_configs/lcr.conf.xml
   freeswitch/branches/seven/conf/autoload_configs/limit.conf.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/autoload_configs/limit.conf.xml
   freeswitch/branches/seven/conf/autoload_configs/local_stream.conf.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/autoload_configs/local_stream.conf.xml
   freeswitch/branches/seven/conf/autoload_configs/logfile.conf.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/autoload_configs/logfile.conf.xml
   freeswitch/branches/seven/conf/autoload_configs/lua.conf.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/autoload_configs/lua.conf.xml
   freeswitch/branches/seven/conf/autoload_configs/modules.conf.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/autoload_configs/modules.conf.xml
   freeswitch/branches/seven/conf/autoload_configs/opal.conf.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/autoload_configs/opal.conf.xml
   freeswitch/branches/seven/conf/autoload_configs/perl.conf.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/autoload_configs/perl.conf.xml
   freeswitch/branches/seven/conf/autoload_configs/pocketsphinx.conf.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/autoload_configs/pocketsphinx.conf.xml
   freeswitch/branches/seven/conf/autoload_configs/portaudio.conf.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/autoload_configs/portaudio.conf.xml
   freeswitch/branches/seven/conf/autoload_configs/post_load_modules.conf.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/autoload_configs/post_load_modules.conf.xml
   freeswitch/branches/seven/conf/autoload_configs/python.conf.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/autoload_configs/python.conf.xml
   freeswitch/branches/seven/conf/autoload_configs/rss.conf.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/autoload_configs/rss.conf.xml
   freeswitch/branches/seven/conf/autoload_configs/shout.conf.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/autoload_configs/shout.conf.xml
   freeswitch/branches/seven/conf/autoload_configs/sofia.conf.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/autoload_configs/sofia.conf.xml
   freeswitch/branches/seven/conf/autoload_configs/spidermonkey.conf.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/autoload_configs/spidermonkey.conf.xml
   freeswitch/branches/seven/conf/autoload_configs/switch.conf.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/autoload_configs/switch.conf.xml
   freeswitch/branches/seven/conf/autoload_configs/syslog.conf.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/autoload_configs/syslog.conf.xml
   freeswitch/branches/seven/conf/autoload_configs/timezones.conf.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/autoload_configs/timezones.conf.xml
   freeswitch/branches/seven/conf/autoload_configs/unicall.conf.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/autoload_configs/unicall.conf.xml
   freeswitch/branches/seven/conf/autoload_configs/voicemail.conf.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/autoload_configs/voicemail.conf.xml
   freeswitch/branches/seven/conf/autoload_configs/xml_cdr.conf.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/autoload_configs/xml_cdr.conf.xml
   freeswitch/branches/seven/conf/autoload_configs/xml_curl.conf.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/autoload_configs/xml_curl.conf.xml
   freeswitch/branches/seven/conf/autoload_configs/xml_rpc.conf.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/autoload_configs/xml_rpc.conf.xml
   freeswitch/branches/seven/conf/autoload_configs/zeroconf.conf.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/autoload_configs/zeroconf.conf.xml
   freeswitch/branches/seven/conf/dialplan/
      - copied from r11459, /freeswitch/trunk/conf/dialplan/
   freeswitch/branches/seven/conf/dialplan/default/
      - copied from r11459, /freeswitch/trunk/conf/dialplan/default/
   freeswitch/branches/seven/conf/dialplan/default.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/dialplan/default.xml
   freeswitch/branches/seven/conf/dialplan/default/00_pizza_demo.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/dialplan/default/00_pizza_demo.xml
   freeswitch/branches/seven/conf/dialplan/default/01_example.com.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/dialplan/default/01_example.com.xml
   freeswitch/branches/seven/conf/dialplan/default/99999_enum.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/dialplan/default/99999_enum.xml
   freeswitch/branches/seven/conf/dialplan/default/ideasip.com.noload
      - copied unchanged from r11459, /freeswitch/trunk/conf/dialplan/default/ideasip.com.noload
   freeswitch/branches/seven/conf/dialplan/default/pulver.com.noload
      - copied unchanged from r11459, /freeswitch/trunk/conf/dialplan/default/pulver.com.noload
   freeswitch/branches/seven/conf/dialplan/default/sipbroker.com.noload
      - copied unchanged from r11459, /freeswitch/trunk/conf/dialplan/default/sipbroker.com.noload
   freeswitch/branches/seven/conf/dialplan/default/sipphone.com.noload
      - copied unchanged from r11459, /freeswitch/trunk/conf/dialplan/default/sipphone.com.noload
   freeswitch/branches/seven/conf/dialplan/default/tollfreegateway.com.noload
      - copied unchanged from r11459, /freeswitch/trunk/conf/dialplan/default/tollfreegateway.com.noload
   freeswitch/branches/seven/conf/dialplan/features.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/dialplan/features.xml
   freeswitch/branches/seven/conf/dialplan/public/
      - copied from r11459, /freeswitch/trunk/conf/dialplan/public/
   freeswitch/branches/seven/conf/dialplan/public.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/dialplan/public.xml
   freeswitch/branches/seven/conf/dialplan/public/00_inbound_did.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/dialplan/public/00_inbound_did.xml
   freeswitch/branches/seven/conf/directory/
      - copied from r11459, /freeswitch/trunk/conf/directory/
   freeswitch/branches/seven/conf/directory/default/
      - copied from r11459, /freeswitch/trunk/conf/directory/default/
   freeswitch/branches/seven/conf/directory/default.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/directory/default.xml
   freeswitch/branches/seven/conf/directory/default/1000.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/directory/default/1000.xml
   freeswitch/branches/seven/conf/directory/default/1001.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/directory/default/1001.xml
   freeswitch/branches/seven/conf/directory/default/1002.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/directory/default/1002.xml
   freeswitch/branches/seven/conf/directory/default/1003.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/directory/default/1003.xml
   freeswitch/branches/seven/conf/directory/default/1004.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/directory/default/1004.xml
   freeswitch/branches/seven/conf/directory/default/1005.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/directory/default/1005.xml
   freeswitch/branches/seven/conf/directory/default/1006.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/directory/default/1006.xml
   freeswitch/branches/seven/conf/directory/default/1007.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/directory/default/1007.xml
   freeswitch/branches/seven/conf/directory/default/1008.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/directory/default/1008.xml
   freeswitch/branches/seven/conf/directory/default/1009.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/directory/default/1009.xml
   freeswitch/branches/seven/conf/directory/default/1010.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/directory/default/1010.xml
   freeswitch/branches/seven/conf/directory/default/1011.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/directory/default/1011.xml
   freeswitch/branches/seven/conf/directory/default/1012.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/directory/default/1012.xml
   freeswitch/branches/seven/conf/directory/default/1013.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/directory/default/1013.xml
   freeswitch/branches/seven/conf/directory/default/1014.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/directory/default/1014.xml
   freeswitch/branches/seven/conf/directory/default/1015.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/directory/default/1015.xml
   freeswitch/branches/seven/conf/directory/default/1016.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/directory/default/1016.xml
   freeswitch/branches/seven/conf/directory/default/1017.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/directory/default/1017.xml
   freeswitch/branches/seven/conf/directory/default/1018.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/directory/default/1018.xml
   freeswitch/branches/seven/conf/directory/default/1019.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/directory/default/1019.xml
   freeswitch/branches/seven/conf/directory/default/asterlink.com.noload
      - copied unchanged from r11459, /freeswitch/trunk/conf/directory/default/asterlink.com.noload
   freeswitch/branches/seven/conf/directory/default/brian.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/directory/default/brian.xml
   freeswitch/branches/seven/conf/directory/default/default.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/directory/default/default.xml
   freeswitch/branches/seven/conf/directory/default/example.com.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/directory/default/example.com.xml
   freeswitch/branches/seven/conf/directory/default/ideasip.com.noload
      - copied unchanged from r11459, /freeswitch/trunk/conf/directory/default/ideasip.com.noload
   freeswitch/branches/seven/conf/directory/default/intelefone.net.noload
      - copied unchanged from r11459, /freeswitch/trunk/conf/directory/default/intelefone.net.noload
   freeswitch/branches/seven/conf/directory/default/pulver.com.noload
      - copied unchanged from r11459, /freeswitch/trunk/conf/directory/default/pulver.com.noload
   freeswitch/branches/seven/conf/directory/default/sip.broadvoice.com.noload
      - copied unchanged from r11459, /freeswitch/trunk/conf/directory/default/sip.broadvoice.com.noload
   freeswitch/branches/seven/conf/directory/default/sipphone.com.noload
      - copied unchanged from r11459, /freeswitch/trunk/conf/directory/default/sipphone.com.noload
   freeswitch/branches/seven/conf/directory/default/voipuser.org.noload
      - copied unchanged from r11459, /freeswitch/trunk/conf/directory/default/voipuser.org.noload
   freeswitch/branches/seven/conf/extensions.conf
      - copied unchanged from r11459, /freeswitch/trunk/conf/extensions.conf
   freeswitch/branches/seven/conf/freeswitch.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/freeswitch.xml
   freeswitch/branches/seven/conf/fur_elise.ttml
      - copied unchanged from r11459, /freeswitch/trunk/conf/fur_elise.ttml
   freeswitch/branches/seven/conf/jingle_profiles/
      - copied from r11459, /freeswitch/trunk/conf/jingle_profiles/
   freeswitch/branches/seven/conf/jingle_profiles/client.noload
      - copied unchanged from r11459, /freeswitch/trunk/conf/jingle_profiles/client.noload
   freeswitch/branches/seven/conf/jingle_profiles/client.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/jingle_profiles/client.xml
   freeswitch/branches/seven/conf/jingle_profiles/server.noload
      - copied unchanged from r11459, /freeswitch/trunk/conf/jingle_profiles/server.noload
   freeswitch/branches/seven/conf/jingle_profiles/server.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/jingle_profiles/server.xml
   freeswitch/branches/seven/conf/lang/
      - copied from r11459, /freeswitch/trunk/conf/lang/
   freeswitch/branches/seven/conf/lang/de/
      - copied from r11459, /freeswitch/trunk/conf/lang/de/
   freeswitch/branches/seven/conf/lang/de/de.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/lang/de/de.xml
   freeswitch/branches/seven/conf/lang/de/demo/
      - copied from r11459, /freeswitch/trunk/conf/lang/de/demo/
   freeswitch/branches/seven/conf/lang/de/demo/demo.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/lang/de/demo/demo.xml
   freeswitch/branches/seven/conf/lang/de/vm/
      - copied from r11459, /freeswitch/trunk/conf/lang/de/vm/
   freeswitch/branches/seven/conf/lang/de/vm/tts.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/lang/de/vm/tts.xml
   freeswitch/branches/seven/conf/lang/en/
      - copied from r11459, /freeswitch/trunk/conf/lang/en/
   freeswitch/branches/seven/conf/lang/en/demo/
      - copied from r11459, /freeswitch/trunk/conf/lang/en/demo/
   freeswitch/branches/seven/conf/lang/en/demo/demo-ivr.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/lang/en/demo/demo-ivr.xml
   freeswitch/branches/seven/conf/lang/en/demo/demo.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/lang/en/demo/demo.xml
   freeswitch/branches/seven/conf/lang/en/en.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/lang/en/en.xml
   freeswitch/branches/seven/conf/lang/en/vm/
      - copied from r11459, /freeswitch/trunk/conf/lang/en/vm/
   freeswitch/branches/seven/conf/lang/en/vm/sounds.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/lang/en/vm/sounds.xml
   freeswitch/branches/seven/conf/lang/en/vm/tts.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/lang/en/vm/tts.xml
   freeswitch/branches/seven/conf/lang/fr/
      - copied from r11459, /freeswitch/trunk/conf/lang/fr/
   freeswitch/branches/seven/conf/lang/fr/demo/
      - copied from r11459, /freeswitch/trunk/conf/lang/fr/demo/
   freeswitch/branches/seven/conf/lang/fr/demo/demo.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/lang/fr/demo/demo.xml
   freeswitch/branches/seven/conf/lang/fr/fr.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/lang/fr/fr.xml
   freeswitch/branches/seven/conf/lang/fr/vm/
      - copied from r11459, /freeswitch/trunk/conf/lang/fr/vm/
   freeswitch/branches/seven/conf/lang/fr/vm/sounds.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/lang/fr/vm/sounds.xml
   freeswitch/branches/seven/conf/mime.types
      - copied unchanged from r11459, /freeswitch/trunk/conf/mime.types
   freeswitch/branches/seven/conf/notify-voicemail.tpl
      - copied unchanged from r11459, /freeswitch/trunk/conf/notify-voicemail.tpl
   freeswitch/branches/seven/conf/sip_profiles/
      - copied from r11459, /freeswitch/trunk/conf/sip_profiles/
   freeswitch/branches/seven/conf/sip_profiles/external/
      - copied from r11459, /freeswitch/trunk/conf/sip_profiles/external/
   freeswitch/branches/seven/conf/sip_profiles/external.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/sip_profiles/external.xml
   freeswitch/branches/seven/conf/sip_profiles/external/example.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/sip_profiles/external/example.xml
   freeswitch/branches/seven/conf/sip_profiles/internal/
      - copied from r11459, /freeswitch/trunk/conf/sip_profiles/internal/
   freeswitch/branches/seven/conf/sip_profiles/internal-ipv6.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/sip_profiles/internal-ipv6.xml
   freeswitch/branches/seven/conf/sip_profiles/internal.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/sip_profiles/internal.xml
   freeswitch/branches/seven/conf/sip_profiles/internal/example.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/sip_profiles/internal/example.xml
   freeswitch/branches/seven/conf/tetris.ttml
      - copied unchanged from r11459, /freeswitch/trunk/conf/tetris.ttml
   freeswitch/branches/seven/conf/vars.xml
      - copied unchanged from r11459, /freeswitch/trunk/conf/vars.xml
   freeswitch/branches/seven/conf/voicemail.tpl
      - copied unchanged from r11459, /freeswitch/trunk/conf/voicemail.tpl
   freeswitch/branches/seven/conf/web-vm.tpl
      - copied unchanged from r11459, /freeswitch/trunk/conf/web-vm.tpl
   freeswitch/branches/seven/conf/yaml/
      - copied from r11459, /freeswitch/trunk/conf/yaml/
   freeswitch/branches/seven/conf/yaml/extensions.yaml
      - copied unchanged from r11459, /freeswitch/trunk/conf/yaml/extensions.yaml
   freeswitch/branches/seven/conf/yaml/mod_yaml.yaml
      - copied unchanged from r11459, /freeswitch/trunk/conf/yaml/mod_yaml.yaml
   freeswitch/branches/seven/configure.in
      - copied unchanged from r11459, /freeswitch/trunk/configure.in
   freeswitch/branches/seven/debian/
      - copied from r11459, /freeswitch/trunk/debian/
   freeswitch/branches/seven/debian/changelog
      - copied unchanged from r11459, /freeswitch/trunk/debian/changelog
   freeswitch/branches/seven/debian/compat
      - copied unchanged from r11459, /freeswitch/trunk/debian/compat
   freeswitch/branches/seven/debian/control
      - copied unchanged from r11459, /freeswitch/trunk/debian/control
   freeswitch/branches/seven/debian/copyright
      - copied unchanged from r11459, /freeswitch/trunk/debian/copyright
   freeswitch/branches/seven/debian/dirs
      - copied unchanged from r11459, /freeswitch/trunk/debian/dirs
   freeswitch/branches/seven/debian/freeswitch-codec-passthru-amr.install
      - copied unchanged from r11459, /freeswitch/trunk/debian/freeswitch-codec-passthru-amr.install
   freeswitch/branches/seven/debian/freeswitch-codec-passthru-g7231.install
      - copied unchanged from r11459, /freeswitch/trunk/debian/freeswitch-codec-passthru-g7231.install
   freeswitch/branches/seven/debian/freeswitch-codec-passthru-g729.install
      - copied unchanged from r11459, /freeswitch/trunk/debian/freeswitch-codec-passthru-g729.install
   freeswitch/branches/seven/debian/freeswitch-dev.install
      - copied unchanged from r11459, /freeswitch/trunk/debian/freeswitch-dev.install
   freeswitch/branches/seven/debian/freeswitch-lang-de.conffiles
      - copied unchanged from r11459, /freeswitch/trunk/debian/freeswitch-lang-de.conffiles
   freeswitch/branches/seven/debian/freeswitch-lang-de.install
      - copied unchanged from r11459, /freeswitch/trunk/debian/freeswitch-lang-de.install
   freeswitch/branches/seven/debian/freeswitch-lang-en.conffiles
      - copied unchanged from r11459, /freeswitch/trunk/debian/freeswitch-lang-en.conffiles
   freeswitch/branches/seven/debian/freeswitch-lang-en.install
      - copied unchanged from r11459, /freeswitch/trunk/debian/freeswitch-lang-en.install
   freeswitch/branches/seven/debian/freeswitch-lang-es.install
      - copied unchanged from r11459, /freeswitch/trunk/debian/freeswitch-lang-es.install
   freeswitch/branches/seven/debian/freeswitch-lang-fr.conffiles
      - copied unchanged from r11459, /freeswitch/trunk/debian/freeswitch-lang-fr.conffiles
   freeswitch/branches/seven/debian/freeswitch-lang-fr.install
      - copied unchanged from r11459, /freeswitch/trunk/debian/freeswitch-lang-fr.install
   freeswitch/branches/seven/debian/freeswitch-lang-it.install
      - copied unchanged from r11459, /freeswitch/trunk/debian/freeswitch-lang-it.install
   freeswitch/branches/seven/debian/freeswitch-lang-nl.install
      - copied unchanged from r11459, /freeswitch/trunk/debian/freeswitch-lang-nl.install
   freeswitch/branches/seven/debian/freeswitch-lua.conffiles
      - copied unchanged from r11459, /freeswitch/trunk/debian/freeswitch-lua.conffiles
   freeswitch/branches/seven/debian/freeswitch-lua.install
      - copied unchanged from r11459, /freeswitch/trunk/debian/freeswitch-lua.install
   freeswitch/branches/seven/debian/freeswitch-perl.conffiles
      - copied unchanged from r11459, /freeswitch/trunk/debian/freeswitch-perl.conffiles
   freeswitch/branches/seven/debian/freeswitch-perl.install
      - copied unchanged from r11459, /freeswitch/trunk/debian/freeswitch-perl.install
   freeswitch/branches/seven/debian/freeswitch-sounds-en-us-callie-16000.install
      - copied unchanged from r11459, /freeswitch/trunk/debian/freeswitch-sounds-en-us-callie-16000.install
   freeswitch/branches/seven/debian/freeswitch-sounds-en-us-callie-32000.install
      - copied unchanged from r11459, /freeswitch/trunk/debian/freeswitch-sounds-en-us-callie-32000.install
   freeswitch/branches/seven/debian/freeswitch-sounds-en-us-callie-8000.install
      - copied unchanged from r11459, /freeswitch/trunk/debian/freeswitch-sounds-en-us-callie-8000.install
   freeswitch/branches/seven/debian/freeswitch-sounds-music-8000.install
      - copied unchanged from r11459, /freeswitch/trunk/debian/freeswitch-sounds-music-8000.install
   freeswitch/branches/seven/debian/freeswitch-spidermonkey.conffiles
      - copied unchanged from r11459, /freeswitch/trunk/debian/freeswitch-spidermonkey.conffiles
   freeswitch/branches/seven/debian/freeswitch-spidermonkey.install
      - copied unchanged from r11459, /freeswitch/trunk/debian/freeswitch-spidermonkey.install
   freeswitch/branches/seven/debian/freeswitch.conffiles
      - copied unchanged from r11459, /freeswitch/trunk/debian/freeswitch.conffiles
   freeswitch/branches/seven/debian/freeswitch.default
      - copied unchanged from r11459, /freeswitch/trunk/debian/freeswitch.default
   freeswitch/branches/seven/debian/freeswitch.init
      - copied unchanged from r11459, /freeswitch/trunk/debian/freeswitch.init
   freeswitch/branches/seven/debian/freeswitch.install
      - copied unchanged from r11459, /freeswitch/trunk/debian/freeswitch.install
   freeswitch/branches/seven/debian/man/
      - copied from r11459, /freeswitch/trunk/debian/man/
   freeswitch/branches/seven/debian/man/man1/
      - copied from r11459, /freeswitch/trunk/debian/man/man1/
   freeswitch/branches/seven/debian/man/man1/freeswitch.1
      - copied unchanged from r11459, /freeswitch/trunk/debian/man/man1/freeswitch.1
   freeswitch/branches/seven/debian/monit/
      - copied from r11459, /freeswitch/trunk/debian/monit/
   freeswitch/branches/seven/debian/monit/freeswitch.monitrc
      - copied unchanged from r11459, /freeswitch/trunk/debian/monit/freeswitch.monitrc
   freeswitch/branches/seven/debian/postinst
      - copied unchanged from r11459, /freeswitch/trunk/debian/postinst
   freeswitch/branches/seven/debian/postrm
      - copied unchanged from r11459, /freeswitch/trunk/debian/postrm
   freeswitch/branches/seven/debian/rules
      - copied unchanged from r11459, /freeswitch/trunk/debian/rules
   freeswitch/branches/seven/debian/substvars
      - copied unchanged from r11459, /freeswitch/trunk/debian/substvars
   freeswitch/branches/seven/docs/   (props changed)
      - copied from r11459, /freeswitch/trunk/docs/
   freeswitch/branches/seven/docs/AUTHORS
      - copied unchanged from r11459, /freeswitch/trunk/docs/AUTHORS
   freeswitch/branches/seven/docs/COPYING
      - copied unchanged from r11459, /freeswitch/trunk/docs/COPYING
   freeswitch/branches/seven/docs/ChangeLog
      - copied unchanged from r11459, /freeswitch/trunk/docs/ChangeLog
   freeswitch/branches/seven/docs/Doxygen.conf
      - copied unchanged from r11459, /freeswitch/trunk/docs/Doxygen.conf
   freeswitch/branches/seven/docs/JavaScript.txt
      - copied unchanged from r11459, /freeswitch/trunk/docs/JavaScript.txt
   freeswitch/branches/seven/docs/docs.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/docs/docs.2008.vcproj
   freeswitch/branches/seven/docs/docs.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/docs/docs.vcproj
   freeswitch/branches/seven/docs/phrase/
      - copied from r11459, /freeswitch/trunk/docs/phrase/
   freeswitch/branches/seven/docs/phrase/README.TXT
      - copied unchanged from r11459, /freeswitch/trunk/docs/phrase/README.TXT
   freeswitch/branches/seven/docs/phrase/phrase.pl
      - copied unchanged from r11459, /freeswitch/trunk/docs/phrase/phrase.pl
   freeswitch/branches/seven/docs/phrase/phrase_de.xml
      - copied unchanged from r11459, /freeswitch/trunk/docs/phrase/phrase_de.xml
   freeswitch/branches/seven/docs/phrase/phrase_en.xml
      - copied unchanged from r11459, /freeswitch/trunk/docs/phrase/phrase_en.xml
   freeswitch/branches/seven/docs/phrase/phrase_fr.xml
      - copied unchanged from r11459, /freeswitch/trunk/docs/phrase/phrase_fr.xml
   freeswitch/branches/seven/docs/phrase/phrase_nl.xml
      - copied unchanged from r11459, /freeswitch/trunk/docs/phrase/phrase_nl.xml
   freeswitch/branches/seven/docs/phrase/phrase_zh_HK.xml
      - copied unchanged from r11459, /freeswitch/trunk/docs/phrase/phrase_zh_HK.xml
   freeswitch/branches/seven/dtd/
      - copied from r11459, /freeswitch/trunk/dtd/
   freeswitch/branches/seven/dtd/freeswitch_dialplan.dtd
      - copied unchanged from r11459, /freeswitch/trunk/dtd/freeswitch_dialplan.dtd
   freeswitch/branches/seven/freeswitch.spec
      - copied unchanged from r11459, /freeswitch/trunk/freeswitch.spec
   freeswitch/branches/seven/freeswitch.xcodeproj/
      - copied from r11459, /freeswitch/trunk/freeswitch.xcodeproj/
   freeswitch/branches/seven/freeswitch.xcodeproj/mike.mode1v3
      - copied unchanged from r11459, /freeswitch/trunk/freeswitch.xcodeproj/mike.mode1v3
   freeswitch/branches/seven/freeswitch.xcodeproj/mike.pbxuser
      - copied unchanged from r11459, /freeswitch/trunk/freeswitch.xcodeproj/mike.pbxuser
   freeswitch/branches/seven/freeswitch.xcodeproj/project.pbxproj
      - copied unchanged from r11459, /freeswitch/trunk/freeswitch.xcodeproj/project.pbxproj
   freeswitch/branches/seven/htdocs/
      - copied from r11459, /freeswitch/trunk/htdocs/
   freeswitch/branches/seven/htdocs/license.txt
      - copied unchanged from r11459, /freeswitch/trunk/htdocs/license.txt
   freeswitch/branches/seven/htdocs/slim.swf
      - copied unchanged from r11459, /freeswitch/trunk/htdocs/slim.swf
   freeswitch/branches/seven/htdocs/slimtest.htm
      - copied unchanged from r11459, /freeswitch/trunk/htdocs/slimtest.htm
   freeswitch/branches/seven/libs/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/
   freeswitch/branches/seven/libs/apr/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/apr/
   freeswitch/branches/seven/libs/apr-util/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/apr-util/
   freeswitch/branches/seven/libs/apr-util/.update
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/.update
   freeswitch/branches/seven/libs/apr-util/CHANGES
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/CHANGES
   freeswitch/branches/seven/libs/apr-util/INSTALL.MySQL
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/INSTALL.MySQL
   freeswitch/branches/seven/libs/apr-util/LICENSE
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/LICENSE
   freeswitch/branches/seven/libs/apr-util/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/Makefile.in
   freeswitch/branches/seven/libs/apr-util/NOTICE
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/NOTICE
   freeswitch/branches/seven/libs/apr-util/NWGNUmakefile
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/NWGNUmakefile
   freeswitch/branches/seven/libs/apr-util/apr-util.pc.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/apr-util.pc.in
   freeswitch/branches/seven/libs/apr-util/apr-util.spec
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/apr-util.spec
   freeswitch/branches/seven/libs/apr-util/aprutil.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/aprutil.dsp
   freeswitch/branches/seven/libs/apr-util/aprutil.dsw
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/aprutil.dsw
   freeswitch/branches/seven/libs/apr-util/apu-config.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/apu-config.in
   freeswitch/branches/seven/libs/apr-util/buckets/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/apr-util/buckets/
   freeswitch/branches/seven/libs/apr-util/buckets/apr_brigade.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/buckets/apr_brigade.c
   freeswitch/branches/seven/libs/apr-util/buckets/apr_buckets.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/buckets/apr_buckets.c
   freeswitch/branches/seven/libs/apr-util/buckets/apr_buckets_alloc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/buckets/apr_buckets_alloc.c
   freeswitch/branches/seven/libs/apr-util/buckets/apr_buckets_eos.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/buckets/apr_buckets_eos.c
   freeswitch/branches/seven/libs/apr-util/buckets/apr_buckets_file.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/buckets/apr_buckets_file.c
   freeswitch/branches/seven/libs/apr-util/buckets/apr_buckets_flush.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/buckets/apr_buckets_flush.c
   freeswitch/branches/seven/libs/apr-util/buckets/apr_buckets_heap.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/buckets/apr_buckets_heap.c
   freeswitch/branches/seven/libs/apr-util/buckets/apr_buckets_mmap.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/buckets/apr_buckets_mmap.c
   freeswitch/branches/seven/libs/apr-util/buckets/apr_buckets_pipe.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/buckets/apr_buckets_pipe.c
   freeswitch/branches/seven/libs/apr-util/buckets/apr_buckets_pool.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/buckets/apr_buckets_pool.c
   freeswitch/branches/seven/libs/apr-util/buckets/apr_buckets_refcount.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/buckets/apr_buckets_refcount.c
   freeswitch/branches/seven/libs/apr-util/buckets/apr_buckets_simple.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/buckets/apr_buckets_simple.c
   freeswitch/branches/seven/libs/apr-util/buckets/apr_buckets_socket.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/buckets/apr_buckets_socket.c
   freeswitch/branches/seven/libs/apr-util/build/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/apr-util/build/
   freeswitch/branches/seven/libs/apr-util/build-outputs.mk
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/build-outputs.mk
   freeswitch/branches/seven/libs/apr-util/build.conf
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/build.conf
   freeswitch/branches/seven/libs/apr-util/build/apu-conf.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/build/apu-conf.m4
   freeswitch/branches/seven/libs/apr-util/build/apu-hints.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/build/apu-hints.m4
   freeswitch/branches/seven/libs/apr-util/build/apu-iconv.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/build/apu-iconv.m4
   freeswitch/branches/seven/libs/apr-util/build/dbd.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/build/dbd.m4
   freeswitch/branches/seven/libs/apr-util/build/dbm.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/build/dbm.m4
   freeswitch/branches/seven/libs/apr-util/build/find_apu.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/build/find_apu.m4
   freeswitch/branches/seven/libs/apr-util/build/mkdir.sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/build/mkdir.sh
   freeswitch/branches/seven/libs/apr-util/build/pkg/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/apr-util/build/pkg/
   freeswitch/branches/seven/libs/apr-util/build/pkg/README
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/build/pkg/README
   freeswitch/branches/seven/libs/apr-util/build/pkg/buildpkg.sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/build/pkg/buildpkg.sh
   freeswitch/branches/seven/libs/apr-util/build/pkg/pkginfo.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/build/pkg/pkginfo.in
   freeswitch/branches/seven/libs/apr-util/build/rpm/
      - copied from r11459, /freeswitch/trunk/libs/apr-util/build/rpm/
   freeswitch/branches/seven/libs/apr-util/build/rpm/apr-util.spec.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/build/rpm/apr-util.spec.in
   freeswitch/branches/seven/libs/apr-util/build/w32locatedb.pl
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/build/w32locatedb.pl
   freeswitch/branches/seven/libs/apr-util/buildconf
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/buildconf
   freeswitch/branches/seven/libs/apr-util/config.layout
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/config.layout
   freeswitch/branches/seven/libs/apr-util/configure.gnu
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/configure.gnu
   freeswitch/branches/seven/libs/apr-util/configure.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/configure.in
   freeswitch/branches/seven/libs/apr-util/crypto/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/apr-util/crypto/
   freeswitch/branches/seven/libs/apr-util/crypto/apr_md4.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/crypto/apr_md4.c
   freeswitch/branches/seven/libs/apr-util/crypto/apr_md5.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/crypto/apr_md5.c
   freeswitch/branches/seven/libs/apr-util/crypto/apr_sha1.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/crypto/apr_sha1.c
   freeswitch/branches/seven/libs/apr-util/crypto/getuuid.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/crypto/getuuid.c
   freeswitch/branches/seven/libs/apr-util/crypto/uuid.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/crypto/uuid.c
   freeswitch/branches/seven/libs/apr-util/dbd/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/apr-util/dbd/
   freeswitch/branches/seven/libs/apr-util/dbd/apr_dbd.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/dbd/apr_dbd.c
   freeswitch/branches/seven/libs/apr-util/dbd/apr_dbd_pgsql.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/dbd/apr_dbd_pgsql.c
   freeswitch/branches/seven/libs/apr-util/dbd/apr_dbd_sqlite2.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/dbd/apr_dbd_sqlite2.c
   freeswitch/branches/seven/libs/apr-util/dbd/apr_dbd_sqlite3.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/dbd/apr_dbd_sqlite3.c
   freeswitch/branches/seven/libs/apr-util/dbm/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/apr-util/dbm/
   freeswitch/branches/seven/libs/apr-util/dbm/apr_dbm.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/dbm/apr_dbm.c
   freeswitch/branches/seven/libs/apr-util/dbm/apr_dbm_berkeleydb.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/dbm/apr_dbm_berkeleydb.c
   freeswitch/branches/seven/libs/apr-util/dbm/apr_dbm_gdbm.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/dbm/apr_dbm_gdbm.c
   freeswitch/branches/seven/libs/apr-util/dbm/apr_dbm_ndbm.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/dbm/apr_dbm_ndbm.c
   freeswitch/branches/seven/libs/apr-util/dbm/apr_dbm_sdbm.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/dbm/apr_dbm_sdbm.c
   freeswitch/branches/seven/libs/apr-util/dbm/sdbm/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/apr-util/dbm/sdbm/
   freeswitch/branches/seven/libs/apr-util/dbm/sdbm/sdbm.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/dbm/sdbm/sdbm.c
   freeswitch/branches/seven/libs/apr-util/dbm/sdbm/sdbm_hash.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/dbm/sdbm/sdbm_hash.c
   freeswitch/branches/seven/libs/apr-util/dbm/sdbm/sdbm_lock.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/dbm/sdbm/sdbm_lock.c
   freeswitch/branches/seven/libs/apr-util/dbm/sdbm/sdbm_pair.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/dbm/sdbm/sdbm_pair.c
   freeswitch/branches/seven/libs/apr-util/dbm/sdbm/sdbm_pair.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/dbm/sdbm/sdbm_pair.h
   freeswitch/branches/seven/libs/apr-util/dbm/sdbm/sdbm_private.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/dbm/sdbm/sdbm_private.h
   freeswitch/branches/seven/libs/apr-util/dbm/sdbm/sdbm_tune.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/dbm/sdbm/sdbm_tune.h
   freeswitch/branches/seven/libs/apr-util/docs/
      - copied from r11459, /freeswitch/trunk/libs/apr-util/docs/
   freeswitch/branches/seven/libs/apr-util/docs/doxygen.conf
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/docs/doxygen.conf
   freeswitch/branches/seven/libs/apr-util/encoding/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/apr-util/encoding/
   freeswitch/branches/seven/libs/apr-util/encoding/apr_base64.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/encoding/apr_base64.c
   freeswitch/branches/seven/libs/apr-util/export_vars.sh.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/export_vars.sh.in
   freeswitch/branches/seven/libs/apr-util/hooks/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/apr-util/hooks/
   freeswitch/branches/seven/libs/apr-util/hooks/apr_hooks.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/hooks/apr_hooks.c
   freeswitch/branches/seven/libs/apr-util/include/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/apr-util/include/
   freeswitch/branches/seven/libs/apr-util/include/apr_anylock.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/include/apr_anylock.h
   freeswitch/branches/seven/libs/apr-util/include/apr_base64.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/include/apr_base64.h
   freeswitch/branches/seven/libs/apr-util/include/apr_buckets.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/include/apr_buckets.h
   freeswitch/branches/seven/libs/apr-util/include/apr_date.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/include/apr_date.h
   freeswitch/branches/seven/libs/apr-util/include/apr_dbd.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/include/apr_dbd.h
   freeswitch/branches/seven/libs/apr-util/include/apr_dbm.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/include/apr_dbm.h
   freeswitch/branches/seven/libs/apr-util/include/apr_hooks.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/include/apr_hooks.h
   freeswitch/branches/seven/libs/apr-util/include/apr_ldap.h.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/include/apr_ldap.h.in
   freeswitch/branches/seven/libs/apr-util/include/apr_ldap.hnw
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/include/apr_ldap.hnw
   freeswitch/branches/seven/libs/apr-util/include/apr_ldap.hw
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/include/apr_ldap.hw
   freeswitch/branches/seven/libs/apr-util/include/apr_ldap_init.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/include/apr_ldap_init.h
   freeswitch/branches/seven/libs/apr-util/include/apr_ldap_option.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/include/apr_ldap_option.h
   freeswitch/branches/seven/libs/apr-util/include/apr_ldap_url.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/include/apr_ldap_url.h
   freeswitch/branches/seven/libs/apr-util/include/apr_md4.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/include/apr_md4.h
   freeswitch/branches/seven/libs/apr-util/include/apr_md5.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/include/apr_md5.h
   freeswitch/branches/seven/libs/apr-util/include/apr_optional.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/include/apr_optional.h
   freeswitch/branches/seven/libs/apr-util/include/apr_optional_hooks.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/include/apr_optional_hooks.h
   freeswitch/branches/seven/libs/apr-util/include/apr_queue.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/include/apr_queue.h
   freeswitch/branches/seven/libs/apr-util/include/apr_reslist.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/include/apr_reslist.h
   freeswitch/branches/seven/libs/apr-util/include/apr_rmm.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/include/apr_rmm.h
   freeswitch/branches/seven/libs/apr-util/include/apr_sdbm.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/include/apr_sdbm.h
   freeswitch/branches/seven/libs/apr-util/include/apr_sha1.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/include/apr_sha1.h
   freeswitch/branches/seven/libs/apr-util/include/apr_strmatch.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/include/apr_strmatch.h
   freeswitch/branches/seven/libs/apr-util/include/apr_uri.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/include/apr_uri.h
   freeswitch/branches/seven/libs/apr-util/include/apr_uuid.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/include/apr_uuid.h
   freeswitch/branches/seven/libs/apr-util/include/apr_xlate.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/include/apr_xlate.h
   freeswitch/branches/seven/libs/apr-util/include/apr_xml.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/include/apr_xml.h
   freeswitch/branches/seven/libs/apr-util/include/apu.h.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/include/apu.h.in
   freeswitch/branches/seven/libs/apr-util/include/apu.hnw
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/include/apu.hnw
   freeswitch/branches/seven/libs/apr-util/include/apu.hw
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/include/apu.hw
   freeswitch/branches/seven/libs/apr-util/include/apu_version.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/include/apu_version.h
   freeswitch/branches/seven/libs/apr-util/include/apu_want.h.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/include/apu_want.h.in
   freeswitch/branches/seven/libs/apr-util/include/apu_want.hnw
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/include/apu_want.hnw
   freeswitch/branches/seven/libs/apr-util/include/apu_want.hw
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/include/apu_want.hw
   freeswitch/branches/seven/libs/apr-util/include/private/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/apr-util/include/private/
   freeswitch/branches/seven/libs/apr-util/include/private/apr_dbd_internal.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/include/private/apr_dbd_internal.h
   freeswitch/branches/seven/libs/apr-util/include/private/apr_dbm_private.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/include/private/apr_dbm_private.h
   freeswitch/branches/seven/libs/apr-util/include/private/apu_config.hw
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/include/private/apu_config.hw
   freeswitch/branches/seven/libs/apr-util/include/private/apu_select_dbm.h.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/include/private/apu_select_dbm.h.in
   freeswitch/branches/seven/libs/apr-util/include/private/apu_select_dbm.hw
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/include/private/apu_select_dbm.hw
   freeswitch/branches/seven/libs/apr-util/ldap/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/apr-util/ldap/
   freeswitch/branches/seven/libs/apr-util/ldap/NWGNUmakefile
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/ldap/NWGNUmakefile
   freeswitch/branches/seven/libs/apr-util/ldap/apr_ldap_init.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/ldap/apr_ldap_init.c
   freeswitch/branches/seven/libs/apr-util/ldap/apr_ldap_option.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/ldap/apr_ldap_option.c
   freeswitch/branches/seven/libs/apr-util/ldap/apr_ldap_url.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/ldap/apr_ldap_url.c
   freeswitch/branches/seven/libs/apr-util/libaprutil.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/libaprutil.dsp
   freeswitch/branches/seven/libs/apr-util/libaprutil.rc
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/libaprutil.rc
   freeswitch/branches/seven/libs/apr-util/misc/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/apr-util/misc/
   freeswitch/branches/seven/libs/apr-util/misc/apr_date.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/misc/apr_date.c
   freeswitch/branches/seven/libs/apr-util/misc/apr_queue.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/misc/apr_queue.c
   freeswitch/branches/seven/libs/apr-util/misc/apr_reslist.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/misc/apr_reslist.c
   freeswitch/branches/seven/libs/apr-util/misc/apr_rmm.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/misc/apr_rmm.c
   freeswitch/branches/seven/libs/apr-util/misc/apu_version.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/misc/apu_version.c
   freeswitch/branches/seven/libs/apr-util/renames_pending
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/renames_pending
   freeswitch/branches/seven/libs/apr-util/strmatch/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/apr-util/strmatch/
   freeswitch/branches/seven/libs/apr-util/strmatch/apr_strmatch.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/strmatch/apr_strmatch.c
   freeswitch/branches/seven/libs/apr-util/test/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/apr-util/test/
   freeswitch/branches/seven/libs/apr-util/test/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/test/Makefile.in
   freeswitch/branches/seven/libs/apr-util/test/Makefile.win
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/test/Makefile.win
   freeswitch/branches/seven/libs/apr-util/test/NWGNUmakefile
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/test/NWGNUmakefile
   freeswitch/branches/seven/libs/apr-util/test/abts.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/test/abts.c
   freeswitch/branches/seven/libs/apr-util/test/abts.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/test/abts.h
   freeswitch/branches/seven/libs/apr-util/test/abts_tests.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/test/abts_tests.h
   freeswitch/branches/seven/libs/apr-util/test/data/
      - copied from r11459, /freeswitch/trunk/libs/apr-util/test/data/
   freeswitch/branches/seven/libs/apr-util/test/dbd.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/test/dbd.c
   freeswitch/branches/seven/libs/apr-util/test/nw_misc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/test/nw_misc.c
   freeswitch/branches/seven/libs/apr-util/test/nwgnuaputest
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/test/nwgnuaputest
   freeswitch/branches/seven/libs/apr-util/test/test_apu.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/test/test_apu.h
   freeswitch/branches/seven/libs/apr-util/test/testbuckets.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/test/testbuckets.c
   freeswitch/branches/seven/libs/apr-util/test/testdate.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/test/testdate.c
   freeswitch/branches/seven/libs/apr-util/test/testdbd.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/test/testdbd.c
   freeswitch/branches/seven/libs/apr-util/test/testdbm.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/test/testdbm.c
   freeswitch/branches/seven/libs/apr-util/test/testldap.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/test/testldap.c
   freeswitch/branches/seven/libs/apr-util/test/testmd4.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/test/testmd4.c
   freeswitch/branches/seven/libs/apr-util/test/testmd5.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/test/testmd5.c
   freeswitch/branches/seven/libs/apr-util/test/testpass.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/test/testpass.c
   freeswitch/branches/seven/libs/apr-util/test/testqueue.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/test/testqueue.c
   freeswitch/branches/seven/libs/apr-util/test/testreslist.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/test/testreslist.c
   freeswitch/branches/seven/libs/apr-util/test/testrmm.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/test/testrmm.c
   freeswitch/branches/seven/libs/apr-util/test/teststrmatch.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/test/teststrmatch.c
   freeswitch/branches/seven/libs/apr-util/test/testuri.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/test/testuri.c
   freeswitch/branches/seven/libs/apr-util/test/testutil.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/test/testutil.c
   freeswitch/branches/seven/libs/apr-util/test/testutil.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/test/testutil.h
   freeswitch/branches/seven/libs/apr-util/test/testuuid.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/test/testuuid.c
   freeswitch/branches/seven/libs/apr-util/test/testxlate.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/test/testxlate.c
   freeswitch/branches/seven/libs/apr-util/test/testxml.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/test/testxml.c
   freeswitch/branches/seven/libs/apr-util/uri/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/apr-util/uri/
   freeswitch/branches/seven/libs/apr-util/uri/NWGNUmakefile
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/uri/NWGNUmakefile
   freeswitch/branches/seven/libs/apr-util/uri/apr_uri.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/uri/apr_uri.c
   freeswitch/branches/seven/libs/apr-util/xlate/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/apr-util/xlate/
   freeswitch/branches/seven/libs/apr-util/xlate/xlate.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/xlate/xlate.c
   freeswitch/branches/seven/libs/apr-util/xml/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/apr-util/xml/
   freeswitch/branches/seven/libs/apr-util/xml/NWGNUmakefile
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/xml/NWGNUmakefile
   freeswitch/branches/seven/libs/apr-util/xml/apr_xml.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/xml/apr_xml.c
   freeswitch/branches/seven/libs/apr-util/xml/expat/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/apr-util/xml/expat/
   freeswitch/branches/seven/libs/apr-util/xml/expat/COPYING
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/xml/expat/COPYING
   freeswitch/branches/seven/libs/apr-util/xml/expat/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/xml/expat/Makefile.in
   freeswitch/branches/seven/libs/apr-util/xml/expat/README
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/xml/expat/README
   freeswitch/branches/seven/libs/apr-util/xml/expat/buildconf.sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/xml/expat/buildconf.sh
   freeswitch/branches/seven/libs/apr-util/xml/expat/configure.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/xml/expat/configure.in
   freeswitch/branches/seven/libs/apr-util/xml/expat/conftools/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/apr-util/xml/expat/conftools/
   freeswitch/branches/seven/libs/apr-util/xml/expat/conftools/PrintPath
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/xml/expat/conftools/PrintPath
   freeswitch/branches/seven/libs/apr-util/xml/expat/conftools/config.guess
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/xml/expat/conftools/config.guess
   freeswitch/branches/seven/libs/apr-util/xml/expat/conftools/config.sub
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/xml/expat/conftools/config.sub
   freeswitch/branches/seven/libs/apr-util/xml/expat/conftools/install-sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/xml/expat/conftools/install-sh
   freeswitch/branches/seven/libs/apr-util/xml/expat/conftools/missing
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/xml/expat/conftools/missing
   freeswitch/branches/seven/libs/apr-util/xml/expat/conftools/mkinstalldirs
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/xml/expat/conftools/mkinstalldirs
   freeswitch/branches/seven/libs/apr-util/xml/expat/lib/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/apr-util/xml/expat/lib/
   freeswitch/branches/seven/libs/apr-util/xml/expat/lib/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/xml/expat/lib/Makefile.in
   freeswitch/branches/seven/libs/apr-util/xml/expat/lib/ascii.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/xml/expat/lib/ascii.h
   freeswitch/branches/seven/libs/apr-util/xml/expat/lib/asciitab.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/xml/expat/lib/asciitab.h
   freeswitch/branches/seven/libs/apr-util/xml/expat/lib/config.hnw
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/xml/expat/lib/config.hnw
   freeswitch/branches/seven/libs/apr-util/xml/expat/lib/expat.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/xml/expat/lib/expat.dsp
   freeswitch/branches/seven/libs/apr-util/xml/expat/lib/expat.h.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/xml/expat/lib/expat.h.in
   freeswitch/branches/seven/libs/apr-util/xml/expat/lib/iasciitab.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/xml/expat/lib/iasciitab.h
   freeswitch/branches/seven/libs/apr-util/xml/expat/lib/latin1tab.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/xml/expat/lib/latin1tab.h
   freeswitch/branches/seven/libs/apr-util/xml/expat/lib/map_osd_ebcdic_df04_1.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/xml/expat/lib/map_osd_ebcdic_df04_1.h
   freeswitch/branches/seven/libs/apr-util/xml/expat/lib/nametab.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/xml/expat/lib/nametab.h
   freeswitch/branches/seven/libs/apr-util/xml/expat/lib/osd_ebcdic_df04_1.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/xml/expat/lib/osd_ebcdic_df04_1.h
   freeswitch/branches/seven/libs/apr-util/xml/expat/lib/utf8tab.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/xml/expat/lib/utf8tab.h
   freeswitch/branches/seven/libs/apr-util/xml/expat/lib/winconfig.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/xml/expat/lib/winconfig.h
   freeswitch/branches/seven/libs/apr-util/xml/expat/lib/xml.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/xml/expat/lib/xml.dsp
   freeswitch/branches/seven/libs/apr-util/xml/expat/lib/xmlparse.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/xml/expat/lib/xmlparse.c
   freeswitch/branches/seven/libs/apr-util/xml/expat/lib/xmlrole.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/xml/expat/lib/xmlrole.c
   freeswitch/branches/seven/libs/apr-util/xml/expat/lib/xmlrole.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/xml/expat/lib/xmlrole.h
   freeswitch/branches/seven/libs/apr-util/xml/expat/lib/xmltok.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/xml/expat/lib/xmltok.c
   freeswitch/branches/seven/libs/apr-util/xml/expat/lib/xmltok.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/xml/expat/lib/xmltok.h
   freeswitch/branches/seven/libs/apr-util/xml/expat/lib/xmltok_impl.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/xml/expat/lib/xmltok_impl.c
   freeswitch/branches/seven/libs/apr-util/xml/expat/lib/xmltok_impl.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/xml/expat/lib/xmltok_impl.h
   freeswitch/branches/seven/libs/apr-util/xml/expat/lib/xmltok_ns.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr-util/xml/expat/lib/xmltok_ns.c
   freeswitch/branches/seven/libs/apr/.update
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/.update
   freeswitch/branches/seven/libs/apr/CHANGES
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/CHANGES
   freeswitch/branches/seven/libs/apr/LICENSE
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/LICENSE
   freeswitch/branches/seven/libs/apr/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/Makefile.in
   freeswitch/branches/seven/libs/apr/NOTICE
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/NOTICE
   freeswitch/branches/seven/libs/apr/NWGNUmakefile
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/NWGNUmakefile
   freeswitch/branches/seven/libs/apr/README.dev
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/README.dev
   freeswitch/branches/seven/libs/apr/apr-config.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/apr-config.in
   freeswitch/branches/seven/libs/apr/apr.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/apr.dsp
   freeswitch/branches/seven/libs/apr/apr.dsw
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/apr.dsw
   freeswitch/branches/seven/libs/apr/apr.pc.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/apr.pc.in
   freeswitch/branches/seven/libs/apr/apr.spec
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/apr.spec
   freeswitch/branches/seven/libs/apr/atomic/
      - copied from r11459, /freeswitch/trunk/libs/apr/atomic/
   freeswitch/branches/seven/libs/apr/atomic/netware/
      - copied from r11459, /freeswitch/trunk/libs/apr/atomic/netware/
   freeswitch/branches/seven/libs/apr/atomic/netware/apr_atomic.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/atomic/netware/apr_atomic.c
   freeswitch/branches/seven/libs/apr/atomic/os390/
      - copied from r11459, /freeswitch/trunk/libs/apr/atomic/os390/
   freeswitch/branches/seven/libs/apr/atomic/os390/atomic.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/atomic/os390/atomic.c
   freeswitch/branches/seven/libs/apr/atomic/unix/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/apr/atomic/unix/
   freeswitch/branches/seven/libs/apr/atomic/unix/apr_atomic.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/atomic/unix/apr_atomic.c
   freeswitch/branches/seven/libs/apr/atomic/win32/
      - copied from r11459, /freeswitch/trunk/libs/apr/atomic/win32/
   freeswitch/branches/seven/libs/apr/atomic/win32/apr_atomic.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/atomic/win32/apr_atomic.c
   freeswitch/branches/seven/libs/apr/build/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/apr/build/
   freeswitch/branches/seven/libs/apr/build-outputs.mk
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/build-outputs.mk
   freeswitch/branches/seven/libs/apr/build.conf
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/build.conf
   freeswitch/branches/seven/libs/apr/build/MakeEtags
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/build/MakeEtags
   freeswitch/branches/seven/libs/apr/build/NWGNUenvironment.inc
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/build/NWGNUenvironment.inc
   freeswitch/branches/seven/libs/apr/build/NWGNUhead.inc
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/build/NWGNUhead.inc
   freeswitch/branches/seven/libs/apr/build/NWGNUmakefile
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/build/NWGNUmakefile
   freeswitch/branches/seven/libs/apr/build/NWGNUtail.inc
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/build/NWGNUtail.inc
   freeswitch/branches/seven/libs/apr/build/PrintPath
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/build/PrintPath
   freeswitch/branches/seven/libs/apr/build/aplibtool.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/build/aplibtool.c
   freeswitch/branches/seven/libs/apr/build/apr_app.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/build/apr_app.dsp
   freeswitch/branches/seven/libs/apr/build/apr_common.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/build/apr_common.m4
   freeswitch/branches/seven/libs/apr/build/apr_hints.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/build/apr_hints.m4
   freeswitch/branches/seven/libs/apr/build/apr_network.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/build/apr_network.m4
   freeswitch/branches/seven/libs/apr/build/apr_rules.mk.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/build/apr_rules.mk.in
   freeswitch/branches/seven/libs/apr/build/apr_threads.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/build/apr_threads.m4
   freeswitch/branches/seven/libs/apr/build/ax_compiler_vendor.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/build/ax_compiler_vendor.m4
   freeswitch/branches/seven/libs/apr/build/buildcheck.sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/build/buildcheck.sh
   freeswitch/branches/seven/libs/apr/build/config.sub
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/build/config.sub
   freeswitch/branches/seven/libs/apr/build/cvtdsp.pl
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/build/cvtdsp.pl
   freeswitch/branches/seven/libs/apr/build/find_apr.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/build/find_apr.m4
   freeswitch/branches/seven/libs/apr/build/fixwin32mak.pl
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/build/fixwin32mak.pl
   freeswitch/branches/seven/libs/apr/build/gen-build.py
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/build/gen-build.py
   freeswitch/branches/seven/libs/apr/build/get-version.sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/build/get-version.sh
   freeswitch/branches/seven/libs/apr/build/install.sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/build/install.sh
   freeswitch/branches/seven/libs/apr/build/jlibtool.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/build/jlibtool.c
   freeswitch/branches/seven/libs/apr/build/libapr_app.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/build/libapr_app.dsp
   freeswitch/branches/seven/libs/apr/build/lineends.pl
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/build/lineends.pl
   freeswitch/branches/seven/libs/apr/build/make_exports.awk
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/build/make_exports.awk
   freeswitch/branches/seven/libs/apr/build/make_nw_export.awk
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/build/make_nw_export.awk
   freeswitch/branches/seven/libs/apr/build/make_var_export.awk
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/build/make_var_export.awk
   freeswitch/branches/seven/libs/apr/build/mkdir.sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/build/mkdir.sh
   freeswitch/branches/seven/libs/apr/build/nw_export.inc
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/build/nw_export.inc
   freeswitch/branches/seven/libs/apr/build/nw_ver.awk
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/build/nw_ver.awk
   freeswitch/branches/seven/libs/apr/build/pkg/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/apr/build/pkg/
   freeswitch/branches/seven/libs/apr/build/pkg/README
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/build/pkg/README
   freeswitch/branches/seven/libs/apr/build/pkg/buildpkg.sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/build/pkg/buildpkg.sh
   freeswitch/branches/seven/libs/apr/build/pkg/pkginfo.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/build/pkg/pkginfo.in
   freeswitch/branches/seven/libs/apr/build/prebuildNW.bat
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/build/prebuildNW.bat
   freeswitch/branches/seven/libs/apr/build/rpm/
      - copied from r11459, /freeswitch/trunk/libs/apr/build/rpm/
   freeswitch/branches/seven/libs/apr/build/rpm/apr.spec.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/build/rpm/apr.spec.in
   freeswitch/branches/seven/libs/apr/build/run-gcov.sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/build/run-gcov.sh
   freeswitch/branches/seven/libs/apr/build/win32ver.awk
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/build/win32ver.awk
   freeswitch/branches/seven/libs/apr/buildconf
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/buildconf
   freeswitch/branches/seven/libs/apr/config.layout
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/config.layout
   freeswitch/branches/seven/libs/apr/configure.gnu
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/configure.gnu
   freeswitch/branches/seven/libs/apr/configure.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/configure.in
   freeswitch/branches/seven/libs/apr/docs/
      - copied from r11459, /freeswitch/trunk/libs/apr/docs/
   freeswitch/branches/seven/libs/apr/docs/APRDesign.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/docs/APRDesign.html
   freeswitch/branches/seven/libs/apr/docs/canonical_filenames.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/docs/canonical_filenames.html
   freeswitch/branches/seven/libs/apr/docs/doxygen.conf
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/docs/doxygen.conf
   freeswitch/branches/seven/libs/apr/docs/incomplete_types
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/docs/incomplete_types
   freeswitch/branches/seven/libs/apr/docs/non_apr_programs
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/docs/non_apr_programs
   freeswitch/branches/seven/libs/apr/docs/pool-design.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/docs/pool-design.html
   freeswitch/branches/seven/libs/apr/docs/win32_builds.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/docs/win32_builds.html
   freeswitch/branches/seven/libs/apr/dso/
      - copied from r11459, /freeswitch/trunk/libs/apr/dso/
   freeswitch/branches/seven/libs/apr/dso/aix/
      - copied from r11459, /freeswitch/trunk/libs/apr/dso/aix/
   freeswitch/branches/seven/libs/apr/dso/aix/dso.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/dso/aix/dso.c
   freeswitch/branches/seven/libs/apr/dso/beos/
      - copied from r11459, /freeswitch/trunk/libs/apr/dso/beos/
   freeswitch/branches/seven/libs/apr/dso/beos/dso.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/dso/beos/dso.c
   freeswitch/branches/seven/libs/apr/dso/netware/
      - copied from r11459, /freeswitch/trunk/libs/apr/dso/netware/
   freeswitch/branches/seven/libs/apr/dso/netware/dso.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/dso/netware/dso.c
   freeswitch/branches/seven/libs/apr/dso/os2/
      - copied from r11459, /freeswitch/trunk/libs/apr/dso/os2/
   freeswitch/branches/seven/libs/apr/dso/os2/dso.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/dso/os2/dso.c
   freeswitch/branches/seven/libs/apr/dso/os390/
      - copied from r11459, /freeswitch/trunk/libs/apr/dso/os390/
   freeswitch/branches/seven/libs/apr/dso/os390/dso.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/dso/os390/dso.c
   freeswitch/branches/seven/libs/apr/dso/unix/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/apr/dso/unix/
   freeswitch/branches/seven/libs/apr/dso/unix/dso.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/dso/unix/dso.c
   freeswitch/branches/seven/libs/apr/dso/win32/
      - copied from r11459, /freeswitch/trunk/libs/apr/dso/win32/
   freeswitch/branches/seven/libs/apr/dso/win32/dso.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/dso/win32/dso.c
   freeswitch/branches/seven/libs/apr/emacs-mode
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/emacs-mode
   freeswitch/branches/seven/libs/apr/file_io/
      - copied from r11459, /freeswitch/trunk/libs/apr/file_io/
   freeswitch/branches/seven/libs/apr/file_io/netware/
      - copied from r11459, /freeswitch/trunk/libs/apr/file_io/netware/
   freeswitch/branches/seven/libs/apr/file_io/netware/filepath.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/file_io/netware/filepath.c
   freeswitch/branches/seven/libs/apr/file_io/netware/filestat.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/file_io/netware/filestat.c
   freeswitch/branches/seven/libs/apr/file_io/netware/filesys.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/file_io/netware/filesys.c
   freeswitch/branches/seven/libs/apr/file_io/netware/flock.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/file_io/netware/flock.c
   freeswitch/branches/seven/libs/apr/file_io/netware/mktemp.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/file_io/netware/mktemp.c
   freeswitch/branches/seven/libs/apr/file_io/netware/pipe.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/file_io/netware/pipe.c
   freeswitch/branches/seven/libs/apr/file_io/os2/
      - copied from r11459, /freeswitch/trunk/libs/apr/file_io/os2/
   freeswitch/branches/seven/libs/apr/file_io/os2/copy.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/file_io/os2/copy.c
   freeswitch/branches/seven/libs/apr/file_io/os2/dir.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/file_io/os2/dir.c
   freeswitch/branches/seven/libs/apr/file_io/os2/dir_make_recurse.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/file_io/os2/dir_make_recurse.c
   freeswitch/branches/seven/libs/apr/file_io/os2/fileacc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/file_io/os2/fileacc.c
   freeswitch/branches/seven/libs/apr/file_io/os2/filedup.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/file_io/os2/filedup.c
   freeswitch/branches/seven/libs/apr/file_io/os2/filepath.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/file_io/os2/filepath.c
   freeswitch/branches/seven/libs/apr/file_io/os2/filepath_util.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/file_io/os2/filepath_util.c
   freeswitch/branches/seven/libs/apr/file_io/os2/filestat.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/file_io/os2/filestat.c
   freeswitch/branches/seven/libs/apr/file_io/os2/filesys.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/file_io/os2/filesys.c
   freeswitch/branches/seven/libs/apr/file_io/os2/flock.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/file_io/os2/flock.c
   freeswitch/branches/seven/libs/apr/file_io/os2/fullrw.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/file_io/os2/fullrw.c
   freeswitch/branches/seven/libs/apr/file_io/os2/maperrorcode.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/file_io/os2/maperrorcode.c
   freeswitch/branches/seven/libs/apr/file_io/os2/mktemp.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/file_io/os2/mktemp.c
   freeswitch/branches/seven/libs/apr/file_io/os2/open.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/file_io/os2/open.c
   freeswitch/branches/seven/libs/apr/file_io/os2/pipe.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/file_io/os2/pipe.c
   freeswitch/branches/seven/libs/apr/file_io/os2/readwrite.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/file_io/os2/readwrite.c
   freeswitch/branches/seven/libs/apr/file_io/os2/seek.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/file_io/os2/seek.c
   freeswitch/branches/seven/libs/apr/file_io/os2/tempdir.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/file_io/os2/tempdir.c
   freeswitch/branches/seven/libs/apr/file_io/unix/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/apr/file_io/unix/
   freeswitch/branches/seven/libs/apr/file_io/unix/copy.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/file_io/unix/copy.c
   freeswitch/branches/seven/libs/apr/file_io/unix/dir.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/file_io/unix/dir.c
   freeswitch/branches/seven/libs/apr/file_io/unix/fileacc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/file_io/unix/fileacc.c
   freeswitch/branches/seven/libs/apr/file_io/unix/filedup.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/file_io/unix/filedup.c
   freeswitch/branches/seven/libs/apr/file_io/unix/filepath.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/file_io/unix/filepath.c
   freeswitch/branches/seven/libs/apr/file_io/unix/filepath_util.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/file_io/unix/filepath_util.c
   freeswitch/branches/seven/libs/apr/file_io/unix/filestat.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/file_io/unix/filestat.c
   freeswitch/branches/seven/libs/apr/file_io/unix/flock.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/file_io/unix/flock.c
   freeswitch/branches/seven/libs/apr/file_io/unix/fullrw.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/file_io/unix/fullrw.c
   freeswitch/branches/seven/libs/apr/file_io/unix/mktemp.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/file_io/unix/mktemp.c
   freeswitch/branches/seven/libs/apr/file_io/unix/open.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/file_io/unix/open.c
   freeswitch/branches/seven/libs/apr/file_io/unix/pipe.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/file_io/unix/pipe.c
   freeswitch/branches/seven/libs/apr/file_io/unix/readwrite.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/file_io/unix/readwrite.c
   freeswitch/branches/seven/libs/apr/file_io/unix/seek.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/file_io/unix/seek.c
   freeswitch/branches/seven/libs/apr/file_io/unix/tempdir.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/file_io/unix/tempdir.c
   freeswitch/branches/seven/libs/apr/file_io/win32/
      - copied from r11459, /freeswitch/trunk/libs/apr/file_io/win32/
   freeswitch/branches/seven/libs/apr/file_io/win32/dir.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/file_io/win32/dir.c
   freeswitch/branches/seven/libs/apr/file_io/win32/filedup.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/file_io/win32/filedup.c
   freeswitch/branches/seven/libs/apr/file_io/win32/filepath.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/file_io/win32/filepath.c
   freeswitch/branches/seven/libs/apr/file_io/win32/filestat.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/file_io/win32/filestat.c
   freeswitch/branches/seven/libs/apr/file_io/win32/filesys.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/file_io/win32/filesys.c
   freeswitch/branches/seven/libs/apr/file_io/win32/flock.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/file_io/win32/flock.c
   freeswitch/branches/seven/libs/apr/file_io/win32/open.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/file_io/win32/open.c
   freeswitch/branches/seven/libs/apr/file_io/win32/pipe.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/file_io/win32/pipe.c
   freeswitch/branches/seven/libs/apr/file_io/win32/readwrite.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/file_io/win32/readwrite.c
   freeswitch/branches/seven/libs/apr/file_io/win32/seek.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/file_io/win32/seek.c
   freeswitch/branches/seven/libs/apr/helpers/
      - copied from r11459, /freeswitch/trunk/libs/apr/helpers/
   freeswitch/branches/seven/libs/apr/helpers/apr_rename.pl
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/helpers/apr_rename.pl
   freeswitch/branches/seven/libs/apr/images/
      - copied from r11459, /freeswitch/trunk/libs/apr/images/
   freeswitch/branches/seven/libs/apr/images/ScanDocBig.jpg
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/images/ScanDocBig.jpg
   freeswitch/branches/seven/libs/apr/images/ScanDocSmall.jpg
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/images/ScanDocSmall.jpg
   freeswitch/branches/seven/libs/apr/images/ball1.gif
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/images/ball1.gif
   freeswitch/branches/seven/libs/apr/images/ball1.png
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/images/ball1.png
   freeswitch/branches/seven/libs/apr/images/ball2.gif
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/images/ball2.gif
   freeswitch/branches/seven/libs/apr/images/ball2.png
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/images/ball2.png
   freeswitch/branches/seven/libs/apr/images/bug.gif
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/images/bug.gif
   freeswitch/branches/seven/libs/apr/images/bug.png
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/images/bug.png
   freeswitch/branches/seven/libs/apr/images/caution.gif
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/images/caution.gif
   freeswitch/branches/seven/libs/apr/images/caution.png
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/images/caution.png
   freeswitch/branches/seven/libs/apr/images/master.gif
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/images/master.gif
   freeswitch/branches/seven/libs/apr/images/master.png
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/images/master.png
   freeswitch/branches/seven/libs/apr/images/tip.gif
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/images/tip.gif
   freeswitch/branches/seven/libs/apr/images/tip.png
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/images/tip.png
   freeswitch/branches/seven/libs/apr/images/warning.gif
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/images/warning.gif
   freeswitch/branches/seven/libs/apr/images/warning.png
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/images/warning.png
   freeswitch/branches/seven/libs/apr/include/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/apr/include/
   freeswitch/branches/seven/libs/apr/include/apr.h.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/apr.h.in
   freeswitch/branches/seven/libs/apr/include/apr.hnw
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/apr.hnw
   freeswitch/branches/seven/libs/apr/include/apr.hw
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/apr.hw
   freeswitch/branches/seven/libs/apr/include/apr_allocator.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/apr_allocator.h
   freeswitch/branches/seven/libs/apr/include/apr_atomic.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/apr_atomic.h
   freeswitch/branches/seven/libs/apr/include/apr_dso.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/apr_dso.h
   freeswitch/branches/seven/libs/apr/include/apr_env.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/apr_env.h
   freeswitch/branches/seven/libs/apr/include/apr_errno.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/apr_errno.h
   freeswitch/branches/seven/libs/apr/include/apr_file_info.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/apr_file_info.h
   freeswitch/branches/seven/libs/apr/include/apr_file_io.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/apr_file_io.h
   freeswitch/branches/seven/libs/apr/include/apr_fnmatch.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/apr_fnmatch.h
   freeswitch/branches/seven/libs/apr/include/apr_general.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/apr_general.h
   freeswitch/branches/seven/libs/apr/include/apr_getopt.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/apr_getopt.h
   freeswitch/branches/seven/libs/apr/include/apr_global_mutex.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/apr_global_mutex.h
   freeswitch/branches/seven/libs/apr/include/apr_hash.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/apr_hash.h
   freeswitch/branches/seven/libs/apr/include/apr_inherit.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/apr_inherit.h
   freeswitch/branches/seven/libs/apr/include/apr_lib.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/apr_lib.h
   freeswitch/branches/seven/libs/apr/include/apr_mmap.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/apr_mmap.h
   freeswitch/branches/seven/libs/apr/include/apr_network_io.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/apr_network_io.h
   freeswitch/branches/seven/libs/apr/include/apr_poll.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/apr_poll.h
   freeswitch/branches/seven/libs/apr/include/apr_pools.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/apr_pools.h
   freeswitch/branches/seven/libs/apr/include/apr_portable.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/apr_portable.h
   freeswitch/branches/seven/libs/apr/include/apr_proc_mutex.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/apr_proc_mutex.h
   freeswitch/branches/seven/libs/apr/include/apr_random.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/apr_random.h
   freeswitch/branches/seven/libs/apr/include/apr_ring.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/apr_ring.h
   freeswitch/branches/seven/libs/apr/include/apr_shm.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/apr_shm.h
   freeswitch/branches/seven/libs/apr/include/apr_signal.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/apr_signal.h
   freeswitch/branches/seven/libs/apr/include/apr_strings.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/apr_strings.h
   freeswitch/branches/seven/libs/apr/include/apr_support.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/apr_support.h
   freeswitch/branches/seven/libs/apr/include/apr_tables.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/apr_tables.h
   freeswitch/branches/seven/libs/apr/include/apr_thread_cond.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/apr_thread_cond.h
   freeswitch/branches/seven/libs/apr/include/apr_thread_mutex.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/apr_thread_mutex.h
   freeswitch/branches/seven/libs/apr/include/apr_thread_proc.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/apr_thread_proc.h
   freeswitch/branches/seven/libs/apr/include/apr_thread_rwlock.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/apr_thread_rwlock.h
   freeswitch/branches/seven/libs/apr/include/apr_time.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/apr_time.h
   freeswitch/branches/seven/libs/apr/include/apr_user.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/apr_user.h
   freeswitch/branches/seven/libs/apr/include/apr_version.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/apr_version.h
   freeswitch/branches/seven/libs/apr/include/apr_want.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/apr_want.h
   freeswitch/branches/seven/libs/apr/include/arch/
      - copied from r11459, /freeswitch/trunk/libs/apr/include/arch/
   freeswitch/branches/seven/libs/apr/include/arch/aix/
      - copied from r11459, /freeswitch/trunk/libs/apr/include/arch/aix/
   freeswitch/branches/seven/libs/apr/include/arch/aix/apr_arch_dso.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/aix/apr_arch_dso.h
   freeswitch/branches/seven/libs/apr/include/arch/apr_private_common.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/apr_private_common.h
   freeswitch/branches/seven/libs/apr/include/arch/beos/
      - copied from r11459, /freeswitch/trunk/libs/apr/include/arch/beos/
   freeswitch/branches/seven/libs/apr/include/arch/beos/apr_arch_dso.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/beos/apr_arch_dso.h
   freeswitch/branches/seven/libs/apr/include/arch/beos/apr_arch_proc_mutex.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/beos/apr_arch_proc_mutex.h
   freeswitch/branches/seven/libs/apr/include/arch/beos/apr_arch_thread_cond.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/beos/apr_arch_thread_cond.h
   freeswitch/branches/seven/libs/apr/include/arch/beos/apr_arch_thread_mutex.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/beos/apr_arch_thread_mutex.h
   freeswitch/branches/seven/libs/apr/include/arch/beos/apr_arch_thread_rwlock.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/beos/apr_arch_thread_rwlock.h
   freeswitch/branches/seven/libs/apr/include/arch/beos/apr_arch_threadproc.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/beos/apr_arch_threadproc.h
   freeswitch/branches/seven/libs/apr/include/arch/netware/
      - copied from r11459, /freeswitch/trunk/libs/apr/include/arch/netware/
   freeswitch/branches/seven/libs/apr/include/arch/netware/apr_arch_dso.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/netware/apr_arch_dso.h
   freeswitch/branches/seven/libs/apr/include/arch/netware/apr_arch_file_io.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/netware/apr_arch_file_io.h
   freeswitch/branches/seven/libs/apr/include/arch/netware/apr_arch_global_mutex.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/netware/apr_arch_global_mutex.h
   freeswitch/branches/seven/libs/apr/include/arch/netware/apr_arch_internal_time.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/netware/apr_arch_internal_time.h
   freeswitch/branches/seven/libs/apr/include/arch/netware/apr_arch_networkio.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/netware/apr_arch_networkio.h
   freeswitch/branches/seven/libs/apr/include/arch/netware/apr_arch_pre_nw.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/netware/apr_arch_pre_nw.h
   freeswitch/branches/seven/libs/apr/include/arch/netware/apr_arch_proc_mutex.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/netware/apr_arch_proc_mutex.h
   freeswitch/branches/seven/libs/apr/include/arch/netware/apr_arch_thread_cond.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/netware/apr_arch_thread_cond.h
   freeswitch/branches/seven/libs/apr/include/arch/netware/apr_arch_thread_mutex.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/netware/apr_arch_thread_mutex.h
   freeswitch/branches/seven/libs/apr/include/arch/netware/apr_arch_thread_rwlock.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/netware/apr_arch_thread_rwlock.h
   freeswitch/branches/seven/libs/apr/include/arch/netware/apr_arch_threadproc.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/netware/apr_arch_threadproc.h
   freeswitch/branches/seven/libs/apr/include/arch/netware/apr_private.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/netware/apr_private.h
   freeswitch/branches/seven/libs/apr/include/arch/os2/
      - copied from r11459, /freeswitch/trunk/libs/apr/include/arch/os2/
   freeswitch/branches/seven/libs/apr/include/arch/os2/apr_arch_dso.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/os2/apr_arch_dso.h
   freeswitch/branches/seven/libs/apr/include/arch/os2/apr_arch_file_io.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/os2/apr_arch_file_io.h
   freeswitch/branches/seven/libs/apr/include/arch/os2/apr_arch_networkio.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/os2/apr_arch_networkio.h
   freeswitch/branches/seven/libs/apr/include/arch/os2/apr_arch_os2calls.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/os2/apr_arch_os2calls.h
   freeswitch/branches/seven/libs/apr/include/arch/os2/apr_arch_proc_mutex.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/os2/apr_arch_proc_mutex.h
   freeswitch/branches/seven/libs/apr/include/arch/os2/apr_arch_thread_cond.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/os2/apr_arch_thread_cond.h
   freeswitch/branches/seven/libs/apr/include/arch/os2/apr_arch_thread_mutex.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/os2/apr_arch_thread_mutex.h
   freeswitch/branches/seven/libs/apr/include/arch/os2/apr_arch_thread_rwlock.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/os2/apr_arch_thread_rwlock.h
   freeswitch/branches/seven/libs/apr/include/arch/os2/apr_arch_threadproc.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/os2/apr_arch_threadproc.h
   freeswitch/branches/seven/libs/apr/include/arch/os390/
      - copied from r11459, /freeswitch/trunk/libs/apr/include/arch/os390/
   freeswitch/branches/seven/libs/apr/include/arch/os390/apr_arch_dso.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/os390/apr_arch_dso.h
   freeswitch/branches/seven/libs/apr/include/arch/unix/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/apr/include/arch/unix/
   freeswitch/branches/seven/libs/apr/include/arch/unix/apr_arch_dso.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/unix/apr_arch_dso.h
   freeswitch/branches/seven/libs/apr/include/arch/unix/apr_arch_file_io.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/unix/apr_arch_file_io.h
   freeswitch/branches/seven/libs/apr/include/arch/unix/apr_arch_global_mutex.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/unix/apr_arch_global_mutex.h
   freeswitch/branches/seven/libs/apr/include/arch/unix/apr_arch_inherit.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/unix/apr_arch_inherit.h
   freeswitch/branches/seven/libs/apr/include/arch/unix/apr_arch_internal_time.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/unix/apr_arch_internal_time.h
   freeswitch/branches/seven/libs/apr/include/arch/unix/apr_arch_misc.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/unix/apr_arch_misc.h
   freeswitch/branches/seven/libs/apr/include/arch/unix/apr_arch_networkio.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/unix/apr_arch_networkio.h
   freeswitch/branches/seven/libs/apr/include/arch/unix/apr_arch_poll_private.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/unix/apr_arch_poll_private.h
   freeswitch/branches/seven/libs/apr/include/arch/unix/apr_arch_proc_mutex.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/unix/apr_arch_proc_mutex.h
   freeswitch/branches/seven/libs/apr/include/arch/unix/apr_arch_shm.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/unix/apr_arch_shm.h
   freeswitch/branches/seven/libs/apr/include/arch/unix/apr_arch_thread_cond.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/unix/apr_arch_thread_cond.h
   freeswitch/branches/seven/libs/apr/include/arch/unix/apr_arch_thread_mutex.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/unix/apr_arch_thread_mutex.h
   freeswitch/branches/seven/libs/apr/include/arch/unix/apr_arch_thread_rwlock.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/unix/apr_arch_thread_rwlock.h
   freeswitch/branches/seven/libs/apr/include/arch/unix/apr_arch_threadproc.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/unix/apr_arch_threadproc.h
   freeswitch/branches/seven/libs/apr/include/arch/win32/
      - copied from r11459, /freeswitch/trunk/libs/apr/include/arch/win32/
   freeswitch/branches/seven/libs/apr/include/arch/win32/apr_arch_atime.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/win32/apr_arch_atime.h
   freeswitch/branches/seven/libs/apr/include/arch/win32/apr_arch_dso.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/win32/apr_arch_dso.h
   freeswitch/branches/seven/libs/apr/include/arch/win32/apr_arch_file_io.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/win32/apr_arch_file_io.h
   freeswitch/branches/seven/libs/apr/include/arch/win32/apr_arch_inherit.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/win32/apr_arch_inherit.h
   freeswitch/branches/seven/libs/apr/include/arch/win32/apr_arch_misc.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/win32/apr_arch_misc.h
   freeswitch/branches/seven/libs/apr/include/arch/win32/apr_arch_networkio.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/win32/apr_arch_networkio.h
   freeswitch/branches/seven/libs/apr/include/arch/win32/apr_arch_proc_mutex.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/win32/apr_arch_proc_mutex.h
   freeswitch/branches/seven/libs/apr/include/arch/win32/apr_arch_thread_cond.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/win32/apr_arch_thread_cond.h
   freeswitch/branches/seven/libs/apr/include/arch/win32/apr_arch_thread_mutex.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/win32/apr_arch_thread_mutex.h
   freeswitch/branches/seven/libs/apr/include/arch/win32/apr_arch_thread_rwlock.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/win32/apr_arch_thread_rwlock.h
   freeswitch/branches/seven/libs/apr/include/arch/win32/apr_arch_threadproc.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/win32/apr_arch_threadproc.h
   freeswitch/branches/seven/libs/apr/include/arch/win32/apr_arch_utf8.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/win32/apr_arch_utf8.h
   freeswitch/branches/seven/libs/apr/include/arch/win32/apr_dbg_win32_handles.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/win32/apr_dbg_win32_handles.h
   freeswitch/branches/seven/libs/apr/include/arch/win32/apr_private.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/include/arch/win32/apr_private.h
   freeswitch/branches/seven/libs/apr/libapr.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/libapr.dsp
   freeswitch/branches/seven/libs/apr/libapr.rc
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/libapr.rc
   freeswitch/branches/seven/libs/apr/libaprnw.mcp.zip
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/libaprnw.mcp.zip
   freeswitch/branches/seven/libs/apr/locks/
      - copied from r11459, /freeswitch/trunk/libs/apr/locks/
   freeswitch/branches/seven/libs/apr/locks/beos/
      - copied from r11459, /freeswitch/trunk/libs/apr/locks/beos/
   freeswitch/branches/seven/libs/apr/locks/beos/proc_mutex.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/locks/beos/proc_mutex.c
   freeswitch/branches/seven/libs/apr/locks/beos/thread_cond.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/locks/beos/thread_cond.c
   freeswitch/branches/seven/libs/apr/locks/beos/thread_mutex.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/locks/beos/thread_mutex.c
   freeswitch/branches/seven/libs/apr/locks/beos/thread_rwlock.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/locks/beos/thread_rwlock.c
   freeswitch/branches/seven/libs/apr/locks/netware/
      - copied from r11459, /freeswitch/trunk/libs/apr/locks/netware/
   freeswitch/branches/seven/libs/apr/locks/netware/proc_mutex.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/locks/netware/proc_mutex.c
   freeswitch/branches/seven/libs/apr/locks/netware/thread_cond.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/locks/netware/thread_cond.c
   freeswitch/branches/seven/libs/apr/locks/netware/thread_mutex.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/locks/netware/thread_mutex.c
   freeswitch/branches/seven/libs/apr/locks/netware/thread_rwlock.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/locks/netware/thread_rwlock.c
   freeswitch/branches/seven/libs/apr/locks/os2/
      - copied from r11459, /freeswitch/trunk/libs/apr/locks/os2/
   freeswitch/branches/seven/libs/apr/locks/os2/proc_mutex.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/locks/os2/proc_mutex.c
   freeswitch/branches/seven/libs/apr/locks/os2/thread_cond.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/locks/os2/thread_cond.c
   freeswitch/branches/seven/libs/apr/locks/os2/thread_mutex.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/locks/os2/thread_mutex.c
   freeswitch/branches/seven/libs/apr/locks/os2/thread_rwlock.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/locks/os2/thread_rwlock.c
   freeswitch/branches/seven/libs/apr/locks/unix/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/apr/locks/unix/
   freeswitch/branches/seven/libs/apr/locks/unix/global_mutex.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/locks/unix/global_mutex.c
   freeswitch/branches/seven/libs/apr/locks/unix/proc_mutex.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/locks/unix/proc_mutex.c
   freeswitch/branches/seven/libs/apr/locks/unix/thread_cond.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/locks/unix/thread_cond.c
   freeswitch/branches/seven/libs/apr/locks/unix/thread_mutex.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/locks/unix/thread_mutex.c
   freeswitch/branches/seven/libs/apr/locks/unix/thread_rwlock.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/locks/unix/thread_rwlock.c
   freeswitch/branches/seven/libs/apr/locks/win32/
      - copied from r11459, /freeswitch/trunk/libs/apr/locks/win32/
   freeswitch/branches/seven/libs/apr/locks/win32/proc_mutex.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/locks/win32/proc_mutex.c
   freeswitch/branches/seven/libs/apr/locks/win32/thread_cond.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/locks/win32/thread_cond.c
   freeswitch/branches/seven/libs/apr/locks/win32/thread_mutex.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/locks/win32/thread_mutex.c
   freeswitch/branches/seven/libs/apr/locks/win32/thread_rwlock.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/locks/win32/thread_rwlock.c
   freeswitch/branches/seven/libs/apr/memory/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/apr/memory/
   freeswitch/branches/seven/libs/apr/memory/unix/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/apr/memory/unix/
   freeswitch/branches/seven/libs/apr/memory/unix/apr_pools.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/memory/unix/apr_pools.c
   freeswitch/branches/seven/libs/apr/misc/
      - copied from r11459, /freeswitch/trunk/libs/apr/misc/
   freeswitch/branches/seven/libs/apr/misc/netware/
      - copied from r11459, /freeswitch/trunk/libs/apr/misc/netware/
   freeswitch/branches/seven/libs/apr/misc/netware/apr.xdc
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/misc/netware/apr.xdc
   freeswitch/branches/seven/libs/apr/misc/netware/aprlib.def
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/misc/netware/aprlib.def
   freeswitch/branches/seven/libs/apr/misc/netware/charset.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/misc/netware/charset.c
   freeswitch/branches/seven/libs/apr/misc/netware/libprews.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/misc/netware/libprews.c
   freeswitch/branches/seven/libs/apr/misc/netware/rand.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/misc/netware/rand.c
   freeswitch/branches/seven/libs/apr/misc/netware/start.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/misc/netware/start.c
   freeswitch/branches/seven/libs/apr/misc/unix/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/apr/misc/unix/
   freeswitch/branches/seven/libs/apr/misc/unix/charset.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/misc/unix/charset.c
   freeswitch/branches/seven/libs/apr/misc/unix/env.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/misc/unix/env.c
   freeswitch/branches/seven/libs/apr/misc/unix/errorcodes.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/misc/unix/errorcodes.c
   freeswitch/branches/seven/libs/apr/misc/unix/getopt.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/misc/unix/getopt.c
   freeswitch/branches/seven/libs/apr/misc/unix/otherchild.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/misc/unix/otherchild.c
   freeswitch/branches/seven/libs/apr/misc/unix/rand.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/misc/unix/rand.c
   freeswitch/branches/seven/libs/apr/misc/unix/randbyte_os2.inc
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/misc/unix/randbyte_os2.inc
   freeswitch/branches/seven/libs/apr/misc/unix/start.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/misc/unix/start.c
   freeswitch/branches/seven/libs/apr/misc/unix/version.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/misc/unix/version.c
   freeswitch/branches/seven/libs/apr/misc/win32/
      - copied from r11459, /freeswitch/trunk/libs/apr/misc/win32/
   freeswitch/branches/seven/libs/apr/misc/win32/apr_app.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/misc/win32/apr_app.c
   freeswitch/branches/seven/libs/apr/misc/win32/charset.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/misc/win32/charset.c
   freeswitch/branches/seven/libs/apr/misc/win32/env.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/misc/win32/env.c
   freeswitch/branches/seven/libs/apr/misc/win32/internal.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/misc/win32/internal.c
   freeswitch/branches/seven/libs/apr/misc/win32/misc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/misc/win32/misc.c
   freeswitch/branches/seven/libs/apr/misc/win32/rand.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/misc/win32/rand.c
   freeswitch/branches/seven/libs/apr/misc/win32/start.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/misc/win32/start.c
   freeswitch/branches/seven/libs/apr/misc/win32/utf8.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/misc/win32/utf8.c
   freeswitch/branches/seven/libs/apr/mmap/
      - copied from r11459, /freeswitch/trunk/libs/apr/mmap/
   freeswitch/branches/seven/libs/apr/mmap/unix/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/apr/mmap/unix/
   freeswitch/branches/seven/libs/apr/mmap/unix/common.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/mmap/unix/common.c
   freeswitch/branches/seven/libs/apr/mmap/unix/mmap.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/mmap/unix/mmap.c
   freeswitch/branches/seven/libs/apr/mmap/win32/
      - copied from r11459, /freeswitch/trunk/libs/apr/mmap/win32/
   freeswitch/branches/seven/libs/apr/mmap/win32/mmap.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/mmap/win32/mmap.c
   freeswitch/branches/seven/libs/apr/network_io/
      - copied from r11459, /freeswitch/trunk/libs/apr/network_io/
   freeswitch/branches/seven/libs/apr/network_io/beos/
      - copied from r11459, /freeswitch/trunk/libs/apr/network_io/beos/
   freeswitch/branches/seven/libs/apr/network_io/beos/sendrecv.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/network_io/beos/sendrecv.c
   freeswitch/branches/seven/libs/apr/network_io/beos/socketcommon.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/network_io/beos/socketcommon.c
   freeswitch/branches/seven/libs/apr/network_io/os2/
      - copied from r11459, /freeswitch/trunk/libs/apr/network_io/os2/
   freeswitch/branches/seven/libs/apr/network_io/os2/inet_ntop.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/network_io/os2/inet_ntop.c
   freeswitch/branches/seven/libs/apr/network_io/os2/inet_pton.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/network_io/os2/inet_pton.c
   freeswitch/branches/seven/libs/apr/network_io/os2/os2calls.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/network_io/os2/os2calls.c
   freeswitch/branches/seven/libs/apr/network_io/os2/sendrecv.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/network_io/os2/sendrecv.c
   freeswitch/branches/seven/libs/apr/network_io/os2/sendrecv_udp.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/network_io/os2/sendrecv_udp.c
   freeswitch/branches/seven/libs/apr/network_io/os2/sockaddr.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/network_io/os2/sockaddr.c
   freeswitch/branches/seven/libs/apr/network_io/os2/sockets.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/network_io/os2/sockets.c
   freeswitch/branches/seven/libs/apr/network_io/os2/sockopt.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/network_io/os2/sockopt.c
   freeswitch/branches/seven/libs/apr/network_io/unix/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/apr/network_io/unix/
   freeswitch/branches/seven/libs/apr/network_io/unix/inet_ntop.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/network_io/unix/inet_ntop.c
   freeswitch/branches/seven/libs/apr/network_io/unix/inet_pton.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/network_io/unix/inet_pton.c
   freeswitch/branches/seven/libs/apr/network_io/unix/multicast.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/network_io/unix/multicast.c
   freeswitch/branches/seven/libs/apr/network_io/unix/sendrecv.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/network_io/unix/sendrecv.c
   freeswitch/branches/seven/libs/apr/network_io/unix/sockaddr.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/network_io/unix/sockaddr.c
   freeswitch/branches/seven/libs/apr/network_io/unix/sockets.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/network_io/unix/sockets.c
   freeswitch/branches/seven/libs/apr/network_io/unix/sockopt.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/network_io/unix/sockopt.c
   freeswitch/branches/seven/libs/apr/network_io/win32/
      - copied from r11459, /freeswitch/trunk/libs/apr/network_io/win32/
   freeswitch/branches/seven/libs/apr/network_io/win32/sendrecv.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/network_io/win32/sendrecv.c
   freeswitch/branches/seven/libs/apr/network_io/win32/sockets.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/network_io/win32/sockets.c
   freeswitch/branches/seven/libs/apr/network_io/win32/sockopt.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/network_io/win32/sockopt.c
   freeswitch/branches/seven/libs/apr/passwd/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/apr/passwd/
   freeswitch/branches/seven/libs/apr/passwd/apr_getpass.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/passwd/apr_getpass.c
   freeswitch/branches/seven/libs/apr/poll/
      - copied from r11459, /freeswitch/trunk/libs/apr/poll/
   freeswitch/branches/seven/libs/apr/poll/os2/
      - copied from r11459, /freeswitch/trunk/libs/apr/poll/os2/
   freeswitch/branches/seven/libs/apr/poll/os2/poll.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/poll/os2/poll.c
   freeswitch/branches/seven/libs/apr/poll/os2/pollset.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/poll/os2/pollset.c
   freeswitch/branches/seven/libs/apr/poll/unix/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/apr/poll/unix/
   freeswitch/branches/seven/libs/apr/poll/unix/epoll.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/poll/unix/epoll.c
   freeswitch/branches/seven/libs/apr/poll/unix/kqueue.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/poll/unix/kqueue.c
   freeswitch/branches/seven/libs/apr/poll/unix/poll.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/poll/unix/poll.c
   freeswitch/branches/seven/libs/apr/poll/unix/port.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/poll/unix/port.c
   freeswitch/branches/seven/libs/apr/poll/unix/select.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/poll/unix/select.c
   freeswitch/branches/seven/libs/apr/random/
      - copied from r11459, /freeswitch/trunk/libs/apr/random/
   freeswitch/branches/seven/libs/apr/random/unix/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/apr/random/unix/
   freeswitch/branches/seven/libs/apr/random/unix/apr_random.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/random/unix/apr_random.c
   freeswitch/branches/seven/libs/apr/random/unix/sha2.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/random/unix/sha2.c
   freeswitch/branches/seven/libs/apr/random/unix/sha2.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/random/unix/sha2.h
   freeswitch/branches/seven/libs/apr/random/unix/sha2_glue.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/random/unix/sha2_glue.c
   freeswitch/branches/seven/libs/apr/renames_pending
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/renames_pending
   freeswitch/branches/seven/libs/apr/shmem/
      - copied from r11459, /freeswitch/trunk/libs/apr/shmem/
   freeswitch/branches/seven/libs/apr/shmem/beos/
      - copied from r11459, /freeswitch/trunk/libs/apr/shmem/beos/
   freeswitch/branches/seven/libs/apr/shmem/beos/shm.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/shmem/beos/shm.c
   freeswitch/branches/seven/libs/apr/shmem/os2/
      - copied from r11459, /freeswitch/trunk/libs/apr/shmem/os2/
   freeswitch/branches/seven/libs/apr/shmem/os2/shm.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/shmem/os2/shm.c
   freeswitch/branches/seven/libs/apr/shmem/unix/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/apr/shmem/unix/
   freeswitch/branches/seven/libs/apr/shmem/unix/shm.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/shmem/unix/shm.c
   freeswitch/branches/seven/libs/apr/shmem/win32/
      - copied from r11459, /freeswitch/trunk/libs/apr/shmem/win32/
   freeswitch/branches/seven/libs/apr/shmem/win32/shm.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/shmem/win32/shm.c
   freeswitch/branches/seven/libs/apr/strings/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/apr/strings/
   freeswitch/branches/seven/libs/apr/strings/apr_cpystrn.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/strings/apr_cpystrn.c
   freeswitch/branches/seven/libs/apr/strings/apr_fnmatch.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/strings/apr_fnmatch.c
   freeswitch/branches/seven/libs/apr/strings/apr_snprintf.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/strings/apr_snprintf.c
   freeswitch/branches/seven/libs/apr/strings/apr_strings.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/strings/apr_strings.c
   freeswitch/branches/seven/libs/apr/strings/apr_strnatcmp.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/strings/apr_strnatcmp.c
   freeswitch/branches/seven/libs/apr/strings/apr_strtok.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/strings/apr_strtok.c
   freeswitch/branches/seven/libs/apr/support/
      - copied from r11459, /freeswitch/trunk/libs/apr/support/
   freeswitch/branches/seven/libs/apr/support/unix/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/apr/support/unix/
   freeswitch/branches/seven/libs/apr/support/unix/waitio.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/support/unix/waitio.c
   freeswitch/branches/seven/libs/apr/tables/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/apr/tables/
   freeswitch/branches/seven/libs/apr/tables/apr_hash.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/tables/apr_hash.c
   freeswitch/branches/seven/libs/apr/tables/apr_tables.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/tables/apr_tables.c
   freeswitch/branches/seven/libs/apr/test/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/apr/test/
   freeswitch/branches/seven/libs/apr/test/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/Makefile.in
   freeswitch/branches/seven/libs/apr/test/Makefile.win
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/Makefile.win
   freeswitch/branches/seven/libs/apr/test/NWGNUmakefile
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/NWGNUmakefile
   freeswitch/branches/seven/libs/apr/test/README
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/README
   freeswitch/branches/seven/libs/apr/test/abts.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/abts.c
   freeswitch/branches/seven/libs/apr/test/abts.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/abts.h
   freeswitch/branches/seven/libs/apr/test/abts_tests.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/abts_tests.h
   freeswitch/branches/seven/libs/apr/test/aprtest.def
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/aprtest.def
   freeswitch/branches/seven/libs/apr/test/aprtest.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/aprtest.dsp
   freeswitch/branches/seven/libs/apr/test/aprtest.win
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/aprtest.win
   freeswitch/branches/seven/libs/apr/test/data/
      - copied from r11459, /freeswitch/trunk/libs/apr/test/data/
   freeswitch/branches/seven/libs/apr/test/data/file_datafile.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/data/file_datafile.txt
   freeswitch/branches/seven/libs/apr/test/data/mmap_datafile.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/data/mmap_datafile.txt
   freeswitch/branches/seven/libs/apr/test/globalmutexchild.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/globalmutexchild.c
   freeswitch/branches/seven/libs/apr/test/internal/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/apr/test/internal/
   freeswitch/branches/seven/libs/apr/test/internal/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/internal/Makefile.in
   freeswitch/branches/seven/libs/apr/test/internal/testregex.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/internal/testregex.c
   freeswitch/branches/seven/libs/apr/test/internal/testucs.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/internal/testucs.c
   freeswitch/branches/seven/libs/apr/test/mod_test.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/mod_test.c
   freeswitch/branches/seven/libs/apr/test/nw_misc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/nw_misc.c
   freeswitch/branches/seven/libs/apr/test/nwgnuaprtest
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/nwgnuaprtest
   freeswitch/branches/seven/libs/apr/test/nwgnuglobalmutexchild
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/nwgnuglobalmutexchild
   freeswitch/branches/seven/libs/apr/test/nwgnumod_test
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/nwgnumod_test
   freeswitch/branches/seven/libs/apr/test/nwgnuproc_child
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/nwgnuproc_child
   freeswitch/branches/seven/libs/apr/test/nwgnureadchild
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/nwgnureadchild
   freeswitch/branches/seven/libs/apr/test/nwgnusockchild
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/nwgnusockchild
   freeswitch/branches/seven/libs/apr/test/nwgnutestatmc
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/nwgnutestatmc
   freeswitch/branches/seven/libs/apr/test/nwgnutryread
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/nwgnutryread
   freeswitch/branches/seven/libs/apr/test/occhild.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/occhild.c
   freeswitch/branches/seven/libs/apr/test/proc_child.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/proc_child.c
   freeswitch/branches/seven/libs/apr/test/readchild.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/readchild.c
   freeswitch/branches/seven/libs/apr/test/sendfile.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/sendfile.c
   freeswitch/branches/seven/libs/apr/test/sockchild.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/sockchild.c
   freeswitch/branches/seven/libs/apr/test/testall.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testall.dsp
   freeswitch/branches/seven/libs/apr/test/testall.dsw
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testall.dsw
   freeswitch/branches/seven/libs/apr/test/testapp.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testapp.c
   freeswitch/branches/seven/libs/apr/test/testapp.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testapp.dsp
   freeswitch/branches/seven/libs/apr/test/testappnt.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testappnt.dsp
   freeswitch/branches/seven/libs/apr/test/testargs.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testargs.c
   freeswitch/branches/seven/libs/apr/test/testatomic.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testatomic.c
   freeswitch/branches/seven/libs/apr/test/testdir.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testdir.c
   freeswitch/branches/seven/libs/apr/test/testdso.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testdso.c
   freeswitch/branches/seven/libs/apr/test/testdup.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testdup.c
   freeswitch/branches/seven/libs/apr/test/testenv.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testenv.c
   freeswitch/branches/seven/libs/apr/test/testfile.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testfile.c
   freeswitch/branches/seven/libs/apr/test/testfilecopy.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testfilecopy.c
   freeswitch/branches/seven/libs/apr/test/testfileinfo.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testfileinfo.c
   freeswitch/branches/seven/libs/apr/test/testflock.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testflock.c
   freeswitch/branches/seven/libs/apr/test/testflock.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testflock.h
   freeswitch/branches/seven/libs/apr/test/testfmt.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testfmt.c
   freeswitch/branches/seven/libs/apr/test/testfnmatch.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testfnmatch.c
   freeswitch/branches/seven/libs/apr/test/testglobalmutex.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testglobalmutex.c
   freeswitch/branches/seven/libs/apr/test/testglobalmutex.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testglobalmutex.h
   freeswitch/branches/seven/libs/apr/test/testhash.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testhash.c
   freeswitch/branches/seven/libs/apr/test/testipsub.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testipsub.c
   freeswitch/branches/seven/libs/apr/test/testlfs.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testlfs.c
   freeswitch/branches/seven/libs/apr/test/testlock.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testlock.c
   freeswitch/branches/seven/libs/apr/test/testlockperf.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testlockperf.c
   freeswitch/branches/seven/libs/apr/test/testmmap.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testmmap.c
   freeswitch/branches/seven/libs/apr/test/testmutexscope.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testmutexscope.c
   freeswitch/branches/seven/libs/apr/test/testnames.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testnames.c
   freeswitch/branches/seven/libs/apr/test/testoc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testoc.c
   freeswitch/branches/seven/libs/apr/test/testpath.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testpath.c
   freeswitch/branches/seven/libs/apr/test/testpipe.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testpipe.c
   freeswitch/branches/seven/libs/apr/test/testpoll.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testpoll.c
   freeswitch/branches/seven/libs/apr/test/testpools.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testpools.c
   freeswitch/branches/seven/libs/apr/test/testproc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testproc.c
   freeswitch/branches/seven/libs/apr/test/testprocmutex.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testprocmutex.c
   freeswitch/branches/seven/libs/apr/test/testrand.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testrand.c
   freeswitch/branches/seven/libs/apr/test/testrand2.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testrand2.c
   freeswitch/branches/seven/libs/apr/test/testshm.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testshm.c
   freeswitch/branches/seven/libs/apr/test/testshm.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testshm.h
   freeswitch/branches/seven/libs/apr/test/testshmconsumer.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testshmconsumer.c
   freeswitch/branches/seven/libs/apr/test/testshmproducer.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testshmproducer.c
   freeswitch/branches/seven/libs/apr/test/testsleep.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testsleep.c
   freeswitch/branches/seven/libs/apr/test/testsock.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testsock.c
   freeswitch/branches/seven/libs/apr/test/testsock.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testsock.h
   freeswitch/branches/seven/libs/apr/test/testsockets.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testsockets.c
   freeswitch/branches/seven/libs/apr/test/testsockopt.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testsockopt.c
   freeswitch/branches/seven/libs/apr/test/teststr.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/teststr.c
   freeswitch/branches/seven/libs/apr/test/teststrnatcmp.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/teststrnatcmp.c
   freeswitch/branches/seven/libs/apr/test/testtable.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testtable.c
   freeswitch/branches/seven/libs/apr/test/testtemp.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testtemp.c
   freeswitch/branches/seven/libs/apr/test/testthread.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testthread.c
   freeswitch/branches/seven/libs/apr/test/testtime.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testtime.c
   freeswitch/branches/seven/libs/apr/test/testud.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testud.c
   freeswitch/branches/seven/libs/apr/test/testuser.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testuser.c
   freeswitch/branches/seven/libs/apr/test/testutil.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testutil.c
   freeswitch/branches/seven/libs/apr/test/testutil.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testutil.h
   freeswitch/branches/seven/libs/apr/test/testvsn.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/testvsn.c
   freeswitch/branches/seven/libs/apr/test/tryread.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/test/tryread.c
   freeswitch/branches/seven/libs/apr/threadproc/
      - copied from r11459, /freeswitch/trunk/libs/apr/threadproc/
   freeswitch/branches/seven/libs/apr/threadproc/beos/
      - copied from r11459, /freeswitch/trunk/libs/apr/threadproc/beos/
   freeswitch/branches/seven/libs/apr/threadproc/beos/apr_proc_stub.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/threadproc/beos/apr_proc_stub.c
   freeswitch/branches/seven/libs/apr/threadproc/beos/proc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/threadproc/beos/proc.c
   freeswitch/branches/seven/libs/apr/threadproc/beos/thread.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/threadproc/beos/thread.c
   freeswitch/branches/seven/libs/apr/threadproc/beos/threadpriv.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/threadproc/beos/threadpriv.c
   freeswitch/branches/seven/libs/apr/threadproc/beos/threadproc_common.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/threadproc/beos/threadproc_common.c
   freeswitch/branches/seven/libs/apr/threadproc/netware/
      - copied from r11459, /freeswitch/trunk/libs/apr/threadproc/netware/
   freeswitch/branches/seven/libs/apr/threadproc/netware/proc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/threadproc/netware/proc.c
   freeswitch/branches/seven/libs/apr/threadproc/netware/procsup.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/threadproc/netware/procsup.c
   freeswitch/branches/seven/libs/apr/threadproc/netware/signals.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/threadproc/netware/signals.c
   freeswitch/branches/seven/libs/apr/threadproc/netware/thread.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/threadproc/netware/thread.c
   freeswitch/branches/seven/libs/apr/threadproc/netware/threadpriv.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/threadproc/netware/threadpriv.c
   freeswitch/branches/seven/libs/apr/threadproc/os2/
      - copied from r11459, /freeswitch/trunk/libs/apr/threadproc/os2/
   freeswitch/branches/seven/libs/apr/threadproc/os2/proc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/threadproc/os2/proc.c
   freeswitch/branches/seven/libs/apr/threadproc/os2/signals.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/threadproc/os2/signals.c
   freeswitch/branches/seven/libs/apr/threadproc/os2/thread.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/threadproc/os2/thread.c
   freeswitch/branches/seven/libs/apr/threadproc/os2/threadpriv.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/threadproc/os2/threadpriv.c
   freeswitch/branches/seven/libs/apr/threadproc/unix/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/apr/threadproc/unix/
   freeswitch/branches/seven/libs/apr/threadproc/unix/proc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/threadproc/unix/proc.c
   freeswitch/branches/seven/libs/apr/threadproc/unix/procsup.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/threadproc/unix/procsup.c
   freeswitch/branches/seven/libs/apr/threadproc/unix/signals.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/threadproc/unix/signals.c
   freeswitch/branches/seven/libs/apr/threadproc/unix/thread.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/threadproc/unix/thread.c
   freeswitch/branches/seven/libs/apr/threadproc/unix/threadpriv.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/threadproc/unix/threadpriv.c
   freeswitch/branches/seven/libs/apr/threadproc/win32/
      - copied from r11459, /freeswitch/trunk/libs/apr/threadproc/win32/
   freeswitch/branches/seven/libs/apr/threadproc/win32/proc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/threadproc/win32/proc.c
   freeswitch/branches/seven/libs/apr/threadproc/win32/signals.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/threadproc/win32/signals.c
   freeswitch/branches/seven/libs/apr/threadproc/win32/thread.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/threadproc/win32/thread.c
   freeswitch/branches/seven/libs/apr/threadproc/win32/threadpriv.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/threadproc/win32/threadpriv.c
   freeswitch/branches/seven/libs/apr/time/
      - copied from r11459, /freeswitch/trunk/libs/apr/time/
   freeswitch/branches/seven/libs/apr/time/unix/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/apr/time/unix/
   freeswitch/branches/seven/libs/apr/time/unix/time.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/time/unix/time.c
   freeswitch/branches/seven/libs/apr/time/unix/timestr.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/time/unix/timestr.c
   freeswitch/branches/seven/libs/apr/time/win32/
      - copied from r11459, /freeswitch/trunk/libs/apr/time/win32/
   freeswitch/branches/seven/libs/apr/time/win32/access.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/time/win32/access.c
   freeswitch/branches/seven/libs/apr/time/win32/time.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/time/win32/time.c
   freeswitch/branches/seven/libs/apr/time/win32/timestr.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/time/win32/timestr.c
   freeswitch/branches/seven/libs/apr/user/
      - copied from r11459, /freeswitch/trunk/libs/apr/user/
   freeswitch/branches/seven/libs/apr/user/netware/
      - copied from r11459, /freeswitch/trunk/libs/apr/user/netware/
   freeswitch/branches/seven/libs/apr/user/netware/groupinfo.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/user/netware/groupinfo.c
   freeswitch/branches/seven/libs/apr/user/netware/userinfo.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/user/netware/userinfo.c
   freeswitch/branches/seven/libs/apr/user/unix/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/apr/user/unix/
   freeswitch/branches/seven/libs/apr/user/unix/groupinfo.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/user/unix/groupinfo.c
   freeswitch/branches/seven/libs/apr/user/unix/userinfo.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/user/unix/userinfo.c
   freeswitch/branches/seven/libs/apr/user/win32/
      - copied from r11459, /freeswitch/trunk/libs/apr/user/win32/
   freeswitch/branches/seven/libs/apr/user/win32/groupinfo.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/user/win32/groupinfo.c
   freeswitch/branches/seven/libs/apr/user/win32/userinfo.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/apr/user/win32/userinfo.c
   freeswitch/branches/seven/libs/codec/
      - copied from r11459, /freeswitch/trunk/libs/codec/
   freeswitch/branches/seven/libs/codec/ilbc/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/codec/ilbc/
   freeswitch/branches/seven/libs/codec/ilbc/.update
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/.update
   freeswitch/branches/seven/libs/codec/ilbc/AUTHORS
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/AUTHORS
   freeswitch/branches/seven/libs/codec/ilbc/COPYING
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/COPYING
   freeswitch/branches/seven/libs/codec/ilbc/ChangeLog
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/ChangeLog
   freeswitch/branches/seven/libs/codec/ilbc/INSTALL
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/INSTALL
   freeswitch/branches/seven/libs/codec/ilbc/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/Makefile.am
   freeswitch/branches/seven/libs/codec/ilbc/NEWS
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/NEWS
   freeswitch/branches/seven/libs/codec/ilbc/README
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/README
   freeswitch/branches/seven/libs/codec/ilbc/acsite.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/acsite.m4
   freeswitch/branches/seven/libs/codec/ilbc/build/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/codec/ilbc/build/
   freeswitch/branches/seven/libs/codec/ilbc/build/config/
      - copied from r11459, /freeswitch/trunk/libs/codec/ilbc/build/config/
   freeswitch/branches/seven/libs/codec/ilbc/build/config/ac_cflags_gcc_option.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/build/config/ac_cflags_gcc_option.m4
   freeswitch/branches/seven/libs/codec/ilbc/build/config/ac_cflags_sun_option.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/build/config/ac_cflags_sun_option.m4
   freeswitch/branches/seven/libs/codec/ilbc/build/config/ac_gcc_archflag.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/build/config/ac_gcc_archflag.m4
   freeswitch/branches/seven/libs/codec/ilbc/build/config/ac_gcc_x86_cpuid.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/build/config/ac_gcc_x86_cpuid.m4
   freeswitch/branches/seven/libs/codec/ilbc/build/config/ac_prog_gzip.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/build/config/ac_prog_gzip.m4
   freeswitch/branches/seven/libs/codec/ilbc/build/config/ac_prog_wget.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/build/config/ac_prog_wget.m4
   freeswitch/branches/seven/libs/codec/ilbc/build/config/ax_cc_maxopt.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/build/config/ax_cc_maxopt.m4
   freeswitch/branches/seven/libs/codec/ilbc/build/config/ax_cflags_warn_all_ansi.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/build/config/ax_cflags_warn_all_ansi.m4
   freeswitch/branches/seven/libs/codec/ilbc/build/config/ax_check_compiler_flags.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/build/config/ax_check_compiler_flags.m4
   freeswitch/branches/seven/libs/codec/ilbc/build/config/ax_compiler_vendor.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/build/config/ax_compiler_vendor.m4
   freeswitch/branches/seven/libs/codec/ilbc/configure.gnu
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/configure.gnu
   freeswitch/branches/seven/libs/codec/ilbc/configure.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/configure.in
   freeswitch/branches/seven/libs/codec/ilbc/draft-ietf-avt-ilbc-codec-05.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/draft-ietf-avt-ilbc-codec-05.txt
   freeswitch/branches/seven/libs/codec/ilbc/libilbc.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/libilbc.2008.vcproj
   freeswitch/branches/seven/libs/codec/ilbc/libilbc.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/libilbc.vcproj
   freeswitch/branches/seven/libs/codec/ilbc/src/
      - copied from r11459, /freeswitch/trunk/libs/codec/ilbc/src/
   freeswitch/branches/seven/libs/codec/ilbc/src/FrameClassify.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/src/FrameClassify.c
   freeswitch/branches/seven/libs/codec/ilbc/src/FrameClassify.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/src/FrameClassify.h
   freeswitch/branches/seven/libs/codec/ilbc/src/LPCdecode.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/src/LPCdecode.c
   freeswitch/branches/seven/libs/codec/ilbc/src/LPCdecode.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/src/LPCdecode.h
   freeswitch/branches/seven/libs/codec/ilbc/src/LPCencode.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/src/LPCencode.c
   freeswitch/branches/seven/libs/codec/ilbc/src/LPCencode.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/src/LPCencode.h
   freeswitch/branches/seven/libs/codec/ilbc/src/StateConstructW.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/src/StateConstructW.c
   freeswitch/branches/seven/libs/codec/ilbc/src/StateConstructW.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/src/StateConstructW.h
   freeswitch/branches/seven/libs/codec/ilbc/src/StateSearchW.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/src/StateSearchW.c
   freeswitch/branches/seven/libs/codec/ilbc/src/StateSearchW.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/src/StateSearchW.h
   freeswitch/branches/seven/libs/codec/ilbc/src/anaFilter.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/src/anaFilter.c
   freeswitch/branches/seven/libs/codec/ilbc/src/anaFilter.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/src/anaFilter.h
   freeswitch/branches/seven/libs/codec/ilbc/src/constants.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/src/constants.c
   freeswitch/branches/seven/libs/codec/ilbc/src/constants.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/src/constants.h
   freeswitch/branches/seven/libs/codec/ilbc/src/createCB.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/src/createCB.c
   freeswitch/branches/seven/libs/codec/ilbc/src/createCB.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/src/createCB.h
   freeswitch/branches/seven/libs/codec/ilbc/src/doCPLC.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/src/doCPLC.c
   freeswitch/branches/seven/libs/codec/ilbc/src/doCPLC.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/src/doCPLC.h
   freeswitch/branches/seven/libs/codec/ilbc/src/enhancer.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/src/enhancer.c
   freeswitch/branches/seven/libs/codec/ilbc/src/enhancer.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/src/enhancer.h
   freeswitch/branches/seven/libs/codec/ilbc/src/extract-cfile.awk
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/src/extract-cfile.awk
   freeswitch/branches/seven/libs/codec/ilbc/src/filter.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/src/filter.c
   freeswitch/branches/seven/libs/codec/ilbc/src/filter.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/src/filter.h
   freeswitch/branches/seven/libs/codec/ilbc/src/gainquant.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/src/gainquant.c
   freeswitch/branches/seven/libs/codec/ilbc/src/gainquant.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/src/gainquant.h
   freeswitch/branches/seven/libs/codec/ilbc/src/getCBvec.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/src/getCBvec.c
   freeswitch/branches/seven/libs/codec/ilbc/src/getCBvec.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/src/getCBvec.h
   freeswitch/branches/seven/libs/codec/ilbc/src/helpfun.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/src/helpfun.c
   freeswitch/branches/seven/libs/codec/ilbc/src/helpfun.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/src/helpfun.h
   freeswitch/branches/seven/libs/codec/ilbc/src/hpInput.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/src/hpInput.c
   freeswitch/branches/seven/libs/codec/ilbc/src/hpInput.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/src/hpInput.h
   freeswitch/branches/seven/libs/codec/ilbc/src/hpOutput.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/src/hpOutput.c
   freeswitch/branches/seven/libs/codec/ilbc/src/hpOutput.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/src/hpOutput.h
   freeswitch/branches/seven/libs/codec/ilbc/src/iCBConstruct.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/src/iCBConstruct.c
   freeswitch/branches/seven/libs/codec/ilbc/src/iCBConstruct.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/src/iCBConstruct.h
   freeswitch/branches/seven/libs/codec/ilbc/src/iCBSearch.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/src/iCBSearch.c
   freeswitch/branches/seven/libs/codec/ilbc/src/iCBSearch.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/src/iCBSearch.h
   freeswitch/branches/seven/libs/codec/ilbc/src/iLBC_decode.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/src/iLBC_decode.c
   freeswitch/branches/seven/libs/codec/ilbc/src/iLBC_decode.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/src/iLBC_decode.h
   freeswitch/branches/seven/libs/codec/ilbc/src/iLBC_define.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/src/iLBC_define.h
   freeswitch/branches/seven/libs/codec/ilbc/src/iLBC_encode.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/src/iLBC_encode.c
   freeswitch/branches/seven/libs/codec/ilbc/src/iLBC_encode.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/src/iLBC_encode.h
   freeswitch/branches/seven/libs/codec/ilbc/src/lsf.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/src/lsf.c
   freeswitch/branches/seven/libs/codec/ilbc/src/lsf.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/src/lsf.h
   freeswitch/branches/seven/libs/codec/ilbc/src/packing.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/src/packing.c
   freeswitch/branches/seven/libs/codec/ilbc/src/packing.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/src/packing.h
   freeswitch/branches/seven/libs/codec/ilbc/src/syntFilter.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/src/syntFilter.c
   freeswitch/branches/seven/libs/codec/ilbc/src/syntFilter.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/codec/ilbc/src/syntFilter.h
   freeswitch/branches/seven/libs/curl/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/curl/
   freeswitch/branches/seven/libs/curl/.update
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/.update
   freeswitch/branches/seven/libs/curl/CHANGES
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/CHANGES
   freeswitch/branches/seven/libs/curl/COPYING
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/COPYING
   freeswitch/branches/seven/libs/curl/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/Makefile.am
   freeswitch/branches/seven/libs/curl/README
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/README
   freeswitch/branches/seven/libs/curl/RELEASE-NOTES
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/RELEASE-NOTES
   freeswitch/branches/seven/libs/curl/acinclude.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/acinclude.m4
   freeswitch/branches/seven/libs/curl/buildconf
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/buildconf
   freeswitch/branches/seven/libs/curl/buildconf.bat
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/buildconf.bat
   freeswitch/branches/seven/libs/curl/configure.ac
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/configure.ac
   freeswitch/branches/seven/libs/curl/configure.gnu
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/configure.gnu
   freeswitch/branches/seven/libs/curl/curl-config.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/curl-config.in
   freeswitch/branches/seven/libs/curl/curl-style.el
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/curl-style.el
   freeswitch/branches/seven/libs/curl/include/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/curl/include/
   freeswitch/branches/seven/libs/curl/include/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/include/Makefile.am
   freeswitch/branches/seven/libs/curl/include/README
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/include/README
   freeswitch/branches/seven/libs/curl/include/curl/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/curl/include/curl/
   freeswitch/branches/seven/libs/curl/include/curl/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/include/curl/Makefile.am
   freeswitch/branches/seven/libs/curl/include/curl/curl.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/include/curl/curl.h
   freeswitch/branches/seven/libs/curl/include/curl/curlver.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/include/curl/curlver.h
   freeswitch/branches/seven/libs/curl/include/curl/easy.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/include/curl/easy.h
   freeswitch/branches/seven/libs/curl/include/curl/mprintf.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/include/curl/mprintf.h
   freeswitch/branches/seven/libs/curl/include/curl/multi.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/include/curl/multi.h
   freeswitch/branches/seven/libs/curl/include/curl/stdcheaders.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/include/curl/stdcheaders.h
   freeswitch/branches/seven/libs/curl/include/curl/types.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/include/curl/types.h
   freeswitch/branches/seven/libs/curl/lib/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/curl/lib/
   freeswitch/branches/seven/libs/curl/lib/Makefile.Watcom
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/Makefile.Watcom
   freeswitch/branches/seven/libs/curl/lib/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/Makefile.am
   freeswitch/branches/seven/libs/curl/lib/Makefile.b32
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/Makefile.b32
   freeswitch/branches/seven/libs/curl/lib/Makefile.inc
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/Makefile.inc
   freeswitch/branches/seven/libs/curl/lib/Makefile.m32
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/Makefile.m32
   freeswitch/branches/seven/libs/curl/lib/Makefile.netware
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/Makefile.netware
   freeswitch/branches/seven/libs/curl/lib/Makefile.riscos
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/Makefile.riscos
   freeswitch/branches/seven/libs/curl/lib/Makefile.vc6
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/Makefile.vc6
   freeswitch/branches/seven/libs/curl/lib/README.ares
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/README.ares
   freeswitch/branches/seven/libs/curl/lib/README.curlx
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/README.curlx
   freeswitch/branches/seven/libs/curl/lib/README.encoding
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/README.encoding
   freeswitch/branches/seven/libs/curl/lib/README.hostip
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/README.hostip
   freeswitch/branches/seven/libs/curl/lib/README.httpauth
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/README.httpauth
   freeswitch/branches/seven/libs/curl/lib/README.memoryleak
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/README.memoryleak
   freeswitch/branches/seven/libs/curl/lib/README.multi_socket
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/README.multi_socket
   freeswitch/branches/seven/libs/curl/lib/README.pipelining
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/README.pipelining
   freeswitch/branches/seven/libs/curl/lib/amigaos.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/amigaos.c
   freeswitch/branches/seven/libs/curl/lib/amigaos.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/amigaos.h
   freeswitch/branches/seven/libs/curl/lib/arpa_telnet.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/arpa_telnet.h
   freeswitch/branches/seven/libs/curl/lib/base64.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/base64.c
   freeswitch/branches/seven/libs/curl/lib/base64.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/base64.h
   freeswitch/branches/seven/libs/curl/lib/ca-bundle.crt
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/ca-bundle.crt
   freeswitch/branches/seven/libs/curl/lib/config-amigaos.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/config-amigaos.h
   freeswitch/branches/seven/libs/curl/lib/config-mac.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/config-mac.h
   freeswitch/branches/seven/libs/curl/lib/config-riscos.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/config-riscos.h
   freeswitch/branches/seven/libs/curl/lib/config-tpf.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/config-tpf.h
   freeswitch/branches/seven/libs/curl/lib/config-win32.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/config-win32.h
   freeswitch/branches/seven/libs/curl/lib/config-win32ce.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/config-win32ce.h
   freeswitch/branches/seven/libs/curl/lib/config.dos
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/config.dos
   freeswitch/branches/seven/libs/curl/lib/connect.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/connect.c
   freeswitch/branches/seven/libs/curl/lib/connect.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/connect.h
   freeswitch/branches/seven/libs/curl/lib/content_encoding.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/content_encoding.c
   freeswitch/branches/seven/libs/curl/lib/content_encoding.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/content_encoding.h
   freeswitch/branches/seven/libs/curl/lib/cookie.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/cookie.c
   freeswitch/branches/seven/libs/curl/lib/cookie.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/cookie.h
   freeswitch/branches/seven/libs/curl/lib/curllib.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/curllib.dsp
   freeswitch/branches/seven/libs/curl/lib/curllib.dsw
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/curllib.dsw
   freeswitch/branches/seven/libs/curl/lib/curllib.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/curllib.vcproj
   freeswitch/branches/seven/libs/curl/lib/curlx.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/curlx.h
   freeswitch/branches/seven/libs/curl/lib/dict.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/dict.c
   freeswitch/branches/seven/libs/curl/lib/dict.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/dict.h
   freeswitch/branches/seven/libs/curl/lib/easy.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/easy.c
   freeswitch/branches/seven/libs/curl/lib/easyif.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/easyif.h
   freeswitch/branches/seven/libs/curl/lib/escape.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/escape.c
   freeswitch/branches/seven/libs/curl/lib/escape.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/escape.h
   freeswitch/branches/seven/libs/curl/lib/file.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/file.c
   freeswitch/branches/seven/libs/curl/lib/file.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/file.h
   freeswitch/branches/seven/libs/curl/lib/formdata.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/formdata.c
   freeswitch/branches/seven/libs/curl/lib/formdata.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/formdata.h
   freeswitch/branches/seven/libs/curl/lib/ftp.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/ftp.c
   freeswitch/branches/seven/libs/curl/lib/ftp.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/ftp.h
   freeswitch/branches/seven/libs/curl/lib/getenv.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/getenv.c
   freeswitch/branches/seven/libs/curl/lib/getinfo.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/getinfo.c
   freeswitch/branches/seven/libs/curl/lib/getinfo.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/getinfo.h
   freeswitch/branches/seven/libs/curl/lib/gtls.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/gtls.c
   freeswitch/branches/seven/libs/curl/lib/gtls.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/gtls.h
   freeswitch/branches/seven/libs/curl/lib/hash.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/hash.c
   freeswitch/branches/seven/libs/curl/lib/hash.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/hash.h
   freeswitch/branches/seven/libs/curl/lib/hostares.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/hostares.c
   freeswitch/branches/seven/libs/curl/lib/hostasyn.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/hostasyn.c
   freeswitch/branches/seven/libs/curl/lib/hostip.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/hostip.c
   freeswitch/branches/seven/libs/curl/lib/hostip.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/hostip.h
   freeswitch/branches/seven/libs/curl/lib/hostip4.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/hostip4.c
   freeswitch/branches/seven/libs/curl/lib/hostip6.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/hostip6.c
   freeswitch/branches/seven/libs/curl/lib/hostsyn.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/hostsyn.c
   freeswitch/branches/seven/libs/curl/lib/hostthre.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/hostthre.c
   freeswitch/branches/seven/libs/curl/lib/http.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/http.c
   freeswitch/branches/seven/libs/curl/lib/http.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/http.h
   freeswitch/branches/seven/libs/curl/lib/http_chunks.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/http_chunks.c
   freeswitch/branches/seven/libs/curl/lib/http_chunks.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/http_chunks.h
   freeswitch/branches/seven/libs/curl/lib/http_digest.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/http_digest.c
   freeswitch/branches/seven/libs/curl/lib/http_digest.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/http_digest.h
   freeswitch/branches/seven/libs/curl/lib/http_negotiate.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/http_negotiate.c
   freeswitch/branches/seven/libs/curl/lib/http_negotiate.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/http_negotiate.h
   freeswitch/branches/seven/libs/curl/lib/http_ntlm.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/http_ntlm.c
   freeswitch/branches/seven/libs/curl/lib/http_ntlm.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/http_ntlm.h
   freeswitch/branches/seven/libs/curl/lib/if2ip.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/if2ip.c
   freeswitch/branches/seven/libs/curl/lib/if2ip.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/if2ip.h
   freeswitch/branches/seven/libs/curl/lib/inet_ntoa_r.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/inet_ntoa_r.h
   freeswitch/branches/seven/libs/curl/lib/inet_ntop.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/inet_ntop.c
   freeswitch/branches/seven/libs/curl/lib/inet_ntop.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/inet_ntop.h
   freeswitch/branches/seven/libs/curl/lib/inet_pton.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/inet_pton.c
   freeswitch/branches/seven/libs/curl/lib/inet_pton.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/inet_pton.h
   freeswitch/branches/seven/libs/curl/lib/krb4.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/krb4.c
   freeswitch/branches/seven/libs/curl/lib/krb4.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/krb4.h
   freeswitch/branches/seven/libs/curl/lib/ldap.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/ldap.c
   freeswitch/branches/seven/libs/curl/lib/ldap.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/ldap.h
   freeswitch/branches/seven/libs/curl/lib/libcurl.framework.make
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/libcurl.framework.make
   freeswitch/branches/seven/libs/curl/lib/libcurl.imp
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/libcurl.imp
   freeswitch/branches/seven/libs/curl/lib/libcurl.plist
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/libcurl.plist
   freeswitch/branches/seven/libs/curl/lib/libcurl.rc
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/libcurl.rc
   freeswitch/branches/seven/libs/curl/lib/llist.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/llist.c
   freeswitch/branches/seven/libs/curl/lib/llist.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/llist.h
   freeswitch/branches/seven/libs/curl/lib/makefile.amiga
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/makefile.amiga
   freeswitch/branches/seven/libs/curl/lib/makefile.dj
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/makefile.dj
   freeswitch/branches/seven/libs/curl/lib/md5.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/md5.c
   freeswitch/branches/seven/libs/curl/lib/md5.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/md5.h
   freeswitch/branches/seven/libs/curl/lib/memdebug.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/memdebug.c
   freeswitch/branches/seven/libs/curl/lib/memdebug.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/memdebug.h
   freeswitch/branches/seven/libs/curl/lib/memory.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/memory.h
   freeswitch/branches/seven/libs/curl/lib/mprintf.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/mprintf.c
   freeswitch/branches/seven/libs/curl/lib/msvcproj.foot
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/msvcproj.foot
   freeswitch/branches/seven/libs/curl/lib/msvcproj.head
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/msvcproj.head
   freeswitch/branches/seven/libs/curl/lib/multi.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/multi.c
   freeswitch/branches/seven/libs/curl/lib/multiif.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/multiif.h
   freeswitch/branches/seven/libs/curl/lib/netrc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/netrc.c
   freeswitch/branches/seven/libs/curl/lib/netrc.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/netrc.h
   freeswitch/branches/seven/libs/curl/lib/nwlib.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/nwlib.c
   freeswitch/branches/seven/libs/curl/lib/parsedate.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/parsedate.c
   freeswitch/branches/seven/libs/curl/lib/parsedate.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/parsedate.h
   freeswitch/branches/seven/libs/curl/lib/progress.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/progress.c
   freeswitch/branches/seven/libs/curl/lib/progress.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/progress.h
   freeswitch/branches/seven/libs/curl/lib/security.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/security.c
   freeswitch/branches/seven/libs/curl/lib/select.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/select.c
   freeswitch/branches/seven/libs/curl/lib/select.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/select.h
   freeswitch/branches/seven/libs/curl/lib/sendf.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/sendf.c
   freeswitch/branches/seven/libs/curl/lib/sendf.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/sendf.h
   freeswitch/branches/seven/libs/curl/lib/setup.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/setup.h
   freeswitch/branches/seven/libs/curl/lib/setup_once.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/setup_once.h
   freeswitch/branches/seven/libs/curl/lib/share.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/share.c
   freeswitch/branches/seven/libs/curl/lib/share.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/share.h
   freeswitch/branches/seven/libs/curl/lib/sockaddr.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/sockaddr.h
   freeswitch/branches/seven/libs/curl/lib/socks.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/socks.c
   freeswitch/branches/seven/libs/curl/lib/socks.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/socks.h
   freeswitch/branches/seven/libs/curl/lib/speedcheck.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/speedcheck.c
   freeswitch/branches/seven/libs/curl/lib/speedcheck.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/speedcheck.h
   freeswitch/branches/seven/libs/curl/lib/splay.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/splay.c
   freeswitch/branches/seven/libs/curl/lib/splay.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/splay.h
   freeswitch/branches/seven/libs/curl/lib/sslgen.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/sslgen.c
   freeswitch/branches/seven/libs/curl/lib/sslgen.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/sslgen.h
   freeswitch/branches/seven/libs/curl/lib/ssluse.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/ssluse.c
   freeswitch/branches/seven/libs/curl/lib/ssluse.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/ssluse.h
   freeswitch/branches/seven/libs/curl/lib/strdup.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/strdup.c
   freeswitch/branches/seven/libs/curl/lib/strdup.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/strdup.h
   freeswitch/branches/seven/libs/curl/lib/strequal.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/strequal.c
   freeswitch/branches/seven/libs/curl/lib/strequal.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/strequal.h
   freeswitch/branches/seven/libs/curl/lib/strerror.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/strerror.c
   freeswitch/branches/seven/libs/curl/lib/strerror.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/strerror.h
   freeswitch/branches/seven/libs/curl/lib/strtok.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/strtok.c
   freeswitch/branches/seven/libs/curl/lib/strtok.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/strtok.h
   freeswitch/branches/seven/libs/curl/lib/strtoofft.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/strtoofft.c
   freeswitch/branches/seven/libs/curl/lib/strtoofft.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/strtoofft.h
   freeswitch/branches/seven/libs/curl/lib/telnet.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/telnet.c
   freeswitch/branches/seven/libs/curl/lib/telnet.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/telnet.h
   freeswitch/branches/seven/libs/curl/lib/tftp.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/tftp.c
   freeswitch/branches/seven/libs/curl/lib/tftp.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/tftp.h
   freeswitch/branches/seven/libs/curl/lib/timeval.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/timeval.c
   freeswitch/branches/seven/libs/curl/lib/timeval.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/timeval.h
   freeswitch/branches/seven/libs/curl/lib/transfer.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/transfer.c
   freeswitch/branches/seven/libs/curl/lib/transfer.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/transfer.h
   freeswitch/branches/seven/libs/curl/lib/url.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/url.c
   freeswitch/branches/seven/libs/curl/lib/url.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/url.h
   freeswitch/branches/seven/libs/curl/lib/urldata.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/urldata.h
   freeswitch/branches/seven/libs/curl/lib/version.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/lib/version.c
   freeswitch/branches/seven/libs/curl/libcurl.pc.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/libcurl.pc.in
   freeswitch/branches/seven/libs/curl/maketgz
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/maketgz
   freeswitch/branches/seven/libs/curl/mkinstalldirs
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/mkinstalldirs
   freeswitch/branches/seven/libs/curl/packages/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/curl/packages/
   freeswitch/branches/seven/libs/curl/packages/AIX/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/curl/packages/AIX/
   freeswitch/branches/seven/libs/curl/packages/AIX/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/packages/AIX/Makefile.am
   freeswitch/branches/seven/libs/curl/packages/AIX/RPM/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/curl/packages/AIX/RPM/
   freeswitch/branches/seven/libs/curl/packages/AIX/RPM/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/packages/AIX/RPM/Makefile.am
   freeswitch/branches/seven/libs/curl/packages/AIX/RPM/README
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/packages/AIX/RPM/README
   freeswitch/branches/seven/libs/curl/packages/AIX/RPM/curl.spec.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/packages/AIX/RPM/curl.spec.in
   freeswitch/branches/seven/libs/curl/packages/DOS/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/curl/packages/DOS/
   freeswitch/branches/seven/libs/curl/packages/DOS/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/packages/DOS/Makefile.am
   freeswitch/branches/seven/libs/curl/packages/DOS/README
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/packages/DOS/README
   freeswitch/branches/seven/libs/curl/packages/DOS/common.dj
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/packages/DOS/common.dj
   freeswitch/branches/seven/libs/curl/packages/EPM/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/curl/packages/EPM/
   freeswitch/branches/seven/libs/curl/packages/EPM/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/packages/EPM/Makefile.am
   freeswitch/branches/seven/libs/curl/packages/EPM/README
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/packages/EPM/README
   freeswitch/branches/seven/libs/curl/packages/EPM/curl.list.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/packages/EPM/curl.list.in
   freeswitch/branches/seven/libs/curl/packages/Linux/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/curl/packages/Linux/
   freeswitch/branches/seven/libs/curl/packages/Linux/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/packages/Linux/Makefile.am
   freeswitch/branches/seven/libs/curl/packages/Linux/RPM/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/curl/packages/Linux/RPM/
   freeswitch/branches/seven/libs/curl/packages/Linux/RPM/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/packages/Linux/RPM/Makefile.am
   freeswitch/branches/seven/libs/curl/packages/Linux/RPM/README
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/packages/Linux/RPM/README
   freeswitch/branches/seven/libs/curl/packages/Linux/RPM/curl-ssl.spec.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/packages/Linux/RPM/curl-ssl.spec.in
   freeswitch/branches/seven/libs/curl/packages/Linux/RPM/curl.spec.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/packages/Linux/RPM/curl.spec.in
   freeswitch/branches/seven/libs/curl/packages/Linux/RPM/make_curl_rpm
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/packages/Linux/RPM/make_curl_rpm
   freeswitch/branches/seven/libs/curl/packages/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/packages/Makefile.am
   freeswitch/branches/seven/libs/curl/packages/NetWare/
      - copied from r11459, /freeswitch/trunk/libs/curl/packages/NetWare/
   freeswitch/branches/seven/libs/curl/packages/NetWare/get_ver.awk
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/packages/NetWare/get_ver.awk
   freeswitch/branches/seven/libs/curl/packages/README
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/packages/README
   freeswitch/branches/seven/libs/curl/packages/Solaris/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/curl/packages/Solaris/
   freeswitch/branches/seven/libs/curl/packages/Solaris/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/packages/Solaris/Makefile.am
   freeswitch/branches/seven/libs/curl/packages/Win32/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/curl/packages/Win32/
   freeswitch/branches/seven/libs/curl/packages/Win32/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/packages/Win32/Makefile.am
   freeswitch/branches/seven/libs/curl/packages/Win32/README
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/packages/Win32/README
   freeswitch/branches/seven/libs/curl/packages/Win32/cygwin/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/curl/packages/Win32/cygwin/
   freeswitch/branches/seven/libs/curl/packages/Win32/cygwin/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/packages/Win32/cygwin/Makefile.am
   freeswitch/branches/seven/libs/curl/packages/Win32/cygwin/README
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/packages/Win32/cygwin/README
   freeswitch/branches/seven/libs/curl/packages/vms/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/curl/packages/vms/
   freeswitch/branches/seven/libs/curl/packages/vms/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/packages/vms/Makefile.am
   freeswitch/branches/seven/libs/curl/packages/vms/axp/
      - copied from r11459, /freeswitch/trunk/libs/curl/packages/vms/axp/
   freeswitch/branches/seven/libs/curl/packages/vms/axp/README
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/packages/vms/axp/README
   freeswitch/branches/seven/libs/curl/packages/vms/batch_compile.com
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/packages/vms/batch_compile.com
   freeswitch/branches/seven/libs/curl/packages/vms/build_vms.com
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/packages/vms/build_vms.com
   freeswitch/branches/seven/libs/curl/packages/vms/config-vms.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/packages/vms/config-vms.h
   freeswitch/branches/seven/libs/curl/packages/vms/curlmsg.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/packages/vms/curlmsg.h
   freeswitch/branches/seven/libs/curl/packages/vms/curlmsg.msg
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/packages/vms/curlmsg.msg
   freeswitch/branches/seven/libs/curl/packages/vms/curlmsg.sdl
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/packages/vms/curlmsg.sdl
   freeswitch/branches/seven/libs/curl/packages/vms/curlmsg_vms.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/packages/vms/curlmsg_vms.h
   freeswitch/branches/seven/libs/curl/packages/vms/defines.com
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/packages/vms/defines.com
   freeswitch/branches/seven/libs/curl/packages/vms/hpssl_alpha.opt
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/packages/vms/hpssl_alpha.opt
   freeswitch/branches/seven/libs/curl/packages/vms/hpssl_ia64.opt
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/packages/vms/hpssl_ia64.opt
   freeswitch/branches/seven/libs/curl/packages/vms/hpssl_vax.opt
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/packages/vms/hpssl_vax.opt
   freeswitch/branches/seven/libs/curl/packages/vms/ia64/
      - copied from r11459, /freeswitch/trunk/libs/curl/packages/vms/ia64/
   freeswitch/branches/seven/libs/curl/packages/vms/ia64/README
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/packages/vms/ia64/README
   freeswitch/branches/seven/libs/curl/packages/vms/readme
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/packages/vms/readme
   freeswitch/branches/seven/libs/curl/packages/vms/vax/
      - copied from r11459, /freeswitch/trunk/libs/curl/packages/vms/vax/
   freeswitch/branches/seven/libs/curl/packages/vms/vax/README
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/packages/vms/vax/README
   freeswitch/branches/seven/libs/curl/reconf
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/reconf
   freeswitch/branches/seven/libs/curl/sample.emacs
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/sample.emacs
   freeswitch/branches/seven/libs/curl/src/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/curl/src/
   freeswitch/branches/seven/libs/curl/src/Makefile.Watcom
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/src/Makefile.Watcom
   freeswitch/branches/seven/libs/curl/src/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/src/Makefile.am
   freeswitch/branches/seven/libs/curl/src/Makefile.b32
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/src/Makefile.b32
   freeswitch/branches/seven/libs/curl/src/Makefile.inc
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/src/Makefile.inc
   freeswitch/branches/seven/libs/curl/src/Makefile.m32
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/src/Makefile.m32
   freeswitch/branches/seven/libs/curl/src/Makefile.netware
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/src/Makefile.netware
   freeswitch/branches/seven/libs/curl/src/Makefile.riscos
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/src/Makefile.riscos
   freeswitch/branches/seven/libs/curl/src/Makefile.vc6
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/src/Makefile.vc6
   freeswitch/branches/seven/libs/curl/src/config-amigaos.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/src/config-amigaos.h
   freeswitch/branches/seven/libs/curl/src/config-mac.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/src/config-mac.h
   freeswitch/branches/seven/libs/curl/src/config-riscos.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/src/config-riscos.h
   freeswitch/branches/seven/libs/curl/src/config-win32.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/src/config-win32.h
   freeswitch/branches/seven/libs/curl/src/config.h.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/src/config.h.in
   freeswitch/branches/seven/libs/curl/src/curl.rc
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/src/curl.rc
   freeswitch/branches/seven/libs/curl/src/getpass.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/src/getpass.c
   freeswitch/branches/seven/libs/curl/src/getpass.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/src/getpass.h
   freeswitch/branches/seven/libs/curl/src/homedir.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/src/homedir.c
   freeswitch/branches/seven/libs/curl/src/homedir.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/src/homedir.h
   freeswitch/branches/seven/libs/curl/src/hugehelp.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/src/hugehelp.h
   freeswitch/branches/seven/libs/curl/src/macos/
      - copied from r11459, /freeswitch/trunk/libs/curl/src/macos/
   freeswitch/branches/seven/libs/curl/src/macos/MACINSTALL.TXT
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/src/macos/MACINSTALL.TXT
   freeswitch/branches/seven/libs/curl/src/macos/curl.mcp.xml.sit.hqx
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/src/macos/curl.mcp.xml.sit.hqx
   freeswitch/branches/seven/libs/curl/src/macos/src/
      - copied from r11459, /freeswitch/trunk/libs/curl/src/macos/src/
   freeswitch/branches/seven/libs/curl/src/macos/src/curl_GUSIConfig.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/src/macos/src/curl_GUSIConfig.cpp
   freeswitch/branches/seven/libs/curl/src/macos/src/macos_main.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/src/macos/src/macos_main.cpp
   freeswitch/branches/seven/libs/curl/src/main.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/src/main.c
   freeswitch/branches/seven/libs/curl/src/makefile.amiga
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/src/makefile.amiga
   freeswitch/branches/seven/libs/curl/src/makefile.dj
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/src/makefile.dj
   freeswitch/branches/seven/libs/curl/src/mkhelp.pl
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/src/mkhelp.pl
   freeswitch/branches/seven/libs/curl/src/setup.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/src/setup.h
   freeswitch/branches/seven/libs/curl/src/urlglob.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/src/urlglob.c
   freeswitch/branches/seven/libs/curl/src/urlglob.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/src/urlglob.h
   freeswitch/branches/seven/libs/curl/src/version.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/src/version.h
   freeswitch/branches/seven/libs/curl/src/writeenv.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/src/writeenv.c
   freeswitch/branches/seven/libs/curl/src/writeenv.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/src/writeenv.h
   freeswitch/branches/seven/libs/curl/src/writeout.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/src/writeout.c
   freeswitch/branches/seven/libs/curl/src/writeout.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/curl/src/writeout.h
   freeswitch/branches/seven/libs/esl/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/esl/
   freeswitch/branches/seven/libs/esl/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/libs/esl/Makefile
   freeswitch/branches/seven/libs/esl/fs_cli.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/esl/fs_cli.2008.vcproj
   freeswitch/branches/seven/libs/esl/fs_cli.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/esl/fs_cli.c
   freeswitch/branches/seven/libs/esl/fs_cli.conf
      - copied unchanged from r11459, /freeswitch/trunk/libs/esl/fs_cli.conf
   freeswitch/branches/seven/libs/esl/getopt/
      - copied from r11459, /freeswitch/trunk/libs/esl/getopt/
   freeswitch/branches/seven/libs/esl/getopt/getopt.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/esl/getopt/getopt.h
   freeswitch/branches/seven/libs/esl/getopt/getopt_long.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/esl/getopt/getopt_long.c
   freeswitch/branches/seven/libs/esl/src/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/esl/src/
   freeswitch/branches/seven/libs/esl/src/esl.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/esl/src/esl.2008.vcproj
   freeswitch/branches/seven/libs/esl/src/esl.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/esl/src/esl.c
   freeswitch/branches/seven/libs/esl/src/esl_config.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/esl/src/esl_config.c
   freeswitch/branches/seven/libs/esl/src/esl_event.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/esl/src/esl_event.c
   freeswitch/branches/seven/libs/esl/src/esl_threadmutex.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/esl/src/esl_threadmutex.c
   freeswitch/branches/seven/libs/esl/src/include/
      - copied from r11459, /freeswitch/trunk/libs/esl/src/include/
   freeswitch/branches/seven/libs/esl/src/include/esl.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/esl/src/include/esl.h
   freeswitch/branches/seven/libs/esl/src/include/esl_config.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/esl/src/include/esl_config.h
   freeswitch/branches/seven/libs/esl/src/include/esl_event.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/esl/src/include/esl_event.h
   freeswitch/branches/seven/libs/esl/src/include/esl_threadmutex.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/esl/src/include/esl_threadmutex.h
   freeswitch/branches/seven/libs/esl/testclient.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/esl/testclient.c
   freeswitch/branches/seven/libs/esl/testserver.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/esl/testserver.c
   freeswitch/branches/seven/libs/iksemel/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/iksemel/
   freeswitch/branches/seven/libs/iksemel/.update
      - copied unchanged from r11459, /freeswitch/trunk/libs/iksemel/.update
   freeswitch/branches/seven/libs/iksemel/AUTHORS
      - copied unchanged from r11459, /freeswitch/trunk/libs/iksemel/AUTHORS
   freeswitch/branches/seven/libs/iksemel/COPYING
      - copied unchanged from r11459, /freeswitch/trunk/libs/iksemel/COPYING
   freeswitch/branches/seven/libs/iksemel/ChangeLog
      - copied unchanged from r11459, /freeswitch/trunk/libs/iksemel/ChangeLog
   freeswitch/branches/seven/libs/iksemel/HACKING
      - copied unchanged from r11459, /freeswitch/trunk/libs/iksemel/HACKING
   freeswitch/branches/seven/libs/iksemel/INSTALL
      - copied unchanged from r11459, /freeswitch/trunk/libs/iksemel/INSTALL
   freeswitch/branches/seven/libs/iksemel/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/iksemel/Makefile.am
   freeswitch/branches/seven/libs/iksemel/NEWS
      - copied unchanged from r11459, /freeswitch/trunk/libs/iksemel/NEWS
   freeswitch/branches/seven/libs/iksemel/README
      - copied unchanged from r11459, /freeswitch/trunk/libs/iksemel/README
   freeswitch/branches/seven/libs/iksemel/TODO
      - copied unchanged from r11459, /freeswitch/trunk/libs/iksemel/TODO
   freeswitch/branches/seven/libs/iksemel/acsite.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/iksemel/acsite.m4
   freeswitch/branches/seven/libs/iksemel/build/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/iksemel/build/
   freeswitch/branches/seven/libs/iksemel/build/libgnutls.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/iksemel/build/libgnutls.m4
   freeswitch/branches/seven/libs/iksemel/build/texinfo.tex
      - copied unchanged from r11459, /freeswitch/trunk/libs/iksemel/build/texinfo.tex
   freeswitch/branches/seven/libs/iksemel/configure.ac
      - copied unchanged from r11459, /freeswitch/trunk/libs/iksemel/configure.ac
   freeswitch/branches/seven/libs/iksemel/configure.gnu
      - copied unchanged from r11459, /freeswitch/trunk/libs/iksemel/configure.gnu
   freeswitch/branches/seven/libs/iksemel/doc/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/iksemel/doc/
   freeswitch/branches/seven/libs/iksemel/doc/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/iksemel/doc/Makefile.am
   freeswitch/branches/seven/libs/iksemel/doc/iksemel
      - copied unchanged from r11459, /freeswitch/trunk/libs/iksemel/doc/iksemel
   freeswitch/branches/seven/libs/iksemel/doc/iksemel.texi
      - copied unchanged from r11459, /freeswitch/trunk/libs/iksemel/doc/iksemel.texi
   freeswitch/branches/seven/libs/iksemel/iksemel.pc.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/iksemel/iksemel.pc.in
   freeswitch/branches/seven/libs/iksemel/include/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/iksemel/include/
   freeswitch/branches/seven/libs/iksemel/include/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/iksemel/include/Makefile.am
   freeswitch/branches/seven/libs/iksemel/include/common.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/iksemel/include/common.h
   freeswitch/branches/seven/libs/iksemel/include/finetune.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/iksemel/include/finetune.h
   freeswitch/branches/seven/libs/iksemel/include/iksemel.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/iksemel/include/iksemel.h
   freeswitch/branches/seven/libs/iksemel/include/stamp-h.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/iksemel/include/stamp-h.in
   freeswitch/branches/seven/libs/iksemel/ltmain.sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/iksemel/ltmain.sh
   freeswitch/branches/seven/libs/iksemel/src/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/iksemel/src/
   freeswitch/branches/seven/libs/iksemel/src/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/iksemel/src/Makefile.am
   freeswitch/branches/seven/libs/iksemel/src/base64.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/iksemel/src/base64.c
   freeswitch/branches/seven/libs/iksemel/src/dom.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/iksemel/src/dom.c
   freeswitch/branches/seven/libs/iksemel/src/filter.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/iksemel/src/filter.c
   freeswitch/branches/seven/libs/iksemel/src/iks.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/iksemel/src/iks.c
   freeswitch/branches/seven/libs/iksemel/src/ikstack.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/iksemel/src/ikstack.c
   freeswitch/branches/seven/libs/iksemel/src/io-posix.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/iksemel/src/io-posix.c
   freeswitch/branches/seven/libs/iksemel/src/jabber.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/iksemel/src/jabber.c
   freeswitch/branches/seven/libs/iksemel/src/md5.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/iksemel/src/md5.c
   freeswitch/branches/seven/libs/iksemel/src/sax.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/iksemel/src/sax.c
   freeswitch/branches/seven/libs/iksemel/src/sha.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/iksemel/src/sha.c
   freeswitch/branches/seven/libs/iksemel/src/stream.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/iksemel/src/stream.c
   freeswitch/branches/seven/libs/iksemel/src/utility.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/iksemel/src/utility.c
   freeswitch/branches/seven/libs/iksemel/test/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/iksemel/test/
   freeswitch/branches/seven/libs/iksemel/test/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/iksemel/test/Makefile.am
   freeswitch/branches/seven/libs/iksemel/test/tst-dom.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/iksemel/test/tst-dom.c
   freeswitch/branches/seven/libs/iksemel/test/tst-filter.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/iksemel/test/tst-filter.c
   freeswitch/branches/seven/libs/iksemel/test/tst-iks.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/iksemel/test/tst-iks.c
   freeswitch/branches/seven/libs/iksemel/test/tst-ikstack.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/iksemel/test/tst-ikstack.c
   freeswitch/branches/seven/libs/iksemel/test/tst-jid.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/iksemel/test/tst-jid.c
   freeswitch/branches/seven/libs/iksemel/test/tst-md5.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/iksemel/test/tst-md5.c
   freeswitch/branches/seven/libs/iksemel/test/tst-sax.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/iksemel/test/tst-sax.c
   freeswitch/branches/seven/libs/iksemel/test/tst-sha.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/iksemel/test/tst-sha.c
   freeswitch/branches/seven/libs/iksemel/tools/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/iksemel/tools/
   freeswitch/branches/seven/libs/iksemel/tools/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/iksemel/tools/Makefile.am
   freeswitch/branches/seven/libs/iksemel/tools/hash.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/iksemel/tools/hash.c
   freeswitch/branches/seven/libs/iksemel/tools/ikslint.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/iksemel/tools/ikslint.c
   freeswitch/branches/seven/libs/iksemel/tools/iksperf.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/iksemel/tools/iksperf.c
   freeswitch/branches/seven/libs/iksemel/tools/iksroster.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/iksemel/tools/iksroster.c
   freeswitch/branches/seven/libs/iksemel/tools/perf.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/iksemel/tools/perf.c
   freeswitch/branches/seven/libs/iksemel/tools/perf.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/iksemel/tools/perf.h
   freeswitch/branches/seven/libs/js/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/js/
   freeswitch/branches/seven/libs/js/.update
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/.update
   freeswitch/branches/seven/libs/js/AUTHORS
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/AUTHORS
   freeswitch/branches/seven/libs/js/ChangeLog
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/ChangeLog
   freeswitch/branches/seven/libs/js/LINKS
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/LINKS
   freeswitch/branches/seven/libs/js/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/Makefile.in
   freeswitch/branches/seven/libs/js/README
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/README
   freeswitch/branches/seven/libs/js/THANKS
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/THANKS
   freeswitch/branches/seven/libs/js/TODO
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/TODO
   freeswitch/branches/seven/libs/js/VERSION
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/VERSION
   freeswitch/branches/seven/libs/js/acsite.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/acsite.m4
   freeswitch/branches/seven/libs/js/config.hw
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/config.hw
   freeswitch/branches/seven/libs/js/configure.ac
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/configure.ac
   freeswitch/branches/seven/libs/js/configure.gnu
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/configure.gnu
   freeswitch/branches/seven/libs/js/js-config.1
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/js-config.1
   freeswitch/branches/seven/libs/js/js-config.sh.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/js-config.sh.in
   freeswitch/branches/seven/libs/js/js.1
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/js.1
   freeswitch/branches/seven/libs/js/js.3
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/js.3
   freeswitch/branches/seven/libs/js/js.pc.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/js.pc.in
   freeswitch/branches/seven/libs/js/jslint.js
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/jslint.js
   freeswitch/branches/seven/libs/js/libtool.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/libtool.m4
   freeswitch/branches/seven/libs/js/nsprpub/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/
   freeswitch/branches/seven/libs/js/nsprpub/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/.cvsignore
   freeswitch/branches/seven/libs/js/nsprpub/.update
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/.update
   freeswitch/branches/seven/libs/js/nsprpub/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/Makefile.in
   freeswitch/branches/seven/libs/js/nsprpub/admin/
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/admin/
   freeswitch/branches/seven/libs/js/nsprpub/admin/explode.pl
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/admin/explode.pl
   freeswitch/branches/seven/libs/js/nsprpub/admin/makeTargetDirs.sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/admin/makeTargetDirs.sh
   freeswitch/branches/seven/libs/js/nsprpub/admin/repackage.sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/admin/repackage.sh
   freeswitch/branches/seven/libs/js/nsprpub/admin/symlinks.sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/admin/symlinks.sh
   freeswitch/branches/seven/libs/js/nsprpub/build/
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/build/
   freeswitch/branches/seven/libs/js/nsprpub/build/autoconf/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/build/autoconf/
   freeswitch/branches/seven/libs/js/nsprpub/build/autoconf/install-sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/build/autoconf/install-sh
   freeswitch/branches/seven/libs/js/nsprpub/build/cygwin-wrapper
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/build/cygwin-wrapper
   freeswitch/branches/seven/libs/js/nsprpub/config/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/config/
   freeswitch/branches/seven/libs/js/nsprpub/config/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/config/.cvsignore
   freeswitch/branches/seven/libs/js/nsprpub/config/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/config/Makefile.in
   freeswitch/branches/seven/libs/js/nsprpub/config/autoconf.mk.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/config/autoconf.mk.in
   freeswitch/branches/seven/libs/js/nsprpub/config/config.mk
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/config/config.mk
   freeswitch/branches/seven/libs/js/nsprpub/config/gcc_hidden.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/config/gcc_hidden.h
   freeswitch/branches/seven/libs/js/nsprpub/config/libc_r.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/config/libc_r.h
   freeswitch/branches/seven/libs/js/nsprpub/config/make-system-wrappers.pl
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/config/make-system-wrappers.pl
   freeswitch/branches/seven/libs/js/nsprpub/config/nfspwd.pl
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/config/nfspwd.pl
   freeswitch/branches/seven/libs/js/nsprpub/config/now.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/config/now.c
   freeswitch/branches/seven/libs/js/nsprpub/config/nsinstall.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/config/nsinstall.c
   freeswitch/branches/seven/libs/js/nsprpub/config/nspr-config.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/config/nspr-config.in
   freeswitch/branches/seven/libs/js/nsprpub/config/nspr.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/config/nspr.m4
   freeswitch/branches/seven/libs/js/nsprpub/config/nsprincl.mk.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/config/nsprincl.mk.in
   freeswitch/branches/seven/libs/js/nsprpub/config/nsprincl.sh.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/config/nsprincl.sh.in
   freeswitch/branches/seven/libs/js/nsprpub/config/pathsub.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/config/pathsub.h
   freeswitch/branches/seven/libs/js/nsprpub/config/prdepend.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/config/prdepend.h
   freeswitch/branches/seven/libs/js/nsprpub/config/prmkdir.bat
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/config/prmkdir.bat
   freeswitch/branches/seven/libs/js/nsprpub/config/rules.mk
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/config/rules.mk
   freeswitch/branches/seven/libs/js/nsprpub/config/system-headers
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/config/system-headers
   freeswitch/branches/seven/libs/js/nsprpub/configure.gnu
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/configure.gnu
   freeswitch/branches/seven/libs/js/nsprpub/configure.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/configure.in
   freeswitch/branches/seven/libs/js/nsprpub/include/
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/include/
   freeswitch/branches/seven/libs/js/nsprpub/lib/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/
   freeswitch/branches/seven/libs/js/nsprpub/lib/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/.cvsignore
   freeswitch/branches/seven/libs/js/nsprpub/lib/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/Makefile.in
   freeswitch/branches/seven/libs/js/nsprpub/lib/ds/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/ds/
   freeswitch/branches/seven/libs/js/nsprpub/lib/ds/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/ds/.cvsignore
   freeswitch/branches/seven/libs/js/nsprpub/lib/ds/MANIFEST
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/ds/MANIFEST
   freeswitch/branches/seven/libs/js/nsprpub/lib/ds/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/ds/Makefile.in
   freeswitch/branches/seven/libs/js/nsprpub/lib/ds/plarena.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/ds/plarena.c
   freeswitch/branches/seven/libs/js/nsprpub/lib/ds/plarena.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/ds/plarena.h
   freeswitch/branches/seven/libs/js/nsprpub/lib/ds/plarenas.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/ds/plarenas.h
   freeswitch/branches/seven/libs/js/nsprpub/lib/ds/plds.def
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/ds/plds.def
   freeswitch/branches/seven/libs/js/nsprpub/lib/ds/plds.rc
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/ds/plds.rc
   freeswitch/branches/seven/libs/js/nsprpub/lib/ds/plds_symvec.opt
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/ds/plds_symvec.opt
   freeswitch/branches/seven/libs/js/nsprpub/lib/ds/plhash.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/ds/plhash.c
   freeswitch/branches/seven/libs/js/nsprpub/lib/ds/plhash.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/ds/plhash.h
   freeswitch/branches/seven/libs/js/nsprpub/lib/ds/plvrsion.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/ds/plvrsion.c
   freeswitch/branches/seven/libs/js/nsprpub/lib/libc/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/libc/
   freeswitch/branches/seven/libs/js/nsprpub/lib/libc/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/libc/.cvsignore
   freeswitch/branches/seven/libs/js/nsprpub/lib/libc/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/libc/Makefile.in
   freeswitch/branches/seven/libs/js/nsprpub/lib/libc/README
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/libc/README
   freeswitch/branches/seven/libs/js/nsprpub/lib/libc/include/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/libc/include/
   freeswitch/branches/seven/libs/js/nsprpub/lib/libc/include/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/libc/include/.cvsignore
   freeswitch/branches/seven/libs/js/nsprpub/lib/libc/include/MANIFEST
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/libc/include/MANIFEST
   freeswitch/branches/seven/libs/js/nsprpub/lib/libc/include/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/libc/include/Makefile.in
   freeswitch/branches/seven/libs/js/nsprpub/lib/libc/include/README
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/libc/include/README
   freeswitch/branches/seven/libs/js/nsprpub/lib/libc/include/plbase64.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/libc/include/plbase64.h
   freeswitch/branches/seven/libs/js/nsprpub/lib/libc/include/plerror.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/libc/include/plerror.h
   freeswitch/branches/seven/libs/js/nsprpub/lib/libc/include/plgetopt.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/libc/include/plgetopt.h
   freeswitch/branches/seven/libs/js/nsprpub/lib/libc/include/plresolv.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/libc/include/plresolv.h
   freeswitch/branches/seven/libs/js/nsprpub/lib/libc/include/plstr.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/libc/include/plstr.h
   freeswitch/branches/seven/libs/js/nsprpub/lib/libc/src/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/libc/src/
   freeswitch/branches/seven/libs/js/nsprpub/lib/libc/src/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/libc/src/.cvsignore
   freeswitch/branches/seven/libs/js/nsprpub/lib/libc/src/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/libc/src/Makefile.in
   freeswitch/branches/seven/libs/js/nsprpub/lib/libc/src/README
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/libc/src/README
   freeswitch/branches/seven/libs/js/nsprpub/lib/libc/src/base64.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/libc/src/base64.c
   freeswitch/branches/seven/libs/js/nsprpub/lib/libc/src/plc.def
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/libc/src/plc.def
   freeswitch/branches/seven/libs/js/nsprpub/lib/libc/src/plc.rc
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/libc/src/plc.rc
   freeswitch/branches/seven/libs/js/nsprpub/lib/libc/src/plc_symvec.opt
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/libc/src/plc_symvec.opt
   freeswitch/branches/seven/libs/js/nsprpub/lib/libc/src/plerror.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/libc/src/plerror.c
   freeswitch/branches/seven/libs/js/nsprpub/lib/libc/src/plgetopt.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/libc/src/plgetopt.c
   freeswitch/branches/seven/libs/js/nsprpub/lib/libc/src/plvrsion.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/libc/src/plvrsion.c
   freeswitch/branches/seven/libs/js/nsprpub/lib/libc/src/strcat.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/libc/src/strcat.c
   freeswitch/branches/seven/libs/js/nsprpub/lib/libc/src/strccmp.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/libc/src/strccmp.c
   freeswitch/branches/seven/libs/js/nsprpub/lib/libc/src/strchr.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/libc/src/strchr.c
   freeswitch/branches/seven/libs/js/nsprpub/lib/libc/src/strcmp.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/libc/src/strcmp.c
   freeswitch/branches/seven/libs/js/nsprpub/lib/libc/src/strcpy.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/libc/src/strcpy.c
   freeswitch/branches/seven/libs/js/nsprpub/lib/libc/src/strcstr.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/libc/src/strcstr.c
   freeswitch/branches/seven/libs/js/nsprpub/lib/libc/src/strdup.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/libc/src/strdup.c
   freeswitch/branches/seven/libs/js/nsprpub/lib/libc/src/strlen.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/libc/src/strlen.c
   freeswitch/branches/seven/libs/js/nsprpub/lib/libc/src/strpbrk.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/libc/src/strpbrk.c
   freeswitch/branches/seven/libs/js/nsprpub/lib/libc/src/strstr.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/libc/src/strstr.c
   freeswitch/branches/seven/libs/js/nsprpub/lib/libc/src/strtok.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/libc/src/strtok.c
   freeswitch/branches/seven/libs/js/nsprpub/lib/msgc/
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/msgc/
   freeswitch/branches/seven/libs/js/nsprpub/lib/msgc/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/msgc/.cvsignore
   freeswitch/branches/seven/libs/js/nsprpub/lib/msgc/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/msgc/Makefile.in
   freeswitch/branches/seven/libs/js/nsprpub/lib/msgc/include/
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/msgc/include/
   freeswitch/branches/seven/libs/js/nsprpub/lib/msgc/include/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/msgc/include/.cvsignore
   freeswitch/branches/seven/libs/js/nsprpub/lib/msgc/include/MANIFEST
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/msgc/include/MANIFEST
   freeswitch/branches/seven/libs/js/nsprpub/lib/msgc/include/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/msgc/include/Makefile.in
   freeswitch/branches/seven/libs/js/nsprpub/lib/msgc/include/gcint.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/msgc/include/gcint.h
   freeswitch/branches/seven/libs/js/nsprpub/lib/msgc/include/prgc.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/msgc/include/prgc.h
   freeswitch/branches/seven/libs/js/nsprpub/lib/msgc/src/
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/msgc/src/
   freeswitch/branches/seven/libs/js/nsprpub/lib/msgc/src/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/msgc/src/.cvsignore
   freeswitch/branches/seven/libs/js/nsprpub/lib/msgc/src/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/msgc/src/Makefile.in
   freeswitch/branches/seven/libs/js/nsprpub/lib/msgc/src/macgc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/msgc/src/macgc.c
   freeswitch/branches/seven/libs/js/nsprpub/lib/msgc/src/os2gc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/msgc/src/os2gc.c
   freeswitch/branches/seven/libs/js/nsprpub/lib/msgc/src/prgcapi.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/msgc/src/prgcapi.c
   freeswitch/branches/seven/libs/js/nsprpub/lib/msgc/src/prmsgc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/msgc/src/prmsgc.c
   freeswitch/branches/seven/libs/js/nsprpub/lib/msgc/src/unixgc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/msgc/src/unixgc.c
   freeswitch/branches/seven/libs/js/nsprpub/lib/msgc/src/win16gc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/msgc/src/win16gc.c
   freeswitch/branches/seven/libs/js/nsprpub/lib/msgc/src/win32gc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/msgc/src/win32gc.c
   freeswitch/branches/seven/libs/js/nsprpub/lib/msgc/tests/
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/msgc/tests/
   freeswitch/branches/seven/libs/js/nsprpub/lib/msgc/tests/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/msgc/tests/.cvsignore
   freeswitch/branches/seven/libs/js/nsprpub/lib/msgc/tests/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/msgc/tests/Makefile.in
   freeswitch/branches/seven/libs/js/nsprpub/lib/msgc/tests/gc1.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/msgc/tests/gc1.c
   freeswitch/branches/seven/libs/js/nsprpub/lib/msgc/tests/thrashgc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/msgc/tests/thrashgc.c
   freeswitch/branches/seven/libs/js/nsprpub/lib/prstreams/
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/prstreams/
   freeswitch/branches/seven/libs/js/nsprpub/lib/prstreams/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/prstreams/.cvsignore
   freeswitch/branches/seven/libs/js/nsprpub/lib/prstreams/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/prstreams/Makefile.in
   freeswitch/branches/seven/libs/js/nsprpub/lib/prstreams/plvrsion.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/prstreams/plvrsion.c
   freeswitch/branches/seven/libs/js/nsprpub/lib/prstreams/prstrms.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/prstreams/prstrms.cpp
   freeswitch/branches/seven/libs/js/nsprpub/lib/prstreams/prstrms.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/prstreams/prstrms.h
   freeswitch/branches/seven/libs/js/nsprpub/lib/prstreams/prstrms.rc
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/prstreams/prstrms.rc
   freeswitch/branches/seven/libs/js/nsprpub/lib/prstreams/tests/
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/prstreams/tests/
   freeswitch/branches/seven/libs/js/nsprpub/lib/prstreams/tests/testprstrm/
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/prstreams/tests/testprstrm/
   freeswitch/branches/seven/libs/js/nsprpub/lib/prstreams/tests/testprstrm/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/prstreams/tests/testprstrm/.cvsignore
   freeswitch/branches/seven/libs/js/nsprpub/lib/prstreams/tests/testprstrm/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/prstreams/tests/testprstrm/Makefile.in
   freeswitch/branches/seven/libs/js/nsprpub/lib/prstreams/tests/testprstrm/testprstrm.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/prstreams/tests/testprstrm/testprstrm.cpp
   freeswitch/branches/seven/libs/js/nsprpub/lib/tests/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/tests/
   freeswitch/branches/seven/libs/js/nsprpub/lib/tests/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/tests/.cvsignore
   freeswitch/branches/seven/libs/js/nsprpub/lib/tests/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/tests/Makefile.in
   freeswitch/branches/seven/libs/js/nsprpub/lib/tests/arena.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/tests/arena.c
   freeswitch/branches/seven/libs/js/nsprpub/lib/tests/base64t.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/tests/base64t.c
   freeswitch/branches/seven/libs/js/nsprpub/lib/tests/string.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/tests/string.c
   freeswitch/branches/seven/libs/js/nsprpub/lib/tests/windows/
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/tests/windows/
   freeswitch/branches/seven/libs/js/nsprpub/lib/tests/windows/makefile
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/tests/windows/makefile
   freeswitch/branches/seven/libs/js/nsprpub/lib/tests/windows/readme.1st
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/tests/windows/readme.1st
   freeswitch/branches/seven/libs/js/nsprpub/lib/tests/windows/winevent.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/lib/tests/windows/winevent.c
   freeswitch/branches/seven/libs/js/nsprpub/macbuild/
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/macbuild/
   freeswitch/branches/seven/libs/js/nsprpub/pkg/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/pkg/
   freeswitch/branches/seven/libs/js/nsprpub/pkg/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pkg/Makefile.in
   freeswitch/branches/seven/libs/js/nsprpub/pkg/linux/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/pkg/linux/
   freeswitch/branches/seven/libs/js/nsprpub/pkg/linux/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pkg/linux/Makefile.in
   freeswitch/branches/seven/libs/js/nsprpub/pkg/linux/sun-nspr.spec
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pkg/linux/sun-nspr.spec
   freeswitch/branches/seven/libs/js/nsprpub/pkg/solaris/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/pkg/solaris/
   freeswitch/branches/seven/libs/js/nsprpub/pkg/solaris/Makefile-devl.com
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pkg/solaris/Makefile-devl.com
   freeswitch/branches/seven/libs/js/nsprpub/pkg/solaris/Makefile-devl.targ
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pkg/solaris/Makefile-devl.targ
   freeswitch/branches/seven/libs/js/nsprpub/pkg/solaris/Makefile.com
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pkg/solaris/Makefile.com
   freeswitch/branches/seven/libs/js/nsprpub/pkg/solaris/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pkg/solaris/Makefile.in
   freeswitch/branches/seven/libs/js/nsprpub/pkg/solaris/Makefile.targ
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pkg/solaris/Makefile.targ
   freeswitch/branches/seven/libs/js/nsprpub/pkg/solaris/SUNWnspr/
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/pkg/solaris/SUNWnspr/
   freeswitch/branches/seven/libs/js/nsprpub/pkg/solaris/SUNWnsprx/
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/pkg/solaris/SUNWnsprx/
   freeswitch/branches/seven/libs/js/nsprpub/pkg/solaris/SUNWpr/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/pkg/solaris/SUNWpr/
   freeswitch/branches/seven/libs/js/nsprpub/pkg/solaris/SUNWpr-devl/
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/pkg/solaris/SUNWpr-devl/
   freeswitch/branches/seven/libs/js/nsprpub/pkg/solaris/SUNWpr/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pkg/solaris/SUNWpr/Makefile.in
   freeswitch/branches/seven/libs/js/nsprpub/pkg/solaris/SUNWpr/depend
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pkg/solaris/SUNWpr/depend
   freeswitch/branches/seven/libs/js/nsprpub/pkg/solaris/SUNWpr/pkginfo.tmpl
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pkg/solaris/SUNWpr/pkginfo.tmpl
   freeswitch/branches/seven/libs/js/nsprpub/pkg/solaris/SUNWpr/prototype_com
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pkg/solaris/SUNWpr/prototype_com
   freeswitch/branches/seven/libs/js/nsprpub/pkg/solaris/SUNWpr/prototype_i386
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pkg/solaris/SUNWpr/prototype_i386
   freeswitch/branches/seven/libs/js/nsprpub/pkg/solaris/SUNWpr/prototype_sparc
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pkg/solaris/SUNWpr/prototype_sparc
   freeswitch/branches/seven/libs/js/nsprpub/pkg/solaris/SUNWprd/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/pkg/solaris/SUNWprd/
   freeswitch/branches/seven/libs/js/nsprpub/pkg/solaris/SUNWprd/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pkg/solaris/SUNWprd/Makefile.in
   freeswitch/branches/seven/libs/js/nsprpub/pkg/solaris/SUNWprd/depend
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pkg/solaris/SUNWprd/depend
   freeswitch/branches/seven/libs/js/nsprpub/pkg/solaris/SUNWprd/pkginfo.tmpl
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pkg/solaris/SUNWprd/pkginfo.tmpl
   freeswitch/branches/seven/libs/js/nsprpub/pkg/solaris/SUNWprd/prototype
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pkg/solaris/SUNWprd/prototype
   freeswitch/branches/seven/libs/js/nsprpub/pkg/solaris/SUNWprdx/
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/pkg/solaris/SUNWprdx/
   freeswitch/branches/seven/libs/js/nsprpub/pkg/solaris/SUNWprx/
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/pkg/solaris/SUNWprx/
   freeswitch/branches/seven/libs/js/nsprpub/pkg/solaris/SUNWprx-devl/
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/pkg/solaris/SUNWprx-devl/
   freeswitch/branches/seven/libs/js/nsprpub/pkg/solaris/bld_awk_pkginfo.ksh
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pkg/solaris/bld_awk_pkginfo.ksh
   freeswitch/branches/seven/libs/js/nsprpub/pkg/solaris/common_files/
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/pkg/solaris/common_files/
   freeswitch/branches/seven/libs/js/nsprpub/pkg/solaris/common_files/copyright
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pkg/solaris/common_files/copyright
   freeswitch/branches/seven/libs/js/nsprpub/pkg/solaris/proto64.mk
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pkg/solaris/proto64.mk
   freeswitch/branches/seven/libs/js/nsprpub/pr/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/
   freeswitch/branches/seven/libs/js/nsprpub/pr/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/.cvsignore
   freeswitch/branches/seven/libs/js/nsprpub/pr/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/Makefile.in
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/.cvsignore
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/MANIFEST
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/MANIFEST
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/Makefile.in
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/gencfg.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/gencfg.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/.cvsignore
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/Makefile.in
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_aix.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_aix.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_aix32.cfg
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_aix32.cfg
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_aix64.cfg
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_aix64.cfg
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_beos.cfg
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_beos.cfg
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_beos.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_beos.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_bsdi.cfg
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_bsdi.cfg
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_bsdi.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_bsdi.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_darwin.cfg
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_darwin.cfg
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_darwin.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_darwin.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_dgux.cfg
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_dgux.cfg
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_dgux.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_dgux.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_freebsd.cfg
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_freebsd.cfg
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_freebsd.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_freebsd.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_hpux.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_hpux.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_hpux32.cfg
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_hpux32.cfg
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_hpux64.cfg
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_hpux64.cfg
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_irix.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_irix.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_irix32.cfg
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_irix32.cfg
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_irix64.cfg
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_irix64.cfg
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_linux.cfg
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_linux.cfg
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_linux.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_linux.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_macos.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_macos.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_ncr.cfg
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_ncr.cfg
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_ncr.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_ncr.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_nec.cfg
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_nec.cfg
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_nec.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_nec.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_netbsd.cfg
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_netbsd.cfg
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_netbsd.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_netbsd.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_nextstep.cfg
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_nextstep.cfg
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_nextstep.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_nextstep.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_nspr_pthread.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_nspr_pthread.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_nto.cfg
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_nto.cfg
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_nto.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_nto.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_openbsd.cfg
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_openbsd.cfg
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_openbsd.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_openbsd.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_openvms.cfg
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_openvms.cfg
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_openvms.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_openvms.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_os2.cfg
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_os2.cfg
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_os2.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_os2.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_os2_errors.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_os2_errors.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_osf1.cfg
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_osf1.cfg
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_osf1.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_osf1.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_pcos.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_pcos.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_pth.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_pth.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_qnx.cfg
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_qnx.cfg
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_qnx.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_qnx.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_reliantunix.cfg
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_reliantunix.cfg
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_reliantunix.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_reliantunix.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_rhapsody.cfg
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_rhapsody.cfg
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_rhapsody.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_rhapsody.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_riscos.cfg
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_riscos.cfg
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_riscos.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_riscos.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_scoos.cfg
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_scoos.cfg
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_scoos.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_scoos.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_solaris.cfg
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_solaris.cfg
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_solaris.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_solaris.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_sony.cfg
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_sony.cfg
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_sony.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_sony.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_sunos4.cfg
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_sunos4.cfg
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_sunos4.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_sunos4.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_unix_errors.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_unix_errors.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_unixos.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_unixos.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_unixware.cfg
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_unixware.cfg
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_unixware.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_unixware.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_unixware7.cfg
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_unixware7.cfg
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_win16.cfg
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_win16.cfg
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_win16.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_win16.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_win32_errors.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_win32_errors.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_win95.cfg
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_win95.cfg
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_win95.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_win95.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_winnt.cfg
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_winnt.cfg
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/_winnt.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/_winnt.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/prosdep.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/prosdep.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/md/sunos4.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/md/sunos4.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/nspr.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/nspr.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/obsolete/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/obsolete/
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/obsolete/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/obsolete/.cvsignore
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/obsolete/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/obsolete/Makefile.in
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/obsolete/pralarm.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/obsolete/pralarm.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/obsolete/probslet.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/obsolete/probslet.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/obsolete/protypes.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/obsolete/protypes.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/obsolete/prsem.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/obsolete/prsem.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/pratom.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/pratom.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/prbit.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/prbit.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/prclist.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/prclist.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/prcmon.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/prcmon.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/prcountr.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/prcountr.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/prcvar.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/prcvar.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/prdtoa.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/prdtoa.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/prenv.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/prenv.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/prerr.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/prerr.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/prerror.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/prerror.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/prinet.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/prinet.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/prinit.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/prinit.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/prinrval.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/prinrval.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/prio.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/prio.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/pripcsem.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/pripcsem.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/private/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/private/
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/private/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/private/.cvsignore
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/private/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/private/Makefile.in
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/private/pprio.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/private/pprio.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/private/pprmwait.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/private/pprmwait.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/private/pprthred.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/private/pprthred.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/private/primpl.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/private/primpl.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/private/prpriv.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/private/prpriv.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/prlink.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/prlink.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/prlock.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/prlock.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/prlog.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/prlog.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/prlong.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/prlong.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/prmem.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/prmem.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/prmon.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/prmon.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/prmwait.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/prmwait.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/prnetdb.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/prnetdb.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/prolock.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/prolock.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/prpdce.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/prpdce.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/prprf.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/prprf.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/prproces.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/prproces.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/prrng.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/prrng.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/prrwlock.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/prrwlock.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/prshm.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/prshm.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/prshma.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/prshma.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/prsystem.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/prsystem.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/prthread.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/prthread.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/prtime.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/prtime.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/prtpool.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/prtpool.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/prtrace.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/prtrace.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/prtypes.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/prtypes.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/prvrsion.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/prvrsion.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/include/prwin16.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/include/prwin16.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/.cvsignore
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/Makefile.in
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/bthreads/
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/bthreads/
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/bthreads/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/bthreads/.cvsignore
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/bthreads/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/bthreads/Makefile.in
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/bthreads/bsrcs.mk
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/bthreads/bsrcs.mk
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/bthreads/btcvar.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/bthreads/btcvar.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/bthreads/btlocks.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/bthreads/btlocks.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/bthreads/btmisc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/bthreads/btmisc.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/bthreads/btmon.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/bthreads/btmon.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/bthreads/btsem.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/bthreads/btsem.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/bthreads/btthread.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/bthreads/btthread.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/bthreads/objs.mk
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/bthreads/objs.mk
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/cplus/
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/cplus/
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/cplus/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/cplus/.cvsignore
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/cplus/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/cplus/Makefile.in
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/cplus/rcascii.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/cplus/rcascii.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/cplus/rcbase.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/cplus/rcbase.cpp
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/cplus/rcbase.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/cplus/rcbase.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/cplus/rccv.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/cplus/rccv.cpp
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/cplus/rccv.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/cplus/rccv.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/cplus/rcfileio.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/cplus/rcfileio.cpp
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/cplus/rcfileio.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/cplus/rcfileio.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/cplus/rcinrval.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/cplus/rcinrval.cpp
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/cplus/rcinrval.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/cplus/rcinrval.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/cplus/rcio.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/cplus/rcio.cpp
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/cplus/rcio.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/cplus/rcio.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/cplus/rclock.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/cplus/rclock.cpp
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/cplus/rclock.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/cplus/rclock.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/cplus/rcmon.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/cplus/rcmon.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/cplus/rcnetdb.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/cplus/rcnetdb.cpp
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/cplus/rcnetdb.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/cplus/rcnetdb.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/cplus/rcnetio.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/cplus/rcnetio.cpp
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/cplus/rcnetio.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/cplus/rcnetio.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/cplus/rcthread.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/cplus/rcthread.cpp
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/cplus/rcthread.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/cplus/rcthread.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/cplus/rctime.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/cplus/rctime.cpp
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/cplus/rctime.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/cplus/rctime.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/cplus/tests/
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/cplus/tests/
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/cplus/tests/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/cplus/tests/.cvsignore
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/cplus/tests/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/cplus/tests/Makefile.in
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/cplus/tests/fileio.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/cplus/tests/fileio.cpp
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/cplus/tests/interval.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/cplus/tests/interval.cpp
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/cplus/tests/ranfile.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/cplus/tests/ranfile.cpp
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/cplus/tests/switch.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/cplus/tests/switch.cpp
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/cplus/tests/thread.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/cplus/tests/thread.cpp
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/cplus/tests/time.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/cplus/tests/time.cpp
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/cplus/tests/tpd.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/cplus/tests/tpd.cpp
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/cthreads/
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/cthreads/
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/io/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/io/
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/io/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/io/.cvsignore
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/io/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/io/Makefile.in
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/io/prdir.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/io/prdir.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/io/prfdcach.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/io/prfdcach.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/io/prfile.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/io/prfile.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/io/prio.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/io/prio.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/io/priometh.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/io/priometh.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/io/pripv6.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/io/pripv6.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/io/prlayer.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/io/prlayer.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/io/prlog.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/io/prlog.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/io/prmapopt.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/io/prmapopt.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/io/prmmap.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/io/prmmap.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/io/prmwait.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/io/prmwait.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/io/prpolevt.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/io/prpolevt.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/io/prprf.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/io/prprf.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/io/prscanf.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/io/prscanf.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/io/prsocket.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/io/prsocket.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/io/prstdio.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/io/prstdio.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/linking/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/linking/
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/linking/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/linking/.cvsignore
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/linking/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/linking/Makefile.in
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/linking/prlink.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/linking/prlink.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/malloc/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/malloc/
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/malloc/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/malloc/.cvsignore
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/malloc/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/malloc/Makefile.in
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/malloc/prmalloc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/malloc/prmalloc.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/malloc/prmem.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/malloc/prmem.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/.cvsignore
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/Makefile.in
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/beos/
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/beos/
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/beos/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/beos/.cvsignore
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/beos/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/beos/Makefile.in
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/beos/bcpu.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/beos/bcpu.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/beos/beos.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/beos/beos.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/beos/beos_errors.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/beos/beos_errors.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/beos/bfile.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/beos/bfile.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/beos/bmemory.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/beos/bmemory.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/beos/bmisc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/beos/bmisc.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/beos/bmmap.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/beos/bmmap.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/beos/bnet.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/beos/bnet.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/beos/bproc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/beos/bproc.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/beos/brng.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/beos/brng.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/beos/bseg.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/beos/bseg.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/beos/bsrcs.mk
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/beos/bsrcs.mk
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/beos/btime.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/beos/btime.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/beos/objs.mk
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/beos/objs.mk
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/mac/
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/mac/
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/mac/MANIFEST
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/mac/MANIFEST
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/mac/MacErrorHandling.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/mac/MacErrorHandling.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/mac/macdll.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/mac/macdll.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/mac/macdll.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/mac/macdll.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/mac/macio.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/mac/macio.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/mac/macio.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/mac/macio.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/mac/macrng.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/mac/macrng.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/mac/macsocket.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/mac/macsocket.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/mac/macsockotpt.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/mac/macsockotpt.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/mac/macthr.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/mac/macthr.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/mac/mactime.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/mac/mactime.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/mac/mactime.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/mac/mactime.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/mac/mdcriticalregion.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/mac/mdcriticalregion.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/mac/mdcriticalregion.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/mac/mdcriticalregion.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/mac/mdmac.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/mac/mdmac.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/mac/mdmac.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/mac/mdmac.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/mac/prcpucfg.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/mac/prcpucfg.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/os2/
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/os2/
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/os2/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/os2/.cvsignore
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/os2/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/os2/Makefile.in
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/os2/objs.mk
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/os2/objs.mk
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/os2/os2_errors.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/os2/os2_errors.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/os2/os2cv.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/os2/os2cv.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/os2/os2emx.s
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/os2/os2emx.s
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/os2/os2gc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/os2/os2gc.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/os2/os2inrval.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/os2/os2inrval.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/os2/os2io.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/os2/os2io.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/os2/os2misc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/os2/os2misc.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/os2/os2poll.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/os2/os2poll.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/os2/os2rng.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/os2/os2rng.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/os2/os2sem.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/os2/os2sem.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/os2/os2sock.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/os2/os2sock.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/os2/os2thred.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/os2/os2thred.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/os2/os2vaclegacy.s
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/os2/os2vaclegacy.s
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/os2/os2vacpp.asm
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/os2/os2vacpp.asm
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/prosdep.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/prosdep.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/unix/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/unix/
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/unix/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/unix/.cvsignore
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/unix/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/unix/Makefile.in
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/unix/aix.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/unix/aix.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/unix/aixwrap.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/unix/aixwrap.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/unix/bsdi.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/unix/bsdi.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/unix/darwin.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/unix/darwin.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/unix/dgux.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/unix/dgux.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/unix/freebsd.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/unix/freebsd.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/unix/hpux.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/unix/hpux.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/unix/irix.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/unix/irix.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/unix/linux.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/unix/linux.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/unix/ncr.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/unix/ncr.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/unix/nec.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/unix/nec.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/unix/netbsd.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/unix/netbsd.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/unix/nextstep.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/unix/nextstep.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/unix/nto.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/unix/nto.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/unix/objs.mk
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/unix/objs.mk
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/unix/openbsd.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/unix/openbsd.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/unix/openvms.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/unix/openvms.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/unix/os_AIX.s
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/unix/os_AIX.s
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/unix/os_BSD_386_2.s
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/unix/os_BSD_386_2.s
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/unix/os_Darwin_ppc.s
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/unix/os_Darwin_ppc.s
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/unix/os_Darwin_x86.s
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/unix/os_Darwin_x86.s
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/unix/os_HPUX.s
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/unix/os_HPUX.s
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/unix/os_HPUX_ia64.s
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/unix/os_HPUX_ia64.s
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/unix/os_Irix.s
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/unix/os_Irix.s
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/unix/os_Linux_ia64.s
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/unix/os_Linux_ia64.s
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/unix/os_Linux_x86.s
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/unix/os_Linux_x86.s
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/unix/os_Linux_x86_64.s
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/unix/os_Linux_x86_64.s
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/unix/os_ReliantUNIX.s
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/unix/os_ReliantUNIX.s
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/unix/os_SunOS.s
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/unix/os_SunOS.s
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/unix/os_SunOS_sparcv9.s
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/unix/os_SunOS_sparcv9.s
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/unix/os_SunOS_ultrasparc.s
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/unix/os_SunOS_ultrasparc.s
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/unix/os_SunOS_x86.s
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/unix/os_SunOS_x86.s
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/unix/os_SunOS_x86_64.s
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/unix/os_SunOS_x86_64.s
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/unix/osf1.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/unix/osf1.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/unix/pthreads_user.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/unix/pthreads_user.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/unix/qnx.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/unix/qnx.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/unix/reliantunix.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/unix/reliantunix.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/unix/rhapsody.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/unix/rhapsody.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/unix/riscos.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/unix/riscos.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/unix/scoos.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/unix/scoos.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/unix/solaris.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/unix/solaris.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/unix/sony.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/unix/sony.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/unix/sunos4.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/unix/sunos4.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/unix/unix.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/unix/unix.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/unix/unix_errors.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/unix/unix_errors.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/unix/unixware.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/unix/unixware.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/unix/uxpoll.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/unix/uxpoll.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/unix/uxproces.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/unix/uxproces.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/unix/uxrng.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/unix/uxrng.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/unix/uxshm.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/unix/uxshm.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/unix/uxwrap.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/unix/uxwrap.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/windows/
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/windows/
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/windows/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/windows/.cvsignore
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/windows/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/windows/Makefile.in
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/windows/ntdllmn.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/windows/ntdllmn.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/windows/ntgc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/windows/ntgc.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/windows/ntinrval.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/windows/ntinrval.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/windows/ntio.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/windows/ntio.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/windows/ntmisc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/windows/ntmisc.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/windows/ntsec.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/windows/ntsec.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/windows/ntsem.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/windows/ntsem.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/windows/ntthread.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/windows/ntthread.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/windows/objs.mk
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/windows/objs.mk
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/windows/w16callb.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/windows/w16callb.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/windows/w16error.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/windows/w16error.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/windows/w16fmem.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/windows/w16fmem.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/windows/w16gc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/windows/w16gc.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/windows/w16io.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/windows/w16io.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/windows/w16mem.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/windows/w16mem.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/windows/w16null.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/windows/w16null.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/windows/w16proc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/windows/w16proc.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/windows/w16sock.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/windows/w16sock.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/windows/w16stdio.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/windows/w16stdio.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/windows/w16thred.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/windows/w16thred.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/windows/w32ipcsem.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/windows/w32ipcsem.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/windows/w32poll.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/windows/w32poll.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/windows/w32rng.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/windows/w32rng.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/windows/w32shm.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/windows/w32shm.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/windows/w95cv.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/windows/w95cv.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/windows/w95dllmain.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/windows/w95dllmain.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/windows/w95io.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/windows/w95io.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/windows/w95sock.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/windows/w95sock.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/windows/w95thred.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/windows/w95thred.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/md/windows/win32_errors.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/md/windows/win32_errors.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/memory/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/memory/
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/memory/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/memory/.cvsignore
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/memory/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/memory/Makefile.in
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/memory/prgcleak.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/memory/prgcleak.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/memory/prseg.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/memory/prseg.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/memory/prshm.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/memory/prshm.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/memory/prshma.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/memory/prshma.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/misc/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/misc/
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/misc/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/misc/.cvsignore
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/misc/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/misc/Makefile.in
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/misc/compile-et.pl
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/misc/compile-et.pl
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/misc/pralarm.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/misc/pralarm.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/misc/pratom.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/misc/pratom.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/misc/prcountr.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/misc/prcountr.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/misc/prdtoa.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/misc/prdtoa.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/misc/prenv.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/misc/prenv.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/misc/prerr.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/misc/prerr.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/misc/prerr.et
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/misc/prerr.et
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/misc/prerr.properties
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/misc/prerr.properties
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/misc/prerror.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/misc/prerror.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/misc/prerrortable.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/misc/prerrortable.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/misc/prinit.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/misc/prinit.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/misc/prinrval.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/misc/prinrval.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/misc/pripc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/misc/pripc.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/misc/pripcsem.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/misc/pripcsem.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/misc/prlog2.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/misc/prlog2.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/misc/prlong.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/misc/prlong.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/misc/prnetdb.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/misc/prnetdb.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/misc/prolock.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/misc/prolock.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/misc/prrng.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/misc/prrng.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/misc/prsystem.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/misc/prsystem.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/misc/prthinfo.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/misc/prthinfo.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/misc/prtime.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/misc/prtime.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/misc/prtpool.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/misc/prtpool.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/misc/prtrace.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/misc/prtrace.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/nspr.def
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/nspr.def
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/nspr.rc
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/nspr.rc
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/nspr_symvec.opt
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/nspr_symvec.opt
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/os2extra.def
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/os2extra.def
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/prvrsion.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/prvrsion.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/pthreads/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/pthreads/
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/pthreads/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/pthreads/.cvsignore
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/pthreads/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/pthreads/Makefile.in
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/pthreads/ptio.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/pthreads/ptio.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/pthreads/ptmisc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/pthreads/ptmisc.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/pthreads/ptsynch.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/pthreads/ptsynch.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/pthreads/ptthread.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/pthreads/ptthread.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/threads/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/threads/
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/threads/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/threads/.cvsignore
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/threads/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/threads/Makefile.in
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/threads/combined/
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/threads/combined/
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/threads/combined/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/threads/combined/.cvsignore
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/threads/combined/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/threads/combined/Makefile.in
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/threads/combined/README
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/threads/combined/README
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/threads/combined/prucpu.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/threads/combined/prucpu.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/threads/combined/prucv.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/threads/combined/prucv.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/threads/combined/prulock.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/threads/combined/prulock.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/threads/combined/prustack.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/threads/combined/prustack.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/threads/combined/pruthr.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/threads/combined/pruthr.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/threads/prcmon.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/threads/prcmon.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/threads/prcthr.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/threads/prcthr.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/threads/prdump.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/threads/prdump.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/threads/prmon.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/threads/prmon.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/threads/prrwlock.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/threads/prrwlock.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/threads/prsem.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/threads/prsem.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/src/threads/prtpd.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/src/threads/prtpd.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/.cvsignore
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/Makefile.in
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/README.TXT
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/README.TXT
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/accept.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/accept.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/acceptread.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/acceptread.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/acceptreademu.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/acceptreademu.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/addrstr.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/addrstr.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/affinity.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/affinity.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/alarm.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/alarm.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/anonfm.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/anonfm.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/append.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/append.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/atomic.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/atomic.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/attach.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/attach.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/bigfile.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/bigfile.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/bigfile2.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/bigfile2.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/bigfile3.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/bigfile3.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/bug1test.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/bug1test.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/cleanup.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/cleanup.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/cltsrv.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/cltsrv.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/concur.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/concur.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/cvar.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/cvar.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/cvar2.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/cvar2.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/dbmalloc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/dbmalloc.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/dbmalloc1.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/dbmalloc1.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/dceemu.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/dceemu.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/depend.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/depend.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/dll/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/dll/
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/dll/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/dll/.cvsignore
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/dll/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/dll/Makefile.in
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/dll/my.def
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/dll/my.def
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/dll/mygetval.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/dll/mygetval.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/dll/mysetval.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/dll/mysetval.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/dlltest.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/dlltest.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/dtoa.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/dtoa.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/env.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/env.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/errcodes.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/errcodes.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/errset.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/errset.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/exit.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/exit.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/fdcach.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/fdcach.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/fileio.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/fileio.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/foreign.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/foreign.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/forktest.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/forktest.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/formattm.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/formattm.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/freeif.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/freeif.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/fsync.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/fsync.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/getai.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/getai.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/gethost.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/gethost.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/getproto.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/getproto.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/i2l.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/i2l.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/initclk.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/initclk.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/inrval.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/inrval.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/instrumt.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/instrumt.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/intrio.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/intrio.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/intrupt.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/intrupt.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/io_timeout.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/io_timeout.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/io_timeoutk.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/io_timeoutk.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/io_timeoutu.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/io_timeoutu.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/ioconthr.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/ioconthr.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/ipv6.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/ipv6.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/join.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/join.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/joinkk.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/joinkk.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/joinku.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/joinku.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/joinuk.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/joinuk.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/joinuu.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/joinuu.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/layer.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/layer.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/lazyinit.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/lazyinit.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/libfilename.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/libfilename.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/lltest.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/lltest.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/lock.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/lock.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/lockfile.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/lockfile.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/logger.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/logger.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/macbuild/
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/macbuild/
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/makedir.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/makedir.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/many_cv.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/many_cv.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/mbcs.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/mbcs.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/multiacc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/multiacc.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/multiwait.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/multiwait.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/nameshm1.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/nameshm1.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/nbconn.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/nbconn.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/nblayer.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/nblayer.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/nonblock.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/nonblock.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/ntioto.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/ntioto.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/ntoh.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/ntoh.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/obsints.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/obsints.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/op_2long.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/op_2long.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/op_excl.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/op_excl.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/op_filnf.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/op_filnf.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/op_filok.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/op_filok.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/op_noacc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/op_noacc.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/op_nofil.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/op_nofil.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/openfile.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/openfile.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/parent.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/parent.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/peek.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/peek.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/perf.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/perf.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/pipeping.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/pipeping.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/pipeping2.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/pipeping2.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/pipepong.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/pipepong.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/pipepong2.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/pipepong2.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/pipeself.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/pipeself.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/poll_er.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/poll_er.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/poll_nm.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/poll_nm.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/poll_to.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/poll_to.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/pollable.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/pollable.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/prftest.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/prftest.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/prftest1.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/prftest1.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/prftest2.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/prftest2.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/primblok.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/primblok.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/priotest.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/priotest.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/provider.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/provider.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/prpoll.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/prpoll.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/prpollml.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/prpollml.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/prselect.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/prselect.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/prttools.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/prttools.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/randseed.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/randseed.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/ranfile.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/ranfile.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/rmdir.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/rmdir.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/runtests.ksh
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/runtests.ksh
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/runtests.sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/runtests.sh
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/runy2ktests.ksh
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/runy2ktests.ksh
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/rwlocktest.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/rwlocktest.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/sel_spd.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/sel_spd.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/selct_er.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/selct_er.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/selct_nm.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/selct_nm.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/selct_to.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/selct_to.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/select2.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/select2.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/selintr.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/selintr.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/sem.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/sem.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/sema.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/sema.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/semaerr.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/semaerr.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/semaerr1.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/semaerr1.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/semaping.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/semaping.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/semapong.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/semapong.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/sendzlf.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/sendzlf.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/server_test.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/server_test.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/servr_kk.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/servr_kk.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/servr_ku.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/servr_ku.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/servr_uk.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/servr_uk.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/servr_uu.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/servr_uu.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/short_thread.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/short_thread.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/sigpipe.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/sigpipe.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/sleep.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/sleep.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/socket.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/socket.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/sockopt.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/sockopt.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/sockping.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/sockping.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/sockpong.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/sockpong.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/sprintf.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/sprintf.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/sproc_ch.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/sproc_ch.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/sproc_p.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/sproc_p.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/stack.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/stack.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/stat.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/stat.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/stdio.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/stdio.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/str2addr.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/str2addr.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/strod.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/strod.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/suspend.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/suspend.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/switch.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/switch.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/system.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/system.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/testbit.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/testbit.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/testfile.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/testfile.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/threads.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/threads.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/thrpool_client.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/thrpool_client.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/thrpool_server.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/thrpool_server.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/thruput.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/thruput.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/time.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/time.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/timemac.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/timemac.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/timetest.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/timetest.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/tmoacc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/tmoacc.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/tmocon.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/tmocon.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/tpd.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/tpd.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/udpsrv.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/udpsrv.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/ut_ttools.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/ut_ttools.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/vercheck.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/vercheck.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/version.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/version.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/w16gui/
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/w16gui/
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/w16gui/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/w16gui/.cvsignore
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/w16gui/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/w16gui/Makefile.in
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/w16gui/popfile.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/w16gui/popfile.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/w16gui/popfind.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/w16gui/popfind.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/w16gui/popfont.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/w16gui/popfont.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/w16gui/poppad.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/w16gui/poppad.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/w16gui/poppad.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/w16gui/poppad.h
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/w16gui/poppad.ico
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/w16gui/poppad.ico
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/w16gui/poppad.rc
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/w16gui/poppad.rc
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/w16gui/popprnt0.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/w16gui/popprnt0.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/w16gui/readme.1st
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/w16gui/readme.1st
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/writev.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/writev.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/xnotify.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/xnotify.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/y2k.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/y2k.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/y2ktmo.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/y2ktmo.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/yield.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/yield.c
   freeswitch/branches/seven/libs/js/nsprpub/pr/tests/zerolen.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/pr/tests/zerolen.c
   freeswitch/branches/seven/libs/js/nsprpub/tools/
      - copied from r11459, /freeswitch/trunk/libs/js/nsprpub/tools/
   freeswitch/branches/seven/libs/js/nsprpub/tools/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/tools/.cvsignore
   freeswitch/branches/seven/libs/js/nsprpub/tools/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/tools/Makefile.in
   freeswitch/branches/seven/libs/js/nsprpub/tools/httpget.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/tools/httpget.c
   freeswitch/branches/seven/libs/js/nsprpub/tools/tail.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/nsprpub/tools/tail.c
   freeswitch/branches/seven/libs/js/shtool
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/shtool
   freeswitch/branches/seven/libs/js/src/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/js/src/
   freeswitch/branches/seven/libs/js/src/fdlibm/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/js/src/fdlibm/
   freeswitch/branches/seven/libs/js/src/fdlibm/e_acos.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/e_acos.c
   freeswitch/branches/seven/libs/js/src/fdlibm/e_acosh.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/e_acosh.c
   freeswitch/branches/seven/libs/js/src/fdlibm/e_asin.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/e_asin.c
   freeswitch/branches/seven/libs/js/src/fdlibm/e_atan2.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/e_atan2.c
   freeswitch/branches/seven/libs/js/src/fdlibm/e_atanh.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/e_atanh.c
   freeswitch/branches/seven/libs/js/src/fdlibm/e_cosh.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/e_cosh.c
   freeswitch/branches/seven/libs/js/src/fdlibm/e_exp.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/e_exp.c
   freeswitch/branches/seven/libs/js/src/fdlibm/e_fmod.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/e_fmod.c
   freeswitch/branches/seven/libs/js/src/fdlibm/e_gamma.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/e_gamma.c
   freeswitch/branches/seven/libs/js/src/fdlibm/e_gamma_r.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/e_gamma_r.c
   freeswitch/branches/seven/libs/js/src/fdlibm/e_hypot.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/e_hypot.c
   freeswitch/branches/seven/libs/js/src/fdlibm/e_j0.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/e_j0.c
   freeswitch/branches/seven/libs/js/src/fdlibm/e_j1.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/e_j1.c
   freeswitch/branches/seven/libs/js/src/fdlibm/e_jn.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/e_jn.c
   freeswitch/branches/seven/libs/js/src/fdlibm/e_lgamma.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/e_lgamma.c
   freeswitch/branches/seven/libs/js/src/fdlibm/e_lgamma_r.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/e_lgamma_r.c
   freeswitch/branches/seven/libs/js/src/fdlibm/e_log.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/e_log.c
   freeswitch/branches/seven/libs/js/src/fdlibm/e_log10.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/e_log10.c
   freeswitch/branches/seven/libs/js/src/fdlibm/e_pow.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/e_pow.c
   freeswitch/branches/seven/libs/js/src/fdlibm/e_rem_pio2.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/e_rem_pio2.c
   freeswitch/branches/seven/libs/js/src/fdlibm/e_remainder.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/e_remainder.c
   freeswitch/branches/seven/libs/js/src/fdlibm/e_scalb.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/e_scalb.c
   freeswitch/branches/seven/libs/js/src/fdlibm/e_sinh.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/e_sinh.c
   freeswitch/branches/seven/libs/js/src/fdlibm/e_sqrt.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/e_sqrt.c
   freeswitch/branches/seven/libs/js/src/fdlibm/fdlibm.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/fdlibm.h
   freeswitch/branches/seven/libs/js/src/fdlibm/k_cos.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/k_cos.c
   freeswitch/branches/seven/libs/js/src/fdlibm/k_rem_pio2.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/k_rem_pio2.c
   freeswitch/branches/seven/libs/js/src/fdlibm/k_sin.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/k_sin.c
   freeswitch/branches/seven/libs/js/src/fdlibm/k_standard.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/k_standard.c
   freeswitch/branches/seven/libs/js/src/fdlibm/k_tan.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/k_tan.c
   freeswitch/branches/seven/libs/js/src/fdlibm/s_asinh.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/s_asinh.c
   freeswitch/branches/seven/libs/js/src/fdlibm/s_atan.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/s_atan.c
   freeswitch/branches/seven/libs/js/src/fdlibm/s_cbrt.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/s_cbrt.c
   freeswitch/branches/seven/libs/js/src/fdlibm/s_ceil.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/s_ceil.c
   freeswitch/branches/seven/libs/js/src/fdlibm/s_copysign.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/s_copysign.c
   freeswitch/branches/seven/libs/js/src/fdlibm/s_cos.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/s_cos.c
   freeswitch/branches/seven/libs/js/src/fdlibm/s_erf.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/s_erf.c
   freeswitch/branches/seven/libs/js/src/fdlibm/s_expm1.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/s_expm1.c
   freeswitch/branches/seven/libs/js/src/fdlibm/s_fabs.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/s_fabs.c
   freeswitch/branches/seven/libs/js/src/fdlibm/s_finite.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/s_finite.c
   freeswitch/branches/seven/libs/js/src/fdlibm/s_floor.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/s_floor.c
   freeswitch/branches/seven/libs/js/src/fdlibm/s_frexp.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/s_frexp.c
   freeswitch/branches/seven/libs/js/src/fdlibm/s_ilogb.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/s_ilogb.c
   freeswitch/branches/seven/libs/js/src/fdlibm/s_isnan.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/s_isnan.c
   freeswitch/branches/seven/libs/js/src/fdlibm/s_ldexp.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/s_ldexp.c
   freeswitch/branches/seven/libs/js/src/fdlibm/s_lib_version.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/s_lib_version.c
   freeswitch/branches/seven/libs/js/src/fdlibm/s_log1p.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/s_log1p.c
   freeswitch/branches/seven/libs/js/src/fdlibm/s_logb.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/s_logb.c
   freeswitch/branches/seven/libs/js/src/fdlibm/s_matherr.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/s_matherr.c
   freeswitch/branches/seven/libs/js/src/fdlibm/s_modf.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/s_modf.c
   freeswitch/branches/seven/libs/js/src/fdlibm/s_nextafter.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/s_nextafter.c
   freeswitch/branches/seven/libs/js/src/fdlibm/s_rint.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/s_rint.c
   freeswitch/branches/seven/libs/js/src/fdlibm/s_scalbn.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/s_scalbn.c
   freeswitch/branches/seven/libs/js/src/fdlibm/s_signgam.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/s_signgam.c
   freeswitch/branches/seven/libs/js/src/fdlibm/s_significand.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/s_significand.c
   freeswitch/branches/seven/libs/js/src/fdlibm/s_sin.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/s_sin.c
   freeswitch/branches/seven/libs/js/src/fdlibm/s_tan.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/s_tan.c
   freeswitch/branches/seven/libs/js/src/fdlibm/s_tanh.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/s_tanh.c
   freeswitch/branches/seven/libs/js/src/fdlibm/w_acos.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/w_acos.c
   freeswitch/branches/seven/libs/js/src/fdlibm/w_acosh.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/w_acosh.c
   freeswitch/branches/seven/libs/js/src/fdlibm/w_asin.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/w_asin.c
   freeswitch/branches/seven/libs/js/src/fdlibm/w_atan2.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/w_atan2.c
   freeswitch/branches/seven/libs/js/src/fdlibm/w_atanh.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/w_atanh.c
   freeswitch/branches/seven/libs/js/src/fdlibm/w_cosh.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/w_cosh.c
   freeswitch/branches/seven/libs/js/src/fdlibm/w_exp.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/w_exp.c
   freeswitch/branches/seven/libs/js/src/fdlibm/w_fmod.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/w_fmod.c
   freeswitch/branches/seven/libs/js/src/fdlibm/w_gamma.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/w_gamma.c
   freeswitch/branches/seven/libs/js/src/fdlibm/w_gamma_r.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/w_gamma_r.c
   freeswitch/branches/seven/libs/js/src/fdlibm/w_hypot.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/w_hypot.c
   freeswitch/branches/seven/libs/js/src/fdlibm/w_j0.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/w_j0.c
   freeswitch/branches/seven/libs/js/src/fdlibm/w_j1.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/w_j1.c
   freeswitch/branches/seven/libs/js/src/fdlibm/w_jn.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/w_jn.c
   freeswitch/branches/seven/libs/js/src/fdlibm/w_lgamma.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/w_lgamma.c
   freeswitch/branches/seven/libs/js/src/fdlibm/w_lgamma_r.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/w_lgamma_r.c
   freeswitch/branches/seven/libs/js/src/fdlibm/w_log.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/w_log.c
   freeswitch/branches/seven/libs/js/src/fdlibm/w_log10.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/w_log10.c
   freeswitch/branches/seven/libs/js/src/fdlibm/w_pow.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/w_pow.c
   freeswitch/branches/seven/libs/js/src/fdlibm/w_remainder.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/w_remainder.c
   freeswitch/branches/seven/libs/js/src/fdlibm/w_scalb.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/w_scalb.c
   freeswitch/branches/seven/libs/js/src/fdlibm/w_sinh.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/w_sinh.c
   freeswitch/branches/seven/libs/js/src/fdlibm/w_sqrt.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/fdlibm/w_sqrt.c
   freeswitch/branches/seven/libs/js/src/js.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/js.c
   freeswitch/branches/seven/libs/js/src/js.msg
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/js.msg
   freeswitch/branches/seven/libs/js/src/jsapi.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsapi.c
   freeswitch/branches/seven/libs/js/src/jsapi.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsapi.h
   freeswitch/branches/seven/libs/js/src/jsarena.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsarena.c
   freeswitch/branches/seven/libs/js/src/jsarena.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsarena.h
   freeswitch/branches/seven/libs/js/src/jsarray.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsarray.c
   freeswitch/branches/seven/libs/js/src/jsarray.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsarray.h
   freeswitch/branches/seven/libs/js/src/jsatom.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsatom.c
   freeswitch/branches/seven/libs/js/src/jsatom.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsatom.h
   freeswitch/branches/seven/libs/js/src/jsautocfg.hw
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsautocfg.hw
   freeswitch/branches/seven/libs/js/src/jsbit.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsbit.h
   freeswitch/branches/seven/libs/js/src/jsbool.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsbool.c
   freeswitch/branches/seven/libs/js/src/jsbool.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsbool.h
   freeswitch/branches/seven/libs/js/src/jsclist.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsclist.h
   freeswitch/branches/seven/libs/js/src/jscntxt.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jscntxt.c
   freeswitch/branches/seven/libs/js/src/jscntxt.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jscntxt.h
   freeswitch/branches/seven/libs/js/src/jscompat.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jscompat.h
   freeswitch/branches/seven/libs/js/src/jsconfig.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsconfig.h
   freeswitch/branches/seven/libs/js/src/jscpucfg.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jscpucfg.c
   freeswitch/branches/seven/libs/js/src/jscpucfg.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jscpucfg.h
   freeswitch/branches/seven/libs/js/src/jsdate.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsdate.c
   freeswitch/branches/seven/libs/js/src/jsdate.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsdate.h
   freeswitch/branches/seven/libs/js/src/jsdbgapi.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsdbgapi.c
   freeswitch/branches/seven/libs/js/src/jsdbgapi.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsdbgapi.h
   freeswitch/branches/seven/libs/js/src/jsdhash.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsdhash.c
   freeswitch/branches/seven/libs/js/src/jsdhash.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsdhash.h
   freeswitch/branches/seven/libs/js/src/jsdso.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsdso.c
   freeswitch/branches/seven/libs/js/src/jsdso.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsdso.h
   freeswitch/branches/seven/libs/js/src/jsdtoa.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsdtoa.c
   freeswitch/branches/seven/libs/js/src/jsdtoa.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsdtoa.h
   freeswitch/branches/seven/libs/js/src/jsemit.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsemit.c
   freeswitch/branches/seven/libs/js/src/jsemit.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsemit.h
   freeswitch/branches/seven/libs/js/src/jsexn.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsexn.c
   freeswitch/branches/seven/libs/js/src/jsexn.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsexn.h
   freeswitch/branches/seven/libs/js/src/jsfile.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsfile.c
   freeswitch/branches/seven/libs/js/src/jsfile.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsfile.h
   freeswitch/branches/seven/libs/js/src/jsfile.msg
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsfile.msg
   freeswitch/branches/seven/libs/js/src/jsfun.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsfun.c
   freeswitch/branches/seven/libs/js/src/jsfun.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsfun.h
   freeswitch/branches/seven/libs/js/src/jsgc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsgc.c
   freeswitch/branches/seven/libs/js/src/jsgc.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsgc.h
   freeswitch/branches/seven/libs/js/src/jshash.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jshash.c
   freeswitch/branches/seven/libs/js/src/jshash.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jshash.h
   freeswitch/branches/seven/libs/js/src/jsinterp.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsinterp.c
   freeswitch/branches/seven/libs/js/src/jsinterp.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsinterp.h
   freeswitch/branches/seven/libs/js/src/jslibmath.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jslibmath.h
   freeswitch/branches/seven/libs/js/src/jslock.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jslock.c
   freeswitch/branches/seven/libs/js/src/jslock.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jslock.h
   freeswitch/branches/seven/libs/js/src/jslog2.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jslog2.c
   freeswitch/branches/seven/libs/js/src/jslong.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jslong.c
   freeswitch/branches/seven/libs/js/src/jslong.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jslong.h
   freeswitch/branches/seven/libs/js/src/jsmath.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsmath.c
   freeswitch/branches/seven/libs/js/src/jsmath.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsmath.h
   freeswitch/branches/seven/libs/js/src/jsnum.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsnum.c
   freeswitch/branches/seven/libs/js/src/jsnum.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsnum.h
   freeswitch/branches/seven/libs/js/src/jsobj.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsobj.c
   freeswitch/branches/seven/libs/js/src/jsobj.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsobj.h
   freeswitch/branches/seven/libs/js/src/jsopcode.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsopcode.c
   freeswitch/branches/seven/libs/js/src/jsopcode.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsopcode.h
   freeswitch/branches/seven/libs/js/src/jsopcode.tbl
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsopcode.tbl
   freeswitch/branches/seven/libs/js/src/jsosdep.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsosdep.h
   freeswitch/branches/seven/libs/js/src/jsotypes.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsotypes.h
   freeswitch/branches/seven/libs/js/src/jsparse.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsparse.c
   freeswitch/branches/seven/libs/js/src/jsparse.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsparse.h
   freeswitch/branches/seven/libs/js/src/jsprf.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsprf.c
   freeswitch/branches/seven/libs/js/src/jsprf.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsprf.h
   freeswitch/branches/seven/libs/js/src/jsprvtd.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsprvtd.h
   freeswitch/branches/seven/libs/js/src/jspubtd.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jspubtd.h
   freeswitch/branches/seven/libs/js/src/jsregexp.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsregexp.c
   freeswitch/branches/seven/libs/js/src/jsregexp.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsregexp.h
   freeswitch/branches/seven/libs/js/src/jsscan.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsscan.c
   freeswitch/branches/seven/libs/js/src/jsscan.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsscan.h
   freeswitch/branches/seven/libs/js/src/jsscope.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsscope.c
   freeswitch/branches/seven/libs/js/src/jsscope.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsscope.h
   freeswitch/branches/seven/libs/js/src/jsscript.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsscript.c
   freeswitch/branches/seven/libs/js/src/jsscript.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsscript.h
   freeswitch/branches/seven/libs/js/src/jsshell.msg
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsshell.msg
   freeswitch/branches/seven/libs/js/src/jsstddef.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsstddef.h
   freeswitch/branches/seven/libs/js/src/jsstr.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsstr.c
   freeswitch/branches/seven/libs/js/src/jsstr.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsstr.h
   freeswitch/branches/seven/libs/js/src/jstypes.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jstypes.h
   freeswitch/branches/seven/libs/js/src/jsutil.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsutil.c
   freeswitch/branches/seven/libs/js/src/jsutil.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsutil.h
   freeswitch/branches/seven/libs/js/src/jsxdrapi.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsxdrapi.c
   freeswitch/branches/seven/libs/js/src/jsxdrapi.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsxdrapi.h
   freeswitch/branches/seven/libs/js/src/jsxml.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsxml.c
   freeswitch/branches/seven/libs/js/src/jsxml.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/jsxml.h
   freeswitch/branches/seven/libs/js/src/perlconnect/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/js/src/perlconnect/
   freeswitch/branches/seven/libs/js/src/perlconnect/JS.pm
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/perlconnect/JS.pm
   freeswitch/branches/seven/libs/js/src/perlconnect/JS.xs
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/perlconnect/JS.xs
   freeswitch/branches/seven/libs/js/src/perlconnect/MANIFEST
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/perlconnect/MANIFEST
   freeswitch/branches/seven/libs/js/src/perlconnect/Makefile.PL.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/perlconnect/Makefile.PL.in
   freeswitch/branches/seven/libs/js/src/perlconnect/PerlConnect.pm
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/perlconnect/PerlConnect.pm
   freeswitch/branches/seven/libs/js/src/perlconnect/jsperl.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/perlconnect/jsperl.c
   freeswitch/branches/seven/libs/js/src/perlconnect/jsperl.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/perlconnect/jsperl.h
   freeswitch/branches/seven/libs/js/src/perlconnect/jsperlpvt.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/perlconnect/jsperlpvt.h
   freeswitch/branches/seven/libs/js/src/perlconnect/typemap
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/perlconnect/typemap
   freeswitch/branches/seven/libs/js/src/prmjtime.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/prmjtime.c
   freeswitch/branches/seven/libs/js/src/prmjtime.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/js/src/prmjtime.h
   freeswitch/branches/seven/libs/libdingaling/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/libdingaling/
   freeswitch/branches/seven/libs/libdingaling/.update
      - copied unchanged from r11459, /freeswitch/trunk/libs/libdingaling/.update
   freeswitch/branches/seven/libs/libdingaling/AUTHORS
      - copied unchanged from r11459, /freeswitch/trunk/libs/libdingaling/AUTHORS
   freeswitch/branches/seven/libs/libdingaling/COPYING
      - copied unchanged from r11459, /freeswitch/trunk/libs/libdingaling/COPYING
   freeswitch/branches/seven/libs/libdingaling/ChangeLog
      - copied unchanged from r11459, /freeswitch/trunk/libs/libdingaling/ChangeLog
   freeswitch/branches/seven/libs/libdingaling/INSTALL
      - copied unchanged from r11459, /freeswitch/trunk/libs/libdingaling/INSTALL
   freeswitch/branches/seven/libs/libdingaling/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/libdingaling/Makefile.am
   freeswitch/branches/seven/libs/libdingaling/NEWS
      - copied unchanged from r11459, /freeswitch/trunk/libs/libdingaling/NEWS
   freeswitch/branches/seven/libs/libdingaling/README
      - copied unchanged from r11459, /freeswitch/trunk/libs/libdingaling/README
   freeswitch/branches/seven/libs/libdingaling/acsite.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/libdingaling/acsite.m4
   freeswitch/branches/seven/libs/libdingaling/build/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/libdingaling/build/
   freeswitch/branches/seven/libs/libdingaling/build/config/
      - copied from r11459, /freeswitch/trunk/libs/libdingaling/build/config/
   freeswitch/branches/seven/libs/libdingaling/build/config/ac_cflags_gcc_option.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/libdingaling/build/config/ac_cflags_gcc_option.m4
   freeswitch/branches/seven/libs/libdingaling/build/config/ac_cflags_sun_option.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/libdingaling/build/config/ac_cflags_sun_option.m4
   freeswitch/branches/seven/libs/libdingaling/build/config/ac_gcc_archflag.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/libdingaling/build/config/ac_gcc_archflag.m4
   freeswitch/branches/seven/libs/libdingaling/build/config/ac_gcc_x86_cpuid.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/libdingaling/build/config/ac_gcc_x86_cpuid.m4
   freeswitch/branches/seven/libs/libdingaling/build/config/ac_prog_gzip.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/libdingaling/build/config/ac_prog_gzip.m4
   freeswitch/branches/seven/libs/libdingaling/build/config/ac_prog_wget.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/libdingaling/build/config/ac_prog_wget.m4
   freeswitch/branches/seven/libs/libdingaling/build/config/ax_cc_maxopt.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/libdingaling/build/config/ax_cc_maxopt.m4
   freeswitch/branches/seven/libs/libdingaling/build/config/ax_cflags_warn_all_ansi.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/libdingaling/build/config/ax_cflags_warn_all_ansi.m4
   freeswitch/branches/seven/libs/libdingaling/build/config/ax_check_compiler_flags.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/libdingaling/build/config/ax_check_compiler_flags.m4
   freeswitch/branches/seven/libs/libdingaling/build/config/ax_compiler_vendor.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/libdingaling/build/config/ax_compiler_vendor.m4
   freeswitch/branches/seven/libs/libdingaling/compile
      - copied unchanged from r11459, /freeswitch/trunk/libs/libdingaling/compile
   freeswitch/branches/seven/libs/libdingaling/config.guess
      - copied unchanged from r11459, /freeswitch/trunk/libs/libdingaling/config.guess
   freeswitch/branches/seven/libs/libdingaling/config.sub
      - copied unchanged from r11459, /freeswitch/trunk/libs/libdingaling/config.sub
   freeswitch/branches/seven/libs/libdingaling/configure.gnu
      - copied unchanged from r11459, /freeswitch/trunk/libs/libdingaling/configure.gnu
   freeswitch/branches/seven/libs/libdingaling/configure.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/libdingaling/configure.in
   freeswitch/branches/seven/libs/libdingaling/depcomp
      - copied unchanged from r11459, /freeswitch/trunk/libs/libdingaling/depcomp
   freeswitch/branches/seven/libs/libdingaling/doc
      - copied unchanged from r11459, /freeswitch/trunk/libs/libdingaling/doc
   freeswitch/branches/seven/libs/libdingaling/docs/
      - copied from r11459, /freeswitch/trunk/libs/libdingaling/docs/
   freeswitch/branches/seven/libs/libdingaling/docs/Doxygen.conf
      - copied unchanged from r11459, /freeswitch/trunk/libs/libdingaling/docs/Doxygen.conf
   freeswitch/branches/seven/libs/libdingaling/docs/docs.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/libdingaling/docs/docs.vcproj
   freeswitch/branches/seven/libs/libdingaling/install-sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/libdingaling/install-sh
   freeswitch/branches/seven/libs/libdingaling/libdingaling.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/libdingaling/libdingaling.2008.vcproj
   freeswitch/branches/seven/libs/libdingaling/libdingaling.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/libdingaling/libdingaling.vcproj
   freeswitch/branches/seven/libs/libdingaling/ltmain.sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/libdingaling/ltmain.sh
   freeswitch/branches/seven/libs/libdingaling/missing
      - copied unchanged from r11459, /freeswitch/trunk/libs/libdingaling/missing
   freeswitch/branches/seven/libs/libdingaling/mkinstalldirs
      - copied unchanged from r11459, /freeswitch/trunk/libs/libdingaling/mkinstalldirs
   freeswitch/branches/seven/libs/libdingaling/src/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/libdingaling/src/
   freeswitch/branches/seven/libs/libdingaling/src/dingaling.def
      - copied unchanged from r11459, /freeswitch/trunk/libs/libdingaling/src/dingaling.def
   freeswitch/branches/seven/libs/libdingaling/src/ldl_compat.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libdingaling/src/ldl_compat.h
   freeswitch/branches/seven/libs/libdingaling/src/libdingaling.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libdingaling/src/libdingaling.c
   freeswitch/branches/seven/libs/libdingaling/src/libdingaling.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libdingaling/src/libdingaling.h
   freeswitch/branches/seven/libs/libdingaling/src/sha1.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libdingaling/src/sha1.c
   freeswitch/branches/seven/libs/libdingaling/src/sha1.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libdingaling/src/sha1.h
   freeswitch/branches/seven/libs/libedit/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/libedit/
   freeswitch/branches/seven/libs/libedit/COPYING
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/COPYING
   freeswitch/branches/seven/libs/libedit/ChangeLog
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/ChangeLog
   freeswitch/branches/seven/libs/libedit/INSTALL
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/INSTALL
   freeswitch/branches/seven/libs/libedit/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/Makefile.am
   freeswitch/branches/seven/libs/libedit/THANKS
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/THANKS
   freeswitch/branches/seven/libs/libedit/acinclude.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/acinclude.m4
   freeswitch/branches/seven/libs/libedit/configure.ac
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/configure.ac
   freeswitch/branches/seven/libs/libedit/configure.gnu
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/configure.gnu
   freeswitch/branches/seven/libs/libedit/doc/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/libedit/doc/
   freeswitch/branches/seven/libs/libedit/doc/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/doc/Makefile.am
   freeswitch/branches/seven/libs/libedit/doc/editline.3.roff
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/doc/editline.3.roff
   freeswitch/branches/seven/libs/libedit/doc/editrc.5.roff
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/doc/editrc.5.roff
   freeswitch/branches/seven/libs/libedit/doc/mdoc2man.awk
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/doc/mdoc2man.awk
   freeswitch/branches/seven/libs/libedit/examples/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/libedit/examples/
   freeswitch/branches/seven/libs/libedit/examples/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/examples/Makefile.am
   freeswitch/branches/seven/libs/libedit/examples/fileman.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/examples/fileman.c
   freeswitch/branches/seven/libs/libedit/examples/test.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/examples/test.c
   freeswitch/branches/seven/libs/libedit/libedit.pc.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/libedit.pc.in
   freeswitch/branches/seven/libs/libedit/patches/
      - copied from r11459, /freeswitch/trunk/libs/libedit/patches/
   freeswitch/branches/seven/libs/libedit/patches/00-vis.h.patch
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/patches/00-vis.h.patch
   freeswitch/branches/seven/libs/libedit/patches/01-term.c.patch
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/patches/01-term.c.patch
   freeswitch/branches/seven/libs/libedit/patches/02-el_term.h.patch
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/patches/02-el_term.h.patch
   freeswitch/branches/seven/libs/libedit/patches/03-unvis.c.patch
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/patches/03-unvis.c.patch
   freeswitch/branches/seven/libs/libedit/patches/04-strlcpy.c.patch
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/patches/04-strlcpy.c.patch
   freeswitch/branches/seven/libs/libedit/patches/05-strlcat.c.patch
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/patches/05-strlcat.c.patch
   freeswitch/branches/seven/libs/libedit/patches/06-readline.c.patch
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/patches/06-readline.c.patch
   freeswitch/branches/seven/libs/libedit/patches/07-sys.h.patch
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/patches/07-sys.h.patch
   freeswitch/branches/seven/libs/libedit/patches/08-el.h.patch
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/patches/08-el.h.patch
   freeswitch/branches/seven/libs/libedit/patches/09-search.c.patch
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/patches/09-search.c.patch
   freeswitch/branches/seven/libs/libedit/patches/10-readline.h.patch
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/patches/10-readline.h.patch
   freeswitch/branches/seven/libs/libedit/patches/11-el.c.patch
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/patches/11-el.c.patch
   freeswitch/branches/seven/libs/libedit/patches/12-history.c.patch
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/patches/12-history.c.patch
   freeswitch/branches/seven/libs/libedit/patches/13-vis.c.patch
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/patches/13-vis.c.patch
   freeswitch/branches/seven/libs/libedit/patches/14-fgetln.c.patch
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/patches/14-fgetln.c.patch
   freeswitch/branches/seven/libs/libedit/patches/15-filecomplete.c.patch
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/patches/15-filecomplete.c.patch
   freeswitch/branches/seven/libs/libedit/patches/16-tc1.c.patch
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/patches/16-tc1.c.patch
   freeswitch/branches/seven/libs/libedit/patches/17-editline.3.roff.patch
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/patches/17-editline.3.roff.patch
   freeswitch/branches/seven/libs/libedit/patches/18-editrc.5.roff.patch
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/patches/18-editrc.5.roff.patch
   freeswitch/branches/seven/libs/libedit/patches/README
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/patches/README
   freeswitch/branches/seven/libs/libedit/patches/cvs_export.sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/patches/cvs_export.sh
   freeswitch/branches/seven/libs/libedit/patches/extra_dist_list.sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/patches/extra_dist_list.sh
   freeswitch/branches/seven/libs/libedit/patches/patches_apply.sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/patches/patches_apply.sh
   freeswitch/branches/seven/libs/libedit/patches/patches_check.sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/patches/patches_check.sh
   freeswitch/branches/seven/libs/libedit/patches/patches_make.sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/patches/patches_make.sh
   freeswitch/branches/seven/libs/libedit/patches/timestamp.cvsexport
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/patches/timestamp.cvsexport
   freeswitch/branches/seven/libs/libedit/patches/update_dist.sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/patches/update_dist.sh
   freeswitch/branches/seven/libs/libedit/patches/update_version.sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/patches/update_version.sh
   freeswitch/branches/seven/libs/libedit/src/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/libedit/src/
   freeswitch/branches/seven/libs/libedit/src/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/src/Makefile.am
   freeswitch/branches/seven/libs/libedit/src/chared.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/src/chared.c
   freeswitch/branches/seven/libs/libedit/src/chared.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/src/chared.h
   freeswitch/branches/seven/libs/libedit/src/common.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/src/common.c
   freeswitch/branches/seven/libs/libedit/src/editline/
      - copied from r11459, /freeswitch/trunk/libs/libedit/src/editline/
   freeswitch/branches/seven/libs/libedit/src/editline/readline.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/src/editline/readline.h
   freeswitch/branches/seven/libs/libedit/src/el.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/src/el.c
   freeswitch/branches/seven/libs/libedit/src/el.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/src/el.h
   freeswitch/branches/seven/libs/libedit/src/el_term.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/src/el_term.h
   freeswitch/branches/seven/libs/libedit/src/emacs.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/src/emacs.c
   freeswitch/branches/seven/libs/libedit/src/fgetln.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/src/fgetln.c
   freeswitch/branches/seven/libs/libedit/src/filecomplete.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/src/filecomplete.c
   freeswitch/branches/seven/libs/libedit/src/filecomplete.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/src/filecomplete.h
   freeswitch/branches/seven/libs/libedit/src/hist.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/src/hist.c
   freeswitch/branches/seven/libs/libedit/src/hist.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/src/hist.h
   freeswitch/branches/seven/libs/libedit/src/histedit.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/src/histedit.h
   freeswitch/branches/seven/libs/libedit/src/history.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/src/history.c
   freeswitch/branches/seven/libs/libedit/src/key.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/src/key.c
   freeswitch/branches/seven/libs/libedit/src/key.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/src/key.h
   freeswitch/branches/seven/libs/libedit/src/makelist
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/src/makelist
   freeswitch/branches/seven/libs/libedit/src/map.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/src/map.c
   freeswitch/branches/seven/libs/libedit/src/map.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/src/map.h
   freeswitch/branches/seven/libs/libedit/src/parse.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/src/parse.c
   freeswitch/branches/seven/libs/libedit/src/parse.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/src/parse.h
   freeswitch/branches/seven/libs/libedit/src/prompt.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/src/prompt.c
   freeswitch/branches/seven/libs/libedit/src/prompt.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/src/prompt.h
   freeswitch/branches/seven/libs/libedit/src/read.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/src/read.c
   freeswitch/branches/seven/libs/libedit/src/read.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/src/read.h
   freeswitch/branches/seven/libs/libedit/src/readline.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/src/readline.c
   freeswitch/branches/seven/libs/libedit/src/refresh.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/src/refresh.c
   freeswitch/branches/seven/libs/libedit/src/refresh.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/src/refresh.h
   freeswitch/branches/seven/libs/libedit/src/search.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/src/search.c
   freeswitch/branches/seven/libs/libedit/src/search.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/src/search.h
   freeswitch/branches/seven/libs/libedit/src/shlib_version
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/src/shlib_version
   freeswitch/branches/seven/libs/libedit/src/sig.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/src/sig.c
   freeswitch/branches/seven/libs/libedit/src/sig.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/src/sig.h
   freeswitch/branches/seven/libs/libedit/src/strlcat.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/src/strlcat.c
   freeswitch/branches/seven/libs/libedit/src/strlcpy.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/src/strlcpy.c
   freeswitch/branches/seven/libs/libedit/src/sys.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/src/sys.h
   freeswitch/branches/seven/libs/libedit/src/term.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/src/term.c
   freeswitch/branches/seven/libs/libedit/src/tokenizer.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/src/tokenizer.c
   freeswitch/branches/seven/libs/libedit/src/tty.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/src/tty.c
   freeswitch/branches/seven/libs/libedit/src/tty.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/src/tty.h
   freeswitch/branches/seven/libs/libedit/src/unvis.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/src/unvis.c
   freeswitch/branches/seven/libs/libedit/src/vi.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/src/vi.c
   freeswitch/branches/seven/libs/libedit/src/vis.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/src/vis.c
   freeswitch/branches/seven/libs/libedit/src/vis.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libedit/src/vis.h
   freeswitch/branches/seven/libs/libg722_1/
      - copied from r11459, /freeswitch/trunk/libs/libg722_1/
   freeswitch/branches/seven/libs/libg722_1/.update
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/.update
   freeswitch/branches/seven/libs/libg722_1/AUTHORS
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/AUTHORS
   freeswitch/branches/seven/libs/libg722_1/COPYING
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/COPYING
   freeswitch/branches/seven/libs/libg722_1/ChangeLog
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/ChangeLog
   freeswitch/branches/seven/libs/libg722_1/INSTALL
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/INSTALL
   freeswitch/branches/seven/libs/libg722_1/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/Makefile.am
   freeswitch/branches/seven/libs/libg722_1/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/Makefile.in
   freeswitch/branches/seven/libs/libg722_1/NEWS
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/NEWS
   freeswitch/branches/seven/libs/libg722_1/README
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/README
   freeswitch/branches/seven/libs/libg722_1/aclocal.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/aclocal.m4
   freeswitch/branches/seven/libs/libg722_1/autogen.sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/autogen.sh
   freeswitch/branches/seven/libs/libg722_1/config/
      - copied from r11459, /freeswitch/trunk/libs/libg722_1/config/
   freeswitch/branches/seven/libs/libg722_1/config-h.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/config-h.in
   freeswitch/branches/seven/libs/libg722_1/config/ax_c99_features.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/config/ax_c99_features.m4
   freeswitch/branches/seven/libs/libg722_1/config/ax_check_real_file.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/config/ax_check_real_file.m4
   freeswitch/branches/seven/libs/libg722_1/config/ax_compiler_vendor.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/config/ax_compiler_vendor.m4
   freeswitch/branches/seven/libs/libg722_1/config/ax_fixed_point_machine.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/config/ax_fixed_point_machine.m4
   freeswitch/branches/seven/libs/libg722_1/config/ax_misaligned_access_fails.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/config/ax_misaligned_access_fails.m4
   freeswitch/branches/seven/libs/libg722_1/config/config.guess
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/config/config.guess
   freeswitch/branches/seven/libs/libg722_1/config/config.sub
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/config/config.sub
   freeswitch/branches/seven/libs/libg722_1/config/depcomp
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/config/depcomp
   freeswitch/branches/seven/libs/libg722_1/config/install-sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/config/install-sh
   freeswitch/branches/seven/libs/libg722_1/config/ltmain.sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/config/ltmain.sh
   freeswitch/branches/seven/libs/libg722_1/config/missing
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/config/missing
   freeswitch/branches/seven/libs/libg722_1/configure
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/configure
   freeswitch/branches/seven/libs/libg722_1/configure.ac
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/configure.ac
   freeswitch/branches/seven/libs/libg722_1/debian/
      - copied from r11459, /freeswitch/trunk/libs/libg722_1/debian/
   freeswitch/branches/seven/libs/libg722_1/debian/changelog
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/debian/changelog
   freeswitch/branches/seven/libs/libg722_1/debian/compat
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/debian/compat
   freeswitch/branches/seven/libs/libg722_1/debian/control
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/debian/control
   freeswitch/branches/seven/libs/libg722_1/debian/copyright
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/debian/copyright
   freeswitch/branches/seven/libs/libg722_1/debian/libg722_1-dev.install
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/debian/libg722_1-dev.install
   freeswitch/branches/seven/libs/libg722_1/debian/libg722_1-doc.install
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/debian/libg722_1-doc.install
   freeswitch/branches/seven/libs/libg722_1/debian/libg722_11.install
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/debian/libg722_11.install
   freeswitch/branches/seven/libs/libg722_1/debian/rules
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/debian/rules
   freeswitch/branches/seven/libs/libg722_1/debian/watch
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/debian/watch
   freeswitch/branches/seven/libs/libg722_1/doc/
      - copied from r11459, /freeswitch/trunk/libs/libg722_1/doc/
   freeswitch/branches/seven/libs/libg722_1/doc/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/doc/Makefile.am
   freeswitch/branches/seven/libs/libg722_1/doc/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/doc/Makefile.in
   freeswitch/branches/seven/libs/libg722_1/doc/css.css
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/doc/css.css
   freeswitch/branches/seven/libs/libg722_1/doc/libg722_1-doxygen
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/doc/libg722_1-doxygen
   freeswitch/branches/seven/libs/libg722_1/doc/wrapper.xsl
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/doc/wrapper.xsl
   freeswitch/branches/seven/libs/libg722_1/g722_1.spec.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/g722_1.spec.in
   freeswitch/branches/seven/libs/libg722_1/src/
      - copied from r11459, /freeswitch/trunk/libs/libg722_1/src/
   freeswitch/branches/seven/libs/libg722_1/src/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/src/Makefile.am
   freeswitch/branches/seven/libs/libg722_1/src/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/src/Makefile.in
   freeswitch/branches/seven/libs/libg722_1/src/basop32.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/src/basop32.c
   freeswitch/branches/seven/libs/libg722_1/src/basop32.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/src/basop32.h
   freeswitch/branches/seven/libs/libg722_1/src/bitstream.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/src/bitstream.c
   freeswitch/branches/seven/libs/libg722_1/src/bitstream.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/src/bitstream.h
   freeswitch/branches/seven/libs/libg722_1/src/coef2sam.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/src/coef2sam.c
   freeswitch/branches/seven/libs/libg722_1/src/coef2sam.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/src/coef2sam.h
   freeswitch/branches/seven/libs/libg722_1/src/common.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/src/common.c
   freeswitch/branches/seven/libs/libg722_1/src/commonf.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/src/commonf.c
   freeswitch/branches/seven/libs/libg722_1/src/dct4.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/src/dct4.c
   freeswitch/branches/seven/libs/libg722_1/src/dct4_a.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/src/dct4_a.c
   freeswitch/branches/seven/libs/libg722_1/src/dct4_a.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/src/dct4_a.h
   freeswitch/branches/seven/libs/libg722_1/src/dct4_s.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/src/dct4_s.c
   freeswitch/branches/seven/libs/libg722_1/src/dct4_s.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/src/dct4_s.h
   freeswitch/branches/seven/libs/libg722_1/src/decoder.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/src/decoder.c
   freeswitch/branches/seven/libs/libg722_1/src/decoderf.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/src/decoderf.c
   freeswitch/branches/seven/libs/libg722_1/src/defs.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/src/defs.h
   freeswitch/branches/seven/libs/libg722_1/src/encoder.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/src/encoder.c
   freeswitch/branches/seven/libs/libg722_1/src/encoderf.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/src/encoderf.c
   freeswitch/branches/seven/libs/libg722_1/src/g722_1/
      - copied from r11459, /freeswitch/trunk/libs/libg722_1/src/g722_1/
   freeswitch/branches/seven/libs/libg722_1/src/g722_1.h.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/src/g722_1.h.in
   freeswitch/branches/seven/libs/libg722_1/src/g722_1/g722_1.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/src/g722_1/g722_1.h
   freeswitch/branches/seven/libs/libg722_1/src/g722_1/version.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/src/g722_1/version.h
   freeswitch/branches/seven/libs/libg722_1/src/g722_1/version.h.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/src/g722_1/version.h.in
   freeswitch/branches/seven/libs/libg722_1/src/huff_tab.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/src/huff_tab.c
   freeswitch/branches/seven/libs/libg722_1/src/huff_tab.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/src/huff_tab.h
   freeswitch/branches/seven/libs/libg722_1/src/libg722_1.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/src/libg722_1.dsp
   freeswitch/branches/seven/libs/libg722_1/src/libg722_1.sln
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/src/libg722_1.sln
   freeswitch/branches/seven/libs/libg722_1/src/libg722_1.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/src/libg722_1.vcproj
   freeswitch/branches/seven/libs/libg722_1/src/make_dct4_tables.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/src/make_dct4_tables.c
   freeswitch/branches/seven/libs/libg722_1/src/make_tables.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/src/make_tables.c
   freeswitch/branches/seven/libs/libg722_1/src/msvc/
      - copied from r11459, /freeswitch/trunk/libs/libg722_1/src/msvc/
   freeswitch/branches/seven/libs/libg722_1/src/msvc/g722_1.def
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/src/msvc/g722_1.def
   freeswitch/branches/seven/libs/libg722_1/src/msvc/gettimeofday.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/src/msvc/gettimeofday.c
   freeswitch/branches/seven/libs/libg722_1/src/msvc/inttypes.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/src/msvc/inttypes.h
   freeswitch/branches/seven/libs/libg722_1/src/msvc/msvcproj.foot
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/src/msvc/msvcproj.foot
   freeswitch/branches/seven/libs/libg722_1/src/msvc/msvcproj.head
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/src/msvc/msvcproj.head
   freeswitch/branches/seven/libs/libg722_1/src/msvc/sys/
      - copied from r11459, /freeswitch/trunk/libs/libg722_1/src/msvc/sys/
   freeswitch/branches/seven/libs/libg722_1/src/msvc/sys/time.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/src/msvc/sys/time.h
   freeswitch/branches/seven/libs/libg722_1/src/msvc/tgmath.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/src/msvc/tgmath.h
   freeswitch/branches/seven/libs/libg722_1/src/msvc/unistd.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/src/msvc/unistd.h
   freeswitch/branches/seven/libs/libg722_1/src/msvc/vc8proj.foot
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/src/msvc/vc8proj.foot
   freeswitch/branches/seven/libs/libg722_1/src/msvc/vc8proj.head
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/src/msvc/vc8proj.head
   freeswitch/branches/seven/libs/libg722_1/src/sam2coef.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/src/sam2coef.c
   freeswitch/branches/seven/libs/libg722_1/src/sam2coef.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/src/sam2coef.h
   freeswitch/branches/seven/libs/libg722_1/src/tables.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/src/tables.c
   freeswitch/branches/seven/libs/libg722_1/src/tables.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/src/tables.h
   freeswitch/branches/seven/libs/libg722_1/test-data/
      - copied from r11459, /freeswitch/trunk/libs/libg722_1/test-data/
   freeswitch/branches/seven/libs/libg722_1/test-data/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/test-data/Makefile.am
   freeswitch/branches/seven/libs/libg722_1/test-data/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/test-data/Makefile.in
   freeswitch/branches/seven/libs/libg722_1/test-data/itu/
      - copied from r11459, /freeswitch/trunk/libs/libg722_1/test-data/itu/
   freeswitch/branches/seven/libs/libg722_1/test-data/itu/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/test-data/itu/Makefile.am
   freeswitch/branches/seven/libs/libg722_1/test-data/itu/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/test-data/itu/Makefile.in
   freeswitch/branches/seven/libs/libg722_1/test-data/local/
      - copied from r11459, /freeswitch/trunk/libs/libg722_1/test-data/local/
   freeswitch/branches/seven/libs/libg722_1/test-data/local/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/test-data/local/Makefile.am
   freeswitch/branches/seven/libs/libg722_1/test-data/local/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/test-data/local/Makefile.in
   freeswitch/branches/seven/libs/libg722_1/test-data/local/short_wb_voice.wav
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/test-data/local/short_wb_voice.wav
   freeswitch/branches/seven/libs/libg722_1/tests/
      - copied from r11459, /freeswitch/trunk/libs/libg722_1/tests/
   freeswitch/branches/seven/libs/libg722_1/tests/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/tests/Makefile.am
   freeswitch/branches/seven/libs/libg722_1/tests/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/tests/Makefile.in
   freeswitch/branches/seven/libs/libg722_1/tests/g722_1_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/tests/g722_1_tests.c
   freeswitch/branches/seven/libs/libg722_1/tests/itu_bit_stream.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/tests/itu_bit_stream.c
   freeswitch/branches/seven/libs/libg722_1/tests/regression_tests.sh.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/tests/regression_tests.sh.in
   freeswitch/branches/seven/libs/libg722_1/tests/timing.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/tests/timing.h
   freeswitch/branches/seven/libs/libg722_1/unpack_g722_1_data.sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/unpack_g722_1_data.sh
   freeswitch/branches/seven/libs/libg722_1/wrapper.xsl
      - copied unchanged from r11459, /freeswitch/trunk/libs/libg722_1/wrapper.xsl
   freeswitch/branches/seven/libs/libresample/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/libresample/
   freeswitch/branches/seven/libs/libresample/.update
      - copied unchanged from r11459, /freeswitch/trunk/libs/libresample/.update
   freeswitch/branches/seven/libs/libresample/AUTHORS
      - copied unchanged from r11459, /freeswitch/trunk/libs/libresample/AUTHORS
   freeswitch/branches/seven/libs/libresample/COPYING
      - copied unchanged from r11459, /freeswitch/trunk/libs/libresample/COPYING
   freeswitch/branches/seven/libs/libresample/ChangeLog
      - copied unchanged from r11459, /freeswitch/trunk/libs/libresample/ChangeLog
   freeswitch/branches/seven/libs/libresample/INSTALL
      - copied unchanged from r11459, /freeswitch/trunk/libs/libresample/INSTALL
   freeswitch/branches/seven/libs/libresample/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/libresample/Makefile.am
   freeswitch/branches/seven/libs/libresample/NEWS
      - copied unchanged from r11459, /freeswitch/trunk/libs/libresample/NEWS
   freeswitch/branches/seven/libs/libresample/README
      - copied unchanged from r11459, /freeswitch/trunk/libs/libresample/README
   freeswitch/branches/seven/libs/libresample/acsite.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/libresample/acsite.m4
   freeswitch/branches/seven/libs/libresample/build/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/libresample/build/
   freeswitch/branches/seven/libs/libresample/build/config/
      - copied from r11459, /freeswitch/trunk/libs/libresample/build/config/
   freeswitch/branches/seven/libs/libresample/build/config/ac_cflags_gcc_option.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/libresample/build/config/ac_cflags_gcc_option.m4
   freeswitch/branches/seven/libs/libresample/build/config/ac_cflags_sun_option.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/libresample/build/config/ac_cflags_sun_option.m4
   freeswitch/branches/seven/libs/libresample/build/config/ac_gcc_archflag.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/libresample/build/config/ac_gcc_archflag.m4
   freeswitch/branches/seven/libs/libresample/build/config/ac_gcc_x86_cpuid.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/libresample/build/config/ac_gcc_x86_cpuid.m4
   freeswitch/branches/seven/libs/libresample/build/config/ac_prog_gzip.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/libresample/build/config/ac_prog_gzip.m4
   freeswitch/branches/seven/libs/libresample/build/config/ac_prog_wget.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/libresample/build/config/ac_prog_wget.m4
   freeswitch/branches/seven/libs/libresample/build/config/ax_cc_maxopt.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/libresample/build/config/ax_cc_maxopt.m4
   freeswitch/branches/seven/libs/libresample/build/config/ax_cflags_warn_all_ansi.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/libresample/build/config/ax_cflags_warn_all_ansi.m4
   freeswitch/branches/seven/libs/libresample/build/config/ax_check_compiler_flags.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/libresample/build/config/ax_check_compiler_flags.m4
   freeswitch/branches/seven/libs/libresample/build/config/ax_compiler_vendor.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/libresample/build/config/ax_compiler_vendor.m4
   freeswitch/branches/seven/libs/libresample/configure.gnu
      - copied unchanged from r11459, /freeswitch/trunk/libs/libresample/configure.gnu
   freeswitch/branches/seven/libs/libresample/configure.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/libresample/configure.in
   freeswitch/branches/seven/libs/libresample/include/
      - copied from r11459, /freeswitch/trunk/libs/libresample/include/
   freeswitch/branches/seven/libs/libresample/include/libresample.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libresample/include/libresample.h
   freeswitch/branches/seven/libs/libresample/src/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/libresample/src/
   freeswitch/branches/seven/libs/libresample/src/filterkit.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libresample/src/filterkit.c
   freeswitch/branches/seven/libs/libresample/src/filterkit.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libresample/src/filterkit.h
   freeswitch/branches/seven/libs/libresample/src/resample.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libresample/src/resample.c
   freeswitch/branches/seven/libs/libresample/src/resample_defs.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libresample/src/resample_defs.h
   freeswitch/branches/seven/libs/libresample/src/resamplesubs.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libresample/src/resamplesubs.c
   freeswitch/branches/seven/libs/libresample/src/stamp-h1
      - copied unchanged from r11459, /freeswitch/trunk/libs/libresample/src/stamp-h1
   freeswitch/branches/seven/libs/libresample/tests/
      - copied from r11459, /freeswitch/trunk/libs/libresample/tests/
   freeswitch/branches/seven/libs/libresample/tests/compareresample.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libresample/tests/compareresample.c
   freeswitch/branches/seven/libs/libresample/tests/resample-sndfile.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libresample/tests/resample-sndfile.c
   freeswitch/branches/seven/libs/libresample/tests/testresample.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libresample/tests/testresample.c
   freeswitch/branches/seven/libs/libresample/win/
      - copied from r11459, /freeswitch/trunk/libs/libresample/win/
   freeswitch/branches/seven/libs/libresample/win/libresample.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/libresample/win/libresample.dsp
   freeswitch/branches/seven/libs/libsndfile/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/libsndfile/
   freeswitch/branches/seven/libs/libsndfile/.update
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/.update
   freeswitch/branches/seven/libs/libsndfile/AUTHORS
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/AUTHORS
   freeswitch/branches/seven/libs/libsndfile/COPYING
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/COPYING
   freeswitch/branches/seven/libs/libsndfile/ChangeLog
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/ChangeLog
   freeswitch/branches/seven/libs/libsndfile/INSTALL
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/INSTALL
   freeswitch/branches/seven/libs/libsndfile/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/Makefile.am
   freeswitch/branches/seven/libs/libsndfile/Mingw-make-dist.sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/Mingw-make-dist.sh
   freeswitch/branches/seven/libs/libsndfile/NEWS
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/NEWS
   freeswitch/branches/seven/libs/libsndfile/Octave/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/libsndfile/Octave/
   freeswitch/branches/seven/libs/libsndfile/Octave/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/Octave/Makefile.am
   freeswitch/branches/seven/libs/libsndfile/Octave/sndfile_load.m
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/Octave/sndfile_load.m
   freeswitch/branches/seven/libs/libsndfile/Octave/sndfile_play.m
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/Octave/sndfile_play.m
   freeswitch/branches/seven/libs/libsndfile/Octave/sndfile_save.m
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/Octave/sndfile_save.m
   freeswitch/branches/seven/libs/libsndfile/README
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/README
   freeswitch/branches/seven/libs/libsndfile/TODO
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/TODO
   freeswitch/branches/seven/libs/libsndfile/Win32/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/libsndfile/Win32/
   freeswitch/branches/seven/libs/libsndfile/Win32/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/Win32/Makefile.am
   freeswitch/branches/seven/libs/libsndfile/Win32/README-precompiled-dll.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/Win32/README-precompiled-dll.txt
   freeswitch/branches/seven/libs/libsndfile/Win32/testprog.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/Win32/testprog.c
   freeswitch/branches/seven/libs/libsndfile/acinclude.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/acinclude.m4
   freeswitch/branches/seven/libs/libsndfile/configure.ac
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/configure.ac
   freeswitch/branches/seven/libs/libsndfile/configure.gnu
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/configure.gnu
   freeswitch/branches/seven/libs/libsndfile/doc/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/libsndfile/doc/
   freeswitch/branches/seven/libs/libsndfile/doc/FAQ.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/doc/FAQ.html
   freeswitch/branches/seven/libs/libsndfile/doc/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/doc/Makefile.am
   freeswitch/branches/seven/libs/libsndfile/doc/api.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/doc/api.html
   freeswitch/branches/seven/libs/libsndfile/doc/bugs.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/doc/bugs.html
   freeswitch/branches/seven/libs/libsndfile/doc/command.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/doc/command.html
   freeswitch/branches/seven/libs/libsndfile/doc/dither.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/doc/dither.html
   freeswitch/branches/seven/libs/libsndfile/doc/embedded_files.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/doc/embedded_files.html
   freeswitch/branches/seven/libs/libsndfile/doc/index.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/doc/index.html
   freeswitch/branches/seven/libs/libsndfile/doc/libsndfile.css
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/doc/libsndfile.css
   freeswitch/branches/seven/libs/libsndfile/doc/libsndfile.css.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/doc/libsndfile.css.in
   freeswitch/branches/seven/libs/libsndfile/doc/libsndfile.jpg
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/doc/libsndfile.jpg
   freeswitch/branches/seven/libs/libsndfile/doc/lists.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/doc/lists.html
   freeswitch/branches/seven/libs/libsndfile/doc/new_file_type.HOWTO
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/doc/new_file_type.HOWTO
   freeswitch/branches/seven/libs/libsndfile/doc/octave.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/doc/octave.html
   freeswitch/branches/seven/libs/libsndfile/doc/pkgconfig.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/doc/pkgconfig.html
   freeswitch/branches/seven/libs/libsndfile/doc/sndfile_info.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/doc/sndfile_info.html
   freeswitch/branches/seven/libs/libsndfile/doc/win32.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/doc/win32.html
   freeswitch/branches/seven/libs/libsndfile/examples/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/libsndfile/examples/
   freeswitch/branches/seven/libs/libsndfile/examples/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/examples/Makefile.am
   freeswitch/branches/seven/libs/libsndfile/examples/cooledit-fixer.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/examples/cooledit-fixer.c
   freeswitch/branches/seven/libs/libsndfile/examples/generate.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/examples/generate.c
   freeswitch/branches/seven/libs/libsndfile/examples/list_formats.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/examples/list_formats.c
   freeswitch/branches/seven/libs/libsndfile/examples/make_sine.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/examples/make_sine.c
   freeswitch/branches/seven/libs/libsndfile/examples/sfprocess.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/examples/sfprocess.c
   freeswitch/branches/seven/libs/libsndfile/examples/sndfile-convert.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/examples/sndfile-convert.c
   freeswitch/branches/seven/libs/libsndfile/examples/sndfile-info.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/examples/sndfile-info.c
   freeswitch/branches/seven/libs/libsndfile/examples/sndfile-play-beos.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/examples/sndfile-play-beos.cpp
   freeswitch/branches/seven/libs/libsndfile/examples/sndfile-play.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/examples/sndfile-play.c
   freeswitch/branches/seven/libs/libsndfile/libsndfile.spec.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/libsndfile.spec.in
   freeswitch/branches/seven/libs/libsndfile/man/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/libsndfile/man/
   freeswitch/branches/seven/libs/libsndfile/man/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/man/Makefile.am
   freeswitch/branches/seven/libs/libsndfile/man/sndfile-convert.1
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/man/sndfile-convert.1
   freeswitch/branches/seven/libs/libsndfile/man/sndfile-info.1
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/man/sndfile-info.1
   freeswitch/branches/seven/libs/libsndfile/man/sndfile-play.1
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/man/sndfile-play.1
   freeswitch/branches/seven/libs/libsndfile/reconfigure.mk
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/reconfigure.mk
   freeswitch/branches/seven/libs/libsndfile/regtest/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/libsndfile/regtest/
   freeswitch/branches/seven/libs/libsndfile/regtest/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/regtest/Makefile.am
   freeswitch/branches/seven/libs/libsndfile/regtest/checksum.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/regtest/checksum.c
   freeswitch/branches/seven/libs/libsndfile/regtest/database.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/regtest/database.c
   freeswitch/branches/seven/libs/libsndfile/regtest/regtest.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/regtest/regtest.h
   freeswitch/branches/seven/libs/libsndfile/regtest/sndfile-regtest.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/regtest/sndfile-regtest.c
   freeswitch/branches/seven/libs/libsndfile/sndfile.pc.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/sndfile.pc.in
   freeswitch/branches/seven/libs/libsndfile/src/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/libsndfile/src/
   freeswitch/branches/seven/libs/libsndfile/src/G72x/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/libsndfile/src/G72x/
   freeswitch/branches/seven/libs/libsndfile/src/G72x/ChangeLog
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/G72x/ChangeLog
   freeswitch/branches/seven/libs/libsndfile/src/G72x/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/G72x/Makefile.am
   freeswitch/branches/seven/libs/libsndfile/src/G72x/README
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/G72x/README
   freeswitch/branches/seven/libs/libsndfile/src/G72x/README.original
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/G72x/README.original
   freeswitch/branches/seven/libs/libsndfile/src/G72x/g721.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/G72x/g721.c
   freeswitch/branches/seven/libs/libsndfile/src/G72x/g723_16.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/G72x/g723_16.c
   freeswitch/branches/seven/libs/libsndfile/src/G72x/g723_24.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/G72x/g723_24.c
   freeswitch/branches/seven/libs/libsndfile/src/G72x/g723_40.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/G72x/g723_40.c
   freeswitch/branches/seven/libs/libsndfile/src/G72x/g72x.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/G72x/g72x.c
   freeswitch/branches/seven/libs/libsndfile/src/G72x/g72x.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/G72x/g72x.h
   freeswitch/branches/seven/libs/libsndfile/src/G72x/g72x_priv.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/G72x/g72x_priv.h
   freeswitch/branches/seven/libs/libsndfile/src/G72x/g72x_test.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/G72x/g72x_test.c
   freeswitch/branches/seven/libs/libsndfile/src/GSM610/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/libsndfile/src/GSM610/
   freeswitch/branches/seven/libs/libsndfile/src/GSM610/COPYRIGHT
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/GSM610/COPYRIGHT
   freeswitch/branches/seven/libs/libsndfile/src/GSM610/ChangeLog
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/GSM610/ChangeLog
   freeswitch/branches/seven/libs/libsndfile/src/GSM610/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/GSM610/Makefile.am
   freeswitch/branches/seven/libs/libsndfile/src/GSM610/README
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/GSM610/README
   freeswitch/branches/seven/libs/libsndfile/src/GSM610/add.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/GSM610/add.c
   freeswitch/branches/seven/libs/libsndfile/src/GSM610/code.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/GSM610/code.c
   freeswitch/branches/seven/libs/libsndfile/src/GSM610/config.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/GSM610/config.h
   freeswitch/branches/seven/libs/libsndfile/src/GSM610/decode.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/GSM610/decode.c
   freeswitch/branches/seven/libs/libsndfile/src/GSM610/gsm.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/GSM610/gsm.h
   freeswitch/branches/seven/libs/libsndfile/src/GSM610/gsm610_priv.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/GSM610/gsm610_priv.h
   freeswitch/branches/seven/libs/libsndfile/src/GSM610/gsm_create.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/GSM610/gsm_create.c
   freeswitch/branches/seven/libs/libsndfile/src/GSM610/gsm_decode.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/GSM610/gsm_decode.c
   freeswitch/branches/seven/libs/libsndfile/src/GSM610/gsm_destroy.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/GSM610/gsm_destroy.c
   freeswitch/branches/seven/libs/libsndfile/src/GSM610/gsm_encode.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/GSM610/gsm_encode.c
   freeswitch/branches/seven/libs/libsndfile/src/GSM610/gsm_option.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/GSM610/gsm_option.c
   freeswitch/branches/seven/libs/libsndfile/src/GSM610/long_term.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/GSM610/long_term.c
   freeswitch/branches/seven/libs/libsndfile/src/GSM610/lpc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/GSM610/lpc.c
   freeswitch/branches/seven/libs/libsndfile/src/GSM610/preprocess.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/GSM610/preprocess.c
   freeswitch/branches/seven/libs/libsndfile/src/GSM610/rpe.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/GSM610/rpe.c
   freeswitch/branches/seven/libs/libsndfile/src/GSM610/short_term.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/GSM610/short_term.c
   freeswitch/branches/seven/libs/libsndfile/src/GSM610/table.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/GSM610/table.c
   freeswitch/branches/seven/libs/libsndfile/src/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/Makefile.am
   freeswitch/branches/seven/libs/libsndfile/src/Symbols.darwin
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/Symbols.darwin
   freeswitch/branches/seven/libs/libsndfile/src/Symbols.linux
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/Symbols.linux
   freeswitch/branches/seven/libs/libsndfile/src/aiff.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/aiff.c
   freeswitch/branches/seven/libs/libsndfile/src/alaw.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/alaw.c
   freeswitch/branches/seven/libs/libsndfile/src/au.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/au.c
   freeswitch/branches/seven/libs/libsndfile/src/avr.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/avr.c
   freeswitch/branches/seven/libs/libsndfile/src/binheader_writef_check.py
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/binheader_writef_check.py
   freeswitch/branches/seven/libs/libsndfile/src/broadcast.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/broadcast.c
   freeswitch/branches/seven/libs/libsndfile/src/caf.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/caf.c
   freeswitch/branches/seven/libs/libsndfile/src/command.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/command.c
   freeswitch/branches/seven/libs/libsndfile/src/common.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/common.c
   freeswitch/branches/seven/libs/libsndfile/src/common.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/common.h
   freeswitch/branches/seven/libs/libsndfile/src/create_symbols_file.py
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/create_symbols_file.py
   freeswitch/branches/seven/libs/libsndfile/src/cygsndfile.def
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/cygsndfile.def
   freeswitch/branches/seven/libs/libsndfile/src/dither.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/dither.c
   freeswitch/branches/seven/libs/libsndfile/src/double64.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/double64.c
   freeswitch/branches/seven/libs/libsndfile/src/dwd.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/dwd.c
   freeswitch/branches/seven/libs/libsndfile/src/dwvw.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/dwvw.c
   freeswitch/branches/seven/libs/libsndfile/src/file_io.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/file_io.c
   freeswitch/branches/seven/libs/libsndfile/src/flac.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/flac.c
   freeswitch/branches/seven/libs/libsndfile/src/float32.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/float32.c
   freeswitch/branches/seven/libs/libsndfile/src/float_cast.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/float_cast.h
   freeswitch/branches/seven/libs/libsndfile/src/g72x.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/g72x.c
   freeswitch/branches/seven/libs/libsndfile/src/gsm610.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/gsm610.c
   freeswitch/branches/seven/libs/libsndfile/src/htk.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/htk.c
   freeswitch/branches/seven/libs/libsndfile/src/ima_adpcm.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/ima_adpcm.c
   freeswitch/branches/seven/libs/libsndfile/src/interleave.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/interleave.c
   freeswitch/branches/seven/libs/libsndfile/src/ircam.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/ircam.c
   freeswitch/branches/seven/libs/libsndfile/src/libsndfile.def
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/libsndfile.def
   freeswitch/branches/seven/libs/libsndfile/src/macbinary3.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/macbinary3.c
   freeswitch/branches/seven/libs/libsndfile/src/macos.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/macos.c
   freeswitch/branches/seven/libs/libsndfile/src/mat4.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/mat4.c
   freeswitch/branches/seven/libs/libsndfile/src/mat5.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/mat5.c
   freeswitch/branches/seven/libs/libsndfile/src/ms_adpcm.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/ms_adpcm.c
   freeswitch/branches/seven/libs/libsndfile/src/nist.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/nist.c
   freeswitch/branches/seven/libs/libsndfile/src/ogg.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/ogg.c
   freeswitch/branches/seven/libs/libsndfile/src/paf.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/paf.c
   freeswitch/branches/seven/libs/libsndfile/src/pcm.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/pcm.c
   freeswitch/branches/seven/libs/libsndfile/src/pvf.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/pvf.c
   freeswitch/branches/seven/libs/libsndfile/src/raw.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/raw.c
   freeswitch/branches/seven/libs/libsndfile/src/rx2.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/rx2.c
   freeswitch/branches/seven/libs/libsndfile/src/sd2.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/sd2.c
   freeswitch/branches/seven/libs/libsndfile/src/sds.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/sds.c
   freeswitch/branches/seven/libs/libsndfile/src/sf_unistd.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/sf_unistd.h
   freeswitch/branches/seven/libs/libsndfile/src/sfconfig.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/sfconfig.h
   freeswitch/branches/seven/libs/libsndfile/src/sfendian.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/sfendian.h
   freeswitch/branches/seven/libs/libsndfile/src/sndfile.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/sndfile.c
   freeswitch/branches/seven/libs/libsndfile/src/sndfile.h.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/sndfile.h.in
   freeswitch/branches/seven/libs/libsndfile/src/sndfile.hh
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/sndfile.hh
   freeswitch/branches/seven/libs/libsndfile/src/strings.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/strings.c
   freeswitch/branches/seven/libs/libsndfile/src/svx.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/svx.c
   freeswitch/branches/seven/libs/libsndfile/src/test_endswap.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/test_endswap.c
   freeswitch/branches/seven/libs/libsndfile/src/test_endswap.def
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/test_endswap.def
   freeswitch/branches/seven/libs/libsndfile/src/test_endswap.tpl
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/test_endswap.tpl
   freeswitch/branches/seven/libs/libsndfile/src/test_file_io.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/test_file_io.c
   freeswitch/branches/seven/libs/libsndfile/src/test_log_printf.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/test_log_printf.c
   freeswitch/branches/seven/libs/libsndfile/src/txw.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/txw.c
   freeswitch/branches/seven/libs/libsndfile/src/ulaw.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/ulaw.c
   freeswitch/branches/seven/libs/libsndfile/src/voc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/voc.c
   freeswitch/branches/seven/libs/libsndfile/src/vox_adpcm.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/vox_adpcm.c
   freeswitch/branches/seven/libs/libsndfile/src/w64.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/w64.c
   freeswitch/branches/seven/libs/libsndfile/src/wav.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/wav.c
   freeswitch/branches/seven/libs/libsndfile/src/wav_w64.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/wav_w64.c
   freeswitch/branches/seven/libs/libsndfile/src/wav_w64.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/wav_w64.h
   freeswitch/branches/seven/libs/libsndfile/src/wve.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/wve.c
   freeswitch/branches/seven/libs/libsndfile/src/xi.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/src/xi.c
   freeswitch/branches/seven/libs/libsndfile/tests/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/libsndfile/tests/
   freeswitch/branches/seven/libs/libsndfile/tests/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/tests/Makefile.am
   freeswitch/branches/seven/libs/libsndfile/tests/aiff_rw_test.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/tests/aiff_rw_test.c
   freeswitch/branches/seven/libs/libsndfile/tests/alaw_test.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/tests/alaw_test.c
   freeswitch/branches/seven/libs/libsndfile/tests/benchmark.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/tests/benchmark.c
   freeswitch/branches/seven/libs/libsndfile/tests/benchmark.def
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/tests/benchmark.def
   freeswitch/branches/seven/libs/libsndfile/tests/benchmark.tpl
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/tests/benchmark.tpl
   freeswitch/branches/seven/libs/libsndfile/tests/command_test.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/tests/command_test.c
   freeswitch/branches/seven/libs/libsndfile/tests/cpp_test.cc
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/tests/cpp_test.cc
   freeswitch/branches/seven/libs/libsndfile/tests/dft_cmp.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/tests/dft_cmp.c
   freeswitch/branches/seven/libs/libsndfile/tests/dft_cmp.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/tests/dft_cmp.h
   freeswitch/branches/seven/libs/libsndfile/tests/dither_test.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/tests/dither_test.c
   freeswitch/branches/seven/libs/libsndfile/tests/dwvw_test.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/tests/dwvw_test.c
   freeswitch/branches/seven/libs/libsndfile/tests/error_test.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/tests/error_test.c
   freeswitch/branches/seven/libs/libsndfile/tests/fix_this.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/tests/fix_this.c
   freeswitch/branches/seven/libs/libsndfile/tests/floating_point_test.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/tests/floating_point_test.c
   freeswitch/branches/seven/libs/libsndfile/tests/floating_point_test.def
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/tests/floating_point_test.def
   freeswitch/branches/seven/libs/libsndfile/tests/floating_point_test.tpl
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/tests/floating_point_test.tpl
   freeswitch/branches/seven/libs/libsndfile/tests/header_test.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/tests/header_test.c
   freeswitch/branches/seven/libs/libsndfile/tests/header_test.def
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/tests/header_test.def
   freeswitch/branches/seven/libs/libsndfile/tests/header_test.tpl
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/tests/header_test.tpl
   freeswitch/branches/seven/libs/libsndfile/tests/headerless_test.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/tests/headerless_test.c
   freeswitch/branches/seven/libs/libsndfile/tests/largefile_test.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/tests/largefile_test.c
   freeswitch/branches/seven/libs/libsndfile/tests/locale_test.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/tests/locale_test.c
   freeswitch/branches/seven/libs/libsndfile/tests/lossy_comp_test.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/tests/lossy_comp_test.c
   freeswitch/branches/seven/libs/libsndfile/tests/misc_test.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/tests/misc_test.c
   freeswitch/branches/seven/libs/libsndfile/tests/multi_file_test.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/tests/multi_file_test.c
   freeswitch/branches/seven/libs/libsndfile/tests/open_fail_test.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/tests/open_fail_test.c
   freeswitch/branches/seven/libs/libsndfile/tests/pcm_test.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/tests/pcm_test.c
   freeswitch/branches/seven/libs/libsndfile/tests/pcm_test.def
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/tests/pcm_test.def
   freeswitch/branches/seven/libs/libsndfile/tests/pcm_test.tpl
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/tests/pcm_test.tpl
   freeswitch/branches/seven/libs/libsndfile/tests/peak_chunk_test.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/tests/peak_chunk_test.c
   freeswitch/branches/seven/libs/libsndfile/tests/pipe_test.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/tests/pipe_test.c
   freeswitch/branches/seven/libs/libsndfile/tests/pipe_test.def
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/tests/pipe_test.def
   freeswitch/branches/seven/libs/libsndfile/tests/pipe_test.tpl
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/tests/pipe_test.tpl
   freeswitch/branches/seven/libs/libsndfile/tests/raw_test.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/tests/raw_test.c
   freeswitch/branches/seven/libs/libsndfile/tests/scale_clip_test.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/tests/scale_clip_test.c
   freeswitch/branches/seven/libs/libsndfile/tests/scale_clip_test.def
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/tests/scale_clip_test.def
   freeswitch/branches/seven/libs/libsndfile/tests/scale_clip_test.tpl
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/tests/scale_clip_test.tpl
   freeswitch/branches/seven/libs/libsndfile/tests/sfversion.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/tests/sfversion.c
   freeswitch/branches/seven/libs/libsndfile/tests/stdin_test.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/tests/stdin_test.c
   freeswitch/branches/seven/libs/libsndfile/tests/stdio_test.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/tests/stdio_test.c
   freeswitch/branches/seven/libs/libsndfile/tests/stdout_test.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/tests/stdout_test.c
   freeswitch/branches/seven/libs/libsndfile/tests/string_test.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/tests/string_test.c
   freeswitch/branches/seven/libs/libsndfile/tests/ulaw_test.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/tests/ulaw_test.c
   freeswitch/branches/seven/libs/libsndfile/tests/utils.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/tests/utils.c
   freeswitch/branches/seven/libs/libsndfile/tests/utils.def
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/tests/utils.def
   freeswitch/branches/seven/libs/libsndfile/tests/utils.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/tests/utils.h
   freeswitch/branches/seven/libs/libsndfile/tests/utils.tpl
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/tests/utils.tpl
   freeswitch/branches/seven/libs/libsndfile/tests/virtual_io_test.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/tests/virtual_io_test.c
   freeswitch/branches/seven/libs/libsndfile/tests/win32_ordinal_test.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/tests/win32_ordinal_test.c
   freeswitch/branches/seven/libs/libsndfile/tests/win32_test.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/tests/win32_test.c
   freeswitch/branches/seven/libs/libsndfile/tests/write_read_test.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/tests/write_read_test.c
   freeswitch/branches/seven/libs/libsndfile/tests/write_read_test.def
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/tests/write_read_test.def
   freeswitch/branches/seven/libs/libsndfile/tests/write_read_test.tpl
      - copied unchanged from r11459, /freeswitch/trunk/libs/libsndfile/tests/write_read_test.tpl
   freeswitch/branches/seven/libs/libteletone/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/libteletone/
   freeswitch/branches/seven/libs/libteletone/.update
      - copied unchanged from r11459, /freeswitch/trunk/libs/libteletone/.update
   freeswitch/branches/seven/libs/libteletone/AUTHORS
      - copied unchanged from r11459, /freeswitch/trunk/libs/libteletone/AUTHORS
   freeswitch/branches/seven/libs/libteletone/COPYING
      - copied unchanged from r11459, /freeswitch/trunk/libs/libteletone/COPYING
   freeswitch/branches/seven/libs/libteletone/ChangeLog
      - copied unchanged from r11459, /freeswitch/trunk/libs/libteletone/ChangeLog
   freeswitch/branches/seven/libs/libteletone/INSTALL
      - copied unchanged from r11459, /freeswitch/trunk/libs/libteletone/INSTALL
   freeswitch/branches/seven/libs/libteletone/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/libteletone/Makefile.am
   freeswitch/branches/seven/libs/libteletone/NEWS
      - copied unchanged from r11459, /freeswitch/trunk/libs/libteletone/NEWS
   freeswitch/branches/seven/libs/libteletone/README
      - copied unchanged from r11459, /freeswitch/trunk/libs/libteletone/README
   freeswitch/branches/seven/libs/libteletone/acsite.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/libteletone/acsite.m4
   freeswitch/branches/seven/libs/libteletone/build/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/libteletone/build/
   freeswitch/branches/seven/libs/libteletone/build/config/
      - copied from r11459, /freeswitch/trunk/libs/libteletone/build/config/
   freeswitch/branches/seven/libs/libteletone/build/config/ac_cflags_gcc_option.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/libteletone/build/config/ac_cflags_gcc_option.m4
   freeswitch/branches/seven/libs/libteletone/build/config/ac_cflags_sun_option.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/libteletone/build/config/ac_cflags_sun_option.m4
   freeswitch/branches/seven/libs/libteletone/build/config/ac_gcc_archflag.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/libteletone/build/config/ac_gcc_archflag.m4
   freeswitch/branches/seven/libs/libteletone/build/config/ac_gcc_x86_cpuid.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/libteletone/build/config/ac_gcc_x86_cpuid.m4
   freeswitch/branches/seven/libs/libteletone/build/config/ac_prog_gzip.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/libteletone/build/config/ac_prog_gzip.m4
   freeswitch/branches/seven/libs/libteletone/build/config/ac_prog_wget.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/libteletone/build/config/ac_prog_wget.m4
   freeswitch/branches/seven/libs/libteletone/build/config/ax_cc_maxopt.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/libteletone/build/config/ax_cc_maxopt.m4
   freeswitch/branches/seven/libs/libteletone/build/config/ax_cflags_warn_all_ansi.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/libteletone/build/config/ax_cflags_warn_all_ansi.m4
   freeswitch/branches/seven/libs/libteletone/build/config/ax_check_compiler_flags.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/libteletone/build/config/ax_check_compiler_flags.m4
   freeswitch/branches/seven/libs/libteletone/build/config/ax_compiler_vendor.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/libteletone/build/config/ax_compiler_vendor.m4
   freeswitch/branches/seven/libs/libteletone/configure.gnu
      - copied unchanged from r11459, /freeswitch/trunk/libs/libteletone/configure.gnu
   freeswitch/branches/seven/libs/libteletone/configure.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/libteletone/configure.in
   freeswitch/branches/seven/libs/libteletone/libteletone.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/libteletone/libteletone.2008.vcproj
   freeswitch/branches/seven/libs/libteletone/libteletone.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/libteletone/libteletone.vcproj
   freeswitch/branches/seven/libs/libteletone/src/
      - copied from r11459, /freeswitch/trunk/libs/libteletone/src/
   freeswitch/branches/seven/libs/libteletone/src/libteletone.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libteletone/src/libteletone.h
   freeswitch/branches/seven/libs/libteletone/src/libteletone_detect.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libteletone/src/libteletone_detect.c
   freeswitch/branches/seven/libs/libteletone/src/libteletone_detect.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libteletone/src/libteletone_detect.h
   freeswitch/branches/seven/libs/libteletone/src/libteletone_generate.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/libteletone/src/libteletone_generate.c
   freeswitch/branches/seven/libs/libteletone/src/libteletone_generate.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/libteletone/src/libteletone_generate.h
   freeswitch/branches/seven/libs/libteletone/teletone.def
      - copied unchanged from r11459, /freeswitch/trunk/libs/libteletone/teletone.def
   freeswitch/branches/seven/libs/pcre/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/pcre/
   freeswitch/branches/seven/libs/pcre/.update
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/.update
   freeswitch/branches/seven/libs/pcre/AUTHORS
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/AUTHORS
   freeswitch/branches/seven/libs/pcre/COPYING
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/COPYING
   freeswitch/branches/seven/libs/pcre/ChangeLog
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/ChangeLog
   freeswitch/branches/seven/libs/pcre/INSTALL
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/INSTALL
   freeswitch/branches/seven/libs/pcre/LICENCE
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/LICENCE
   freeswitch/branches/seven/libs/pcre/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/Makefile.in
   freeswitch/branches/seven/libs/pcre/NEWS
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/NEWS
   freeswitch/branches/seven/libs/pcre/NON-UNIX-USE
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/NON-UNIX-USE
   freeswitch/branches/seven/libs/pcre/README
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/README
   freeswitch/branches/seven/libs/pcre/RunGrepTest.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/RunGrepTest.in
   freeswitch/branches/seven/libs/pcre/RunTest.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/RunTest.in
   freeswitch/branches/seven/libs/pcre/config.h.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/config.h.in
   freeswitch/branches/seven/libs/pcre/configure.ac
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/configure.ac
   freeswitch/branches/seven/libs/pcre/configure.gnu
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/configure.gnu
   freeswitch/branches/seven/libs/pcre/dftables.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/dftables.c
   freeswitch/branches/seven/libs/pcre/doc/
      - copied from r11459, /freeswitch/trunk/libs/pcre/doc/
   freeswitch/branches/seven/libs/pcre/doc/Tech.Notes
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/Tech.Notes
   freeswitch/branches/seven/libs/pcre/doc/html/
      - copied from r11459, /freeswitch/trunk/libs/pcre/doc/html/
   freeswitch/branches/seven/libs/pcre/doc/html/index.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/html/index.html
   freeswitch/branches/seven/libs/pcre/doc/html/pcre.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/html/pcre.html
   freeswitch/branches/seven/libs/pcre/doc/html/pcre_compile.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/html/pcre_compile.html
   freeswitch/branches/seven/libs/pcre/doc/html/pcre_compile2.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/html/pcre_compile2.html
   freeswitch/branches/seven/libs/pcre/doc/html/pcre_config.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/html/pcre_config.html
   freeswitch/branches/seven/libs/pcre/doc/html/pcre_copy_named_substring.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/html/pcre_copy_named_substring.html
   freeswitch/branches/seven/libs/pcre/doc/html/pcre_copy_substring.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/html/pcre_copy_substring.html
   freeswitch/branches/seven/libs/pcre/doc/html/pcre_dfa_exec.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/html/pcre_dfa_exec.html
   freeswitch/branches/seven/libs/pcre/doc/html/pcre_exec.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/html/pcre_exec.html
   freeswitch/branches/seven/libs/pcre/doc/html/pcre_free_substring.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/html/pcre_free_substring.html
   freeswitch/branches/seven/libs/pcre/doc/html/pcre_free_substring_list.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/html/pcre_free_substring_list.html
   freeswitch/branches/seven/libs/pcre/doc/html/pcre_fullinfo.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/html/pcre_fullinfo.html
   freeswitch/branches/seven/libs/pcre/doc/html/pcre_get_named_substring.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/html/pcre_get_named_substring.html
   freeswitch/branches/seven/libs/pcre/doc/html/pcre_get_stringnumber.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/html/pcre_get_stringnumber.html
   freeswitch/branches/seven/libs/pcre/doc/html/pcre_get_stringtable_entries.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/html/pcre_get_stringtable_entries.html
   freeswitch/branches/seven/libs/pcre/doc/html/pcre_get_substring.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/html/pcre_get_substring.html
   freeswitch/branches/seven/libs/pcre/doc/html/pcre_get_substring_list.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/html/pcre_get_substring_list.html
   freeswitch/branches/seven/libs/pcre/doc/html/pcre_info.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/html/pcre_info.html
   freeswitch/branches/seven/libs/pcre/doc/html/pcre_maketables.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/html/pcre_maketables.html
   freeswitch/branches/seven/libs/pcre/doc/html/pcre_refcount.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/html/pcre_refcount.html
   freeswitch/branches/seven/libs/pcre/doc/html/pcre_study.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/html/pcre_study.html
   freeswitch/branches/seven/libs/pcre/doc/html/pcre_version.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/html/pcre_version.html
   freeswitch/branches/seven/libs/pcre/doc/html/pcreapi.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/html/pcreapi.html
   freeswitch/branches/seven/libs/pcre/doc/html/pcrebuild.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/html/pcrebuild.html
   freeswitch/branches/seven/libs/pcre/doc/html/pcrecallout.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/html/pcrecallout.html
   freeswitch/branches/seven/libs/pcre/doc/html/pcrecompat.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/html/pcrecompat.html
   freeswitch/branches/seven/libs/pcre/doc/html/pcrecpp.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/html/pcrecpp.html
   freeswitch/branches/seven/libs/pcre/doc/html/pcregrep.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/html/pcregrep.html
   freeswitch/branches/seven/libs/pcre/doc/html/pcrematching.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/html/pcrematching.html
   freeswitch/branches/seven/libs/pcre/doc/html/pcrepartial.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/html/pcrepartial.html
   freeswitch/branches/seven/libs/pcre/doc/html/pcrepattern.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/html/pcrepattern.html
   freeswitch/branches/seven/libs/pcre/doc/html/pcreperform.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/html/pcreperform.html
   freeswitch/branches/seven/libs/pcre/doc/html/pcreposix.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/html/pcreposix.html
   freeswitch/branches/seven/libs/pcre/doc/html/pcreprecompile.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/html/pcreprecompile.html
   freeswitch/branches/seven/libs/pcre/doc/html/pcresample.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/html/pcresample.html
   freeswitch/branches/seven/libs/pcre/doc/html/pcrestack.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/html/pcrestack.html
   freeswitch/branches/seven/libs/pcre/doc/html/pcretest.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/html/pcretest.html
   freeswitch/branches/seven/libs/pcre/doc/pcre.3
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/pcre.3
   freeswitch/branches/seven/libs/pcre/doc/pcre.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/pcre.txt
   freeswitch/branches/seven/libs/pcre/doc/pcre_compile.3
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/pcre_compile.3
   freeswitch/branches/seven/libs/pcre/doc/pcre_compile2.3
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/pcre_compile2.3
   freeswitch/branches/seven/libs/pcre/doc/pcre_config.3
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/pcre_config.3
   freeswitch/branches/seven/libs/pcre/doc/pcre_copy_named_substring.3
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/pcre_copy_named_substring.3
   freeswitch/branches/seven/libs/pcre/doc/pcre_copy_substring.3
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/pcre_copy_substring.3
   freeswitch/branches/seven/libs/pcre/doc/pcre_dfa_exec.3
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/pcre_dfa_exec.3
   freeswitch/branches/seven/libs/pcre/doc/pcre_exec.3
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/pcre_exec.3
   freeswitch/branches/seven/libs/pcre/doc/pcre_free_substring.3
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/pcre_free_substring.3
   freeswitch/branches/seven/libs/pcre/doc/pcre_free_substring_list.3
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/pcre_free_substring_list.3
   freeswitch/branches/seven/libs/pcre/doc/pcre_fullinfo.3
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/pcre_fullinfo.3
   freeswitch/branches/seven/libs/pcre/doc/pcre_get_named_substring.3
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/pcre_get_named_substring.3
   freeswitch/branches/seven/libs/pcre/doc/pcre_get_stringnumber.3
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/pcre_get_stringnumber.3
   freeswitch/branches/seven/libs/pcre/doc/pcre_get_stringtable_entries.3
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/pcre_get_stringtable_entries.3
   freeswitch/branches/seven/libs/pcre/doc/pcre_get_substring.3
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/pcre_get_substring.3
   freeswitch/branches/seven/libs/pcre/doc/pcre_get_substring_list.3
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/pcre_get_substring_list.3
   freeswitch/branches/seven/libs/pcre/doc/pcre_info.3
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/pcre_info.3
   freeswitch/branches/seven/libs/pcre/doc/pcre_maketables.3
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/pcre_maketables.3
   freeswitch/branches/seven/libs/pcre/doc/pcre_refcount.3
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/pcre_refcount.3
   freeswitch/branches/seven/libs/pcre/doc/pcre_study.3
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/pcre_study.3
   freeswitch/branches/seven/libs/pcre/doc/pcre_version.3
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/pcre_version.3
   freeswitch/branches/seven/libs/pcre/doc/pcreapi.3
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/pcreapi.3
   freeswitch/branches/seven/libs/pcre/doc/pcrebuild.3
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/pcrebuild.3
   freeswitch/branches/seven/libs/pcre/doc/pcrecallout.3
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/pcrecallout.3
   freeswitch/branches/seven/libs/pcre/doc/pcrecompat.3
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/pcrecompat.3
   freeswitch/branches/seven/libs/pcre/doc/pcrecpp.3
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/pcrecpp.3
   freeswitch/branches/seven/libs/pcre/doc/pcregrep.1
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/pcregrep.1
   freeswitch/branches/seven/libs/pcre/doc/pcregrep.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/pcregrep.txt
   freeswitch/branches/seven/libs/pcre/doc/pcrematching.3
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/pcrematching.3
   freeswitch/branches/seven/libs/pcre/doc/pcrepartial.3
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/pcrepartial.3
   freeswitch/branches/seven/libs/pcre/doc/pcrepattern.3
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/pcrepattern.3
   freeswitch/branches/seven/libs/pcre/doc/pcreperform.3
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/pcreperform.3
   freeswitch/branches/seven/libs/pcre/doc/pcreposix.3
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/pcreposix.3
   freeswitch/branches/seven/libs/pcre/doc/pcreprecompile.3
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/pcreprecompile.3
   freeswitch/branches/seven/libs/pcre/doc/pcresample.3
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/pcresample.3
   freeswitch/branches/seven/libs/pcre/doc/pcrestack.3
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/pcrestack.3
   freeswitch/branches/seven/libs/pcre/doc/pcretest.1
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/pcretest.1
   freeswitch/branches/seven/libs/pcre/doc/pcretest.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/pcretest.txt
   freeswitch/branches/seven/libs/pcre/doc/perltest.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/doc/perltest.txt
   freeswitch/branches/seven/libs/pcre/install-sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/install-sh
   freeswitch/branches/seven/libs/pcre/libpcre.def
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/libpcre.def
   freeswitch/branches/seven/libs/pcre/libpcre.pc.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/libpcre.pc.in
   freeswitch/branches/seven/libs/pcre/libpcreposix.def
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/libpcreposix.def
   freeswitch/branches/seven/libs/pcre/makevp.bat
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/makevp.bat
   freeswitch/branches/seven/libs/pcre/mkinstalldirs
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/mkinstalldirs
   freeswitch/branches/seven/libs/pcre/pcre-config.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/pcre-config.in
   freeswitch/branches/seven/libs/pcre/pcre.def
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/pcre.def
   freeswitch/branches/seven/libs/pcre/pcre.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/pcre.h
   freeswitch/branches/seven/libs/pcre/pcre_compile.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/pcre_compile.c
   freeswitch/branches/seven/libs/pcre/pcre_config.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/pcre_config.c
   freeswitch/branches/seven/libs/pcre/pcre_dfa_exec.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/pcre_dfa_exec.c
   freeswitch/branches/seven/libs/pcre/pcre_exec.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/pcre_exec.c
   freeswitch/branches/seven/libs/pcre/pcre_fullinfo.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/pcre_fullinfo.c
   freeswitch/branches/seven/libs/pcre/pcre_get.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/pcre_get.c
   freeswitch/branches/seven/libs/pcre/pcre_globals.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/pcre_globals.c
   freeswitch/branches/seven/libs/pcre/pcre_info.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/pcre_info.c
   freeswitch/branches/seven/libs/pcre/pcre_internal.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/pcre_internal.h
   freeswitch/branches/seven/libs/pcre/pcre_maketables.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/pcre_maketables.c
   freeswitch/branches/seven/libs/pcre/pcre_ord2utf8.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/pcre_ord2utf8.c
   freeswitch/branches/seven/libs/pcre/pcre_printint.src
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/pcre_printint.src
   freeswitch/branches/seven/libs/pcre/pcre_refcount.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/pcre_refcount.c
   freeswitch/branches/seven/libs/pcre/pcre_scanner.cc
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/pcre_scanner.cc
   freeswitch/branches/seven/libs/pcre/pcre_scanner.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/pcre_scanner.h
   freeswitch/branches/seven/libs/pcre/pcre_scanner_unittest.cc
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/pcre_scanner_unittest.cc
   freeswitch/branches/seven/libs/pcre/pcre_stringpiece.cc
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/pcre_stringpiece.cc
   freeswitch/branches/seven/libs/pcre/pcre_stringpiece.h.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/pcre_stringpiece.h.in
   freeswitch/branches/seven/libs/pcre/pcre_stringpiece_unittest.cc
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/pcre_stringpiece_unittest.cc
   freeswitch/branches/seven/libs/pcre/pcre_study.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/pcre_study.c
   freeswitch/branches/seven/libs/pcre/pcre_tables.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/pcre_tables.c
   freeswitch/branches/seven/libs/pcre/pcre_try_flipped.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/pcre_try_flipped.c
   freeswitch/branches/seven/libs/pcre/pcre_ucp_searchfuncs.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/pcre_ucp_searchfuncs.c
   freeswitch/branches/seven/libs/pcre/pcre_valid_utf8.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/pcre_valid_utf8.c
   freeswitch/branches/seven/libs/pcre/pcre_version.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/pcre_version.c
   freeswitch/branches/seven/libs/pcre/pcre_xclass.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/pcre_xclass.c
   freeswitch/branches/seven/libs/pcre/pcrecpp.cc
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/pcrecpp.cc
   freeswitch/branches/seven/libs/pcre/pcrecpp.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/pcrecpp.h
   freeswitch/branches/seven/libs/pcre/pcrecpp_unittest.cc
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/pcrecpp_unittest.cc
   freeswitch/branches/seven/libs/pcre/pcrecpparg.h.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/pcrecpparg.h.in
   freeswitch/branches/seven/libs/pcre/pcredemo.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/pcredemo.c
   freeswitch/branches/seven/libs/pcre/pcregrep.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/pcregrep.c
   freeswitch/branches/seven/libs/pcre/pcreposix.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/pcreposix.c
   freeswitch/branches/seven/libs/pcre/pcreposix.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/pcreposix.h
   freeswitch/branches/seven/libs/pcre/pcretest.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/pcretest.c
   freeswitch/branches/seven/libs/pcre/perltest
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/perltest
   freeswitch/branches/seven/libs/pcre/testdata/
      - copied from r11459, /freeswitch/trunk/libs/pcre/testdata/
   freeswitch/branches/seven/libs/pcre/testdata/grepinput
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/testdata/grepinput
   freeswitch/branches/seven/libs/pcre/testdata/grepinputx
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/testdata/grepinputx
   freeswitch/branches/seven/libs/pcre/testdata/greplist
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/testdata/greplist
   freeswitch/branches/seven/libs/pcre/testdata/grepoutput
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/testdata/grepoutput
   freeswitch/branches/seven/libs/pcre/testdata/testinput1
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/testdata/testinput1
   freeswitch/branches/seven/libs/pcre/testdata/testinput2
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/testdata/testinput2
   freeswitch/branches/seven/libs/pcre/testdata/testinput3
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/testdata/testinput3
   freeswitch/branches/seven/libs/pcre/testdata/testinput4
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/testdata/testinput4
   freeswitch/branches/seven/libs/pcre/testdata/testinput5
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/testdata/testinput5
   freeswitch/branches/seven/libs/pcre/testdata/testinput6
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/testdata/testinput6
   freeswitch/branches/seven/libs/pcre/testdata/testinput7
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/testdata/testinput7
   freeswitch/branches/seven/libs/pcre/testdata/testinput8
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/testdata/testinput8
   freeswitch/branches/seven/libs/pcre/testdata/testinput9
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/testdata/testinput9
   freeswitch/branches/seven/libs/pcre/testdata/testoutput1
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/testdata/testoutput1
   freeswitch/branches/seven/libs/pcre/testdata/testoutput2
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/testdata/testoutput2
   freeswitch/branches/seven/libs/pcre/testdata/testoutput3
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/testdata/testoutput3
   freeswitch/branches/seven/libs/pcre/testdata/testoutput4
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/testdata/testoutput4
   freeswitch/branches/seven/libs/pcre/testdata/testoutput5
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/testdata/testoutput5
   freeswitch/branches/seven/libs/pcre/testdata/testoutput6
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/testdata/testoutput6
   freeswitch/branches/seven/libs/pcre/testdata/testoutput7
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/testdata/testoutput7
   freeswitch/branches/seven/libs/pcre/testdata/testoutput8
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/testdata/testoutput8
   freeswitch/branches/seven/libs/pcre/testdata/testoutput9
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/testdata/testoutput9
   freeswitch/branches/seven/libs/pcre/ucp.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/ucp.h
   freeswitch/branches/seven/libs/pcre/ucpinternal.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/ucpinternal.h
   freeswitch/branches/seven/libs/pcre/ucptable.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/pcre/ucptable.c
   freeswitch/branches/seven/libs/portaudio/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/portaudio/
   freeswitch/branches/seven/libs/portaudio/.update
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/.update
   freeswitch/branches/seven/libs/portaudio/COMPILING.DARWIN
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/COMPILING.DARWIN
   freeswitch/branches/seven/libs/portaudio/Doxyfile
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/Doxyfile
   freeswitch/branches/seven/libs/portaudio/LICENSE.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/LICENSE.txt
   freeswitch/branches/seven/libs/portaudio/Makefile.darwin
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/Makefile.darwin
   freeswitch/branches/seven/libs/portaudio/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/Makefile.in
   freeswitch/branches/seven/libs/portaudio/README.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/README.txt
   freeswitch/branches/seven/libs/portaudio/SConstruct
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/SConstruct
   freeswitch/branches/seven/libs/portaudio/V19-devel-readme.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/V19-devel-readme.txt
   freeswitch/branches/seven/libs/portaudio/aclocal.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/aclocal.m4
   freeswitch/branches/seven/libs/portaudio/bindings/
      - copied from r11459, /freeswitch/trunk/libs/portaudio/bindings/
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/
      - copied from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/AUTHORS
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/AUTHORS
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/COPYING
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/COPYING
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/ChangeLog
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/ChangeLog
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/INSTALL
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/INSTALL
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/Makefile.am
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/Makefile.in
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/NEWS
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/NEWS
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/README
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/README
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/SConscript
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/SConscript
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/aclocal.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/aclocal.m4
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/bin/
      - copied from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/bin/
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/bin/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/bin/Makefile.am
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/bin/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/bin/Makefile.in
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/build/
      - copied from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/build/
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/build/gnu/
      - copied from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/build/gnu/
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/build/gnu/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/build/gnu/Makefile.in
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/build/gnu/OUT_OF_DATE
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/build/gnu/OUT_OF_DATE
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/build/gnu/aclocal.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/build/gnu/aclocal.m4
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/build/gnu/config.guess
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/build/gnu/config.guess
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/build/gnu/config.sub
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/build/gnu/config.sub
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/build/gnu/configure
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/build/gnu/configure
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/build/gnu/configure.ac
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/build/gnu/configure.ac
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/build/gnu/install-sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/build/gnu/install-sh
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/build/vc6/
      - copied from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/build/vc6/
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/build/vc6/devs_example.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/build/vc6/devs_example.dsp
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/build/vc6/devs_example.dsw
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/build/vc6/devs_example.dsw
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/build/vc6/sine_example.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/build/vc6/sine_example.dsp
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/build/vc6/sine_example.dsw
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/build/vc6/sine_example.dsw
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/build/vc6/static_library.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/build/vc6/static_library.dsp
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/build/vc6/static_library.dsw
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/build/vc6/static_library.dsw
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/build/vc7/
      - copied from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/build/vc7/
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/build/vc7/OUT_OF_DATE
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/build/vc7/OUT_OF_DATE
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/build/vc7_1/
      - copied from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/build/vc7_1/
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/build/vc7_1/devs_example.sln
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/build/vc7_1/devs_example.sln
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/build/vc7_1/devs_example.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/build/vc7_1/devs_example.vcproj
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/build/vc7_1/sine_example.sln
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/build/vc7_1/sine_example.sln
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/build/vc7_1/sine_example.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/build/vc7_1/sine_example.vcproj
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/build/vc7_1/static_library.sln
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/build/vc7_1/static_library.sln
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/build/vc7_1/static_library.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/build/vc7_1/static_library.vcproj
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/configure
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/configure
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/configure.ac
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/configure.ac
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/doc/
      - copied from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/doc/
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/doc/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/doc/Makefile.am
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/doc/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/doc/Makefile.in
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/doc/README
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/doc/README
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/doc/config.doxy
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/doc/config.doxy
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/doc/config.doxy.linux
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/doc/config.doxy.linux
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/example/
      - copied from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/example/
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/example/devs.cxx
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/example/devs.cxx
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/example/sine.cxx
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/example/sine.cxx
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/include/
      - copied from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/include/
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/include/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/include/Makefile.am
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/include/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/include/Makefile.in
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/include/portaudiocpp/
      - copied from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/include/portaudiocpp/
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/include/portaudiocpp/AsioDeviceAdapter.hxx
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/include/portaudiocpp/AsioDeviceAdapter.hxx
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/include/portaudiocpp/AutoSystem.hxx
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/include/portaudiocpp/AutoSystem.hxx
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/include/portaudiocpp/BlockingStream.hxx
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/include/portaudiocpp/BlockingStream.hxx
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/include/portaudiocpp/CFunCallbackStream.hxx
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/include/portaudiocpp/CFunCallbackStream.hxx
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/include/portaudiocpp/CallbackInterface.hxx
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/include/portaudiocpp/CallbackInterface.hxx
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/include/portaudiocpp/CallbackStream.hxx
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/include/portaudiocpp/CallbackStream.hxx
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/include/portaudiocpp/CppFunCallbackStream.hxx
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/include/portaudiocpp/CppFunCallbackStream.hxx
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/include/portaudiocpp/Device.hxx
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/include/portaudiocpp/Device.hxx
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/include/portaudiocpp/DirectionSpecificStreamParameters.hxx
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/include/portaudiocpp/DirectionSpecificStreamParameters.hxx
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/include/portaudiocpp/Exception.hxx
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/include/portaudiocpp/Exception.hxx
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/include/portaudiocpp/HostApi.hxx
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/include/portaudiocpp/HostApi.hxx
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/include/portaudiocpp/InterfaceCallbackStream.hxx
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/include/portaudiocpp/InterfaceCallbackStream.hxx
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/include/portaudiocpp/MemFunCallbackStream.hxx
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/include/portaudiocpp/MemFunCallbackStream.hxx
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/include/portaudiocpp/PortAudioCpp.hxx
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/include/portaudiocpp/PortAudioCpp.hxx
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/include/portaudiocpp/SampleDataFormat.hxx
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/include/portaudiocpp/SampleDataFormat.hxx
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/include/portaudiocpp/Stream.hxx
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/include/portaudiocpp/Stream.hxx
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/include/portaudiocpp/StreamParameters.hxx
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/include/portaudiocpp/StreamParameters.hxx
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/include/portaudiocpp/System.hxx
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/include/portaudiocpp/System.hxx
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/include/portaudiocpp/SystemDeviceIterator.hxx
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/include/portaudiocpp/SystemDeviceIterator.hxx
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/include/portaudiocpp/SystemHostApiIterator.hxx
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/include/portaudiocpp/SystemHostApiIterator.hxx
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/lib/
      - copied from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/lib/
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/lib/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/lib/Makefile.am
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/lib/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/lib/Makefile.in
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/portaudiocpp.pc.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/portaudiocpp.pc.in
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/source/
      - copied from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/source/
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/source/portaudiocpp/
      - copied from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/source/portaudiocpp/
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/source/portaudiocpp/AsioDeviceAdapter.cxx
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/source/portaudiocpp/AsioDeviceAdapter.cxx
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/source/portaudiocpp/BlockingStream.cxx
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/source/portaudiocpp/BlockingStream.cxx
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/source/portaudiocpp/CFunCallbackStream.cxx
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/source/portaudiocpp/CFunCallbackStream.cxx
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/source/portaudiocpp/CallbackInterface.cxx
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/source/portaudiocpp/CallbackInterface.cxx
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/source/portaudiocpp/CallbackStream.cxx
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/source/portaudiocpp/CallbackStream.cxx
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/source/portaudiocpp/CppFunCallbackStream.cxx
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/source/portaudiocpp/CppFunCallbackStream.cxx
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/source/portaudiocpp/Device.cxx
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/source/portaudiocpp/Device.cxx
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/source/portaudiocpp/DirectionSpecificStreamParameters.cxx
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/source/portaudiocpp/DirectionSpecificStreamParameters.cxx
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/source/portaudiocpp/Exception.cxx
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/source/portaudiocpp/Exception.cxx
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/source/portaudiocpp/HostApi.cxx
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/source/portaudiocpp/HostApi.cxx
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/source/portaudiocpp/InterfaceCallbackStream.cxx
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/source/portaudiocpp/InterfaceCallbackStream.cxx
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/source/portaudiocpp/MemFunCallbackStream.cxx
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/source/portaudiocpp/MemFunCallbackStream.cxx
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/source/portaudiocpp/Stream.cxx
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/source/portaudiocpp/Stream.cxx
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/source/portaudiocpp/StreamParameters.cxx
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/source/portaudiocpp/StreamParameters.cxx
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/source/portaudiocpp/System.cxx
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/source/portaudiocpp/System.cxx
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/source/portaudiocpp/SystemDeviceIterator.cxx
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/source/portaudiocpp/SystemDeviceIterator.cxx
   freeswitch/branches/seven/libs/portaudio/bindings/cpp/source/portaudiocpp/SystemHostApiIterator.cxx
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/bindings/cpp/source/portaudiocpp/SystemHostApiIterator.cxx
   freeswitch/branches/seven/libs/portaudio/build/
      - copied from r11459, /freeswitch/trunk/libs/portaudio/build/
   freeswitch/branches/seven/libs/portaudio/build/dev-cpp/
      - copied from r11459, /freeswitch/trunk/libs/portaudio/build/dev-cpp/
   freeswitch/branches/seven/libs/portaudio/build/dev-cpp/Makefile-dll
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/build/dev-cpp/Makefile-dll
   freeswitch/branches/seven/libs/portaudio/build/dev-cpp/Makefile-static
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/build/dev-cpp/Makefile-static
   freeswitch/branches/seven/libs/portaudio/build/dev-cpp/portaudio-dll.dev
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/build/dev-cpp/portaudio-dll.dev
   freeswitch/branches/seven/libs/portaudio/build/dev-cpp/portaudio-static.dev
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/build/dev-cpp/portaudio-static.dev
   freeswitch/branches/seven/libs/portaudio/build/dev-cpp/readme.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/build/dev-cpp/readme.txt
   freeswitch/branches/seven/libs/portaudio/build/msvc/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/portaudio/build/msvc/
   freeswitch/branches/seven/libs/portaudio/build/msvc/portaudio.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/build/msvc/portaudio.2008.vcproj
   freeswitch/branches/seven/libs/portaudio/build/msvc/portaudio.def
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/build/msvc/portaudio.def
   freeswitch/branches/seven/libs/portaudio/build/msvc/portaudio.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/build/msvc/portaudio.dsp
   freeswitch/branches/seven/libs/portaudio/build/msvc/portaudio.dsw
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/build/msvc/portaudio.dsw
   freeswitch/branches/seven/libs/portaudio/build/msvc/portaudio.sln
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/build/msvc/portaudio.sln
   freeswitch/branches/seven/libs/portaudio/build/msvc/portaudio.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/build/msvc/portaudio.vcproj
   freeswitch/branches/seven/libs/portaudio/build/msvc/readme.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/build/msvc/readme.txt
   freeswitch/branches/seven/libs/portaudio/build/scons/
      - copied from r11459, /freeswitch/trunk/libs/portaudio/build/scons/
   freeswitch/branches/seven/libs/portaudio/build/scons/SConscript_common
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/build/scons/SConscript_common
   freeswitch/branches/seven/libs/portaudio/build/scons/SConscript_opts
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/build/scons/SConscript_opts
   freeswitch/branches/seven/libs/portaudio/config.guess
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/config.guess
   freeswitch/branches/seven/libs/portaudio/config.sub
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/config.sub
   freeswitch/branches/seven/libs/portaudio/configure
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/configure
   freeswitch/branches/seven/libs/portaudio/configure.gnu
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/configure.gnu
   freeswitch/branches/seven/libs/portaudio/configure.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/configure.in
   freeswitch/branches/seven/libs/portaudio/depcomp
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/depcomp
   freeswitch/branches/seven/libs/portaudio/doc/
      - copied from r11459, /freeswitch/trunk/libs/portaudio/doc/
   freeswitch/branches/seven/libs/portaudio/doc/html/
      - copied from r11459, /freeswitch/trunk/libs/portaudio/doc/html/
   freeswitch/branches/seven/libs/portaudio/doc/src/
      - copied from r11459, /freeswitch/trunk/libs/portaudio/doc/src/
   freeswitch/branches/seven/libs/portaudio/doc/src/license.dox
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/doc/src/license.dox
   freeswitch/branches/seven/libs/portaudio/doc/src/mainpage.dox
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/doc/src/mainpage.dox
   freeswitch/branches/seven/libs/portaudio/doc/src/srcguide.dox
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/doc/src/srcguide.dox
   freeswitch/branches/seven/libs/portaudio/doc/utils/
      - copied from r11459, /freeswitch/trunk/libs/portaudio/doc/utils/
   freeswitch/branches/seven/libs/portaudio/doc/utils/checkfiledocs.py
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/doc/utils/checkfiledocs.py
   freeswitch/branches/seven/libs/portaudio/fixdir.bat
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/fixdir.bat
   freeswitch/branches/seven/libs/portaudio/fixfile.bat
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/fixfile.bat
   freeswitch/branches/seven/libs/portaudio/include/
      - copied from r11459, /freeswitch/trunk/libs/portaudio/include/
   freeswitch/branches/seven/libs/portaudio/include/pa_asio.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/include/pa_asio.h
   freeswitch/branches/seven/libs/portaudio/include/pa_jack.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/include/pa_jack.h
   freeswitch/branches/seven/libs/portaudio/include/pa_linux_alsa.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/include/pa_linux_alsa.h
   freeswitch/branches/seven/libs/portaudio/include/pa_mac_core.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/include/pa_mac_core.h
   freeswitch/branches/seven/libs/portaudio/include/pa_win_ds.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/include/pa_win_ds.h
   freeswitch/branches/seven/libs/portaudio/include/pa_win_waveformat.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/include/pa_win_waveformat.h
   freeswitch/branches/seven/libs/portaudio/include/pa_win_wmme.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/include/pa_win_wmme.h
   freeswitch/branches/seven/libs/portaudio/include/portaudio.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/include/portaudio.h
   freeswitch/branches/seven/libs/portaudio/index.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/index.html
   freeswitch/branches/seven/libs/portaudio/install-sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/install-sh
   freeswitch/branches/seven/libs/portaudio/ltmain.sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/ltmain.sh
   freeswitch/branches/seven/libs/portaudio/missing
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/missing
   freeswitch/branches/seven/libs/portaudio/pablio/
      - copied from r11459, /freeswitch/trunk/libs/portaudio/pablio/
   freeswitch/branches/seven/libs/portaudio/pablio/README.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/pablio/README.txt
   freeswitch/branches/seven/libs/portaudio/pablio/pablio.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/pablio/pablio.c
   freeswitch/branches/seven/libs/portaudio/pablio/pablio.def
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/pablio/pablio.def
   freeswitch/branches/seven/libs/portaudio/pablio/pablio.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/pablio/pablio.h
   freeswitch/branches/seven/libs/portaudio/pablio/test_rw.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/pablio/test_rw.c
   freeswitch/branches/seven/libs/portaudio/pablio/test_rw_echo.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/pablio/test_rw_echo.c
   freeswitch/branches/seven/libs/portaudio/pablio/test_w_saw.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/pablio/test_w_saw.c
   freeswitch/branches/seven/libs/portaudio/pablio/test_w_saw8.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/pablio/test_w_saw8.c
   freeswitch/branches/seven/libs/portaudio/portaudio-2.0.pc.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/portaudio-2.0.pc.in
   freeswitch/branches/seven/libs/portaudio/src/
      - copied from r11459, /freeswitch/trunk/libs/portaudio/src/
   freeswitch/branches/seven/libs/portaudio/src/SConscript
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/SConscript
   freeswitch/branches/seven/libs/portaudio/src/common/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/portaudio/src/common/
   freeswitch/branches/seven/libs/portaudio/src/common/pa_allocation.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/common/pa_allocation.c
   freeswitch/branches/seven/libs/portaudio/src/common/pa_allocation.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/common/pa_allocation.h
   freeswitch/branches/seven/libs/portaudio/src/common/pa_converters.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/common/pa_converters.c
   freeswitch/branches/seven/libs/portaudio/src/common/pa_converters.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/common/pa_converters.h
   freeswitch/branches/seven/libs/portaudio/src/common/pa_cpuload.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/common/pa_cpuload.c
   freeswitch/branches/seven/libs/portaudio/src/common/pa_cpuload.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/common/pa_cpuload.h
   freeswitch/branches/seven/libs/portaudio/src/common/pa_debugprint.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/common/pa_debugprint.c
   freeswitch/branches/seven/libs/portaudio/src/common/pa_debugprint.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/common/pa_debugprint.h
   freeswitch/branches/seven/libs/portaudio/src/common/pa_dither.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/common/pa_dither.c
   freeswitch/branches/seven/libs/portaudio/src/common/pa_dither.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/common/pa_dither.h
   freeswitch/branches/seven/libs/portaudio/src/common/pa_endianness.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/common/pa_endianness.h
   freeswitch/branches/seven/libs/portaudio/src/common/pa_front.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/common/pa_front.c
   freeswitch/branches/seven/libs/portaudio/src/common/pa_hostapi.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/common/pa_hostapi.h
   freeswitch/branches/seven/libs/portaudio/src/common/pa_process.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/common/pa_process.c
   freeswitch/branches/seven/libs/portaudio/src/common/pa_process.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/common/pa_process.h
   freeswitch/branches/seven/libs/portaudio/src/common/pa_ringbuffer.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/common/pa_ringbuffer.c
   freeswitch/branches/seven/libs/portaudio/src/common/pa_ringbuffer.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/common/pa_ringbuffer.h
   freeswitch/branches/seven/libs/portaudio/src/common/pa_skeleton.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/common/pa_skeleton.c
   freeswitch/branches/seven/libs/portaudio/src/common/pa_stream.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/common/pa_stream.c
   freeswitch/branches/seven/libs/portaudio/src/common/pa_stream.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/common/pa_stream.h
   freeswitch/branches/seven/libs/portaudio/src/common/pa_trace.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/common/pa_trace.c
   freeswitch/branches/seven/libs/portaudio/src/common/pa_trace.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/common/pa_trace.h
   freeswitch/branches/seven/libs/portaudio/src/common/pa_types.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/common/pa_types.h
   freeswitch/branches/seven/libs/portaudio/src/common/pa_util.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/common/pa_util.h
   freeswitch/branches/seven/libs/portaudio/src/hostapi/
      - copied from r11459, /freeswitch/trunk/libs/portaudio/src/hostapi/
   freeswitch/branches/seven/libs/portaudio/src/hostapi/alsa/
      - copied from r11459, /freeswitch/trunk/libs/portaudio/src/hostapi/alsa/
   freeswitch/branches/seven/libs/portaudio/src/hostapi/alsa/pa_linux_alsa.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/hostapi/alsa/pa_linux_alsa.c
   freeswitch/branches/seven/libs/portaudio/src/hostapi/asihpi/
      - copied from r11459, /freeswitch/trunk/libs/portaudio/src/hostapi/asihpi/
   freeswitch/branches/seven/libs/portaudio/src/hostapi/asihpi/pa_linux_asihpi.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/hostapi/asihpi/pa_linux_asihpi.c
   freeswitch/branches/seven/libs/portaudio/src/hostapi/asio/
      - copied from r11459, /freeswitch/trunk/libs/portaudio/src/hostapi/asio/
   freeswitch/branches/seven/libs/portaudio/src/hostapi/asio/ASIO-README.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/hostapi/asio/ASIO-README.txt
   freeswitch/branches/seven/libs/portaudio/src/hostapi/asio/Callback_adaptation_.pdf
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/hostapi/asio/Callback_adaptation_.pdf
   freeswitch/branches/seven/libs/portaudio/src/hostapi/asio/Pa_ASIO.pdf
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/hostapi/asio/Pa_ASIO.pdf
   freeswitch/branches/seven/libs/portaudio/src/hostapi/asio/iasiothiscallresolver.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/hostapi/asio/iasiothiscallresolver.cpp
   freeswitch/branches/seven/libs/portaudio/src/hostapi/asio/iasiothiscallresolver.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/hostapi/asio/iasiothiscallresolver.h
   freeswitch/branches/seven/libs/portaudio/src/hostapi/asio/pa_asio.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/hostapi/asio/pa_asio.cpp
   freeswitch/branches/seven/libs/portaudio/src/hostapi/coreaudio/
      - copied from r11459, /freeswitch/trunk/libs/portaudio/src/hostapi/coreaudio/
   freeswitch/branches/seven/libs/portaudio/src/hostapi/coreaudio/notes.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/hostapi/coreaudio/notes.txt
   freeswitch/branches/seven/libs/portaudio/src/hostapi/coreaudio/pa_mac_core.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/hostapi/coreaudio/pa_mac_core.c
   freeswitch/branches/seven/libs/portaudio/src/hostapi/coreaudio/pa_mac_core_blocking.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/hostapi/coreaudio/pa_mac_core_blocking.c
   freeswitch/branches/seven/libs/portaudio/src/hostapi/coreaudio/pa_mac_core_blocking.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/hostapi/coreaudio/pa_mac_core_blocking.h
   freeswitch/branches/seven/libs/portaudio/src/hostapi/coreaudio/pa_mac_core_internal.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/hostapi/coreaudio/pa_mac_core_internal.h
   freeswitch/branches/seven/libs/portaudio/src/hostapi/coreaudio/pa_mac_core_old.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/hostapi/coreaudio/pa_mac_core_old.c
   freeswitch/branches/seven/libs/portaudio/src/hostapi/coreaudio/pa_mac_core_utilities.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/hostapi/coreaudio/pa_mac_core_utilities.c
   freeswitch/branches/seven/libs/portaudio/src/hostapi/coreaudio/pa_mac_core_utilities.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/hostapi/coreaudio/pa_mac_core_utilities.h
   freeswitch/branches/seven/libs/portaudio/src/hostapi/dsound/
      - copied from r11459, /freeswitch/trunk/libs/portaudio/src/hostapi/dsound/
   freeswitch/branches/seven/libs/portaudio/src/hostapi/dsound/pa_win_ds.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/hostapi/dsound/pa_win_ds.c
   freeswitch/branches/seven/libs/portaudio/src/hostapi/dsound/pa_win_ds_dynlink.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/hostapi/dsound/pa_win_ds_dynlink.c
   freeswitch/branches/seven/libs/portaudio/src/hostapi/dsound/pa_win_ds_dynlink.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/hostapi/dsound/pa_win_ds_dynlink.h
   freeswitch/branches/seven/libs/portaudio/src/hostapi/jack/
      - copied from r11459, /freeswitch/trunk/libs/portaudio/src/hostapi/jack/
   freeswitch/branches/seven/libs/portaudio/src/hostapi/jack/pa_jack.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/hostapi/jack/pa_jack.c
   freeswitch/branches/seven/libs/portaudio/src/hostapi/oss/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/portaudio/src/hostapi/oss/
   freeswitch/branches/seven/libs/portaudio/src/hostapi/oss/low_latency_tip.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/hostapi/oss/low_latency_tip.txt
   freeswitch/branches/seven/libs/portaudio/src/hostapi/oss/pa_unix_oss.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/hostapi/oss/pa_unix_oss.c
   freeswitch/branches/seven/libs/portaudio/src/hostapi/oss/recplay.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/hostapi/oss/recplay.c
   freeswitch/branches/seven/libs/portaudio/src/hostapi/wasapi/
      - copied from r11459, /freeswitch/trunk/libs/portaudio/src/hostapi/wasapi/
   freeswitch/branches/seven/libs/portaudio/src/hostapi/wasapi/pa_win_wasapi.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/hostapi/wasapi/pa_win_wasapi.cpp
   freeswitch/branches/seven/libs/portaudio/src/hostapi/wdmks/
      - copied from r11459, /freeswitch/trunk/libs/portaudio/src/hostapi/wdmks/
   freeswitch/branches/seven/libs/portaudio/src/hostapi/wdmks/pa_win_wdmks.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/hostapi/wdmks/pa_win_wdmks.c
   freeswitch/branches/seven/libs/portaudio/src/hostapi/wdmks/readme.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/hostapi/wdmks/readme.txt
   freeswitch/branches/seven/libs/portaudio/src/hostapi/wmme/
      - copied from r11459, /freeswitch/trunk/libs/portaudio/src/hostapi/wmme/
   freeswitch/branches/seven/libs/portaudio/src/hostapi/wmme/pa_win_wmme.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/hostapi/wmme/pa_win_wmme.c
   freeswitch/branches/seven/libs/portaudio/src/os/
      - copied from r11459, /freeswitch/trunk/libs/portaudio/src/os/
   freeswitch/branches/seven/libs/portaudio/src/os/mac_osx/
      - copied from r11459, /freeswitch/trunk/libs/portaudio/src/os/mac_osx/
   freeswitch/branches/seven/libs/portaudio/src/os/mac_osx/pa_mac_hostapis.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/os/mac_osx/pa_mac_hostapis.c
   freeswitch/branches/seven/libs/portaudio/src/os/unix/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/portaudio/src/os/unix/
   freeswitch/branches/seven/libs/portaudio/src/os/unix/pa_unix_hostapis.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/os/unix/pa_unix_hostapis.c
   freeswitch/branches/seven/libs/portaudio/src/os/unix/pa_unix_util.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/os/unix/pa_unix_util.c
   freeswitch/branches/seven/libs/portaudio/src/os/unix/pa_unix_util.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/os/unix/pa_unix_util.h
   freeswitch/branches/seven/libs/portaudio/src/os/win/
      - copied from r11459, /freeswitch/trunk/libs/portaudio/src/os/win/
   freeswitch/branches/seven/libs/portaudio/src/os/win/pa_win_hostapis.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/os/win/pa_win_hostapis.c
   freeswitch/branches/seven/libs/portaudio/src/os/win/pa_win_util.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/os/win/pa_win_util.c
   freeswitch/branches/seven/libs/portaudio/src/os/win/pa_win_waveformat.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/os/win/pa_win_waveformat.c
   freeswitch/branches/seven/libs/portaudio/src/os/win/pa_win_wdmks_utils.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/os/win/pa_win_wdmks_utils.c
   freeswitch/branches/seven/libs/portaudio/src/os/win/pa_win_wdmks_utils.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/os/win/pa_win_wdmks_utils.h
   freeswitch/branches/seven/libs/portaudio/src/os/win/pa_x86_plain_converters.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/os/win/pa_x86_plain_converters.c
   freeswitch/branches/seven/libs/portaudio/src/os/win/pa_x86_plain_converters.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/src/os/win/pa_x86_plain_converters.h
   freeswitch/branches/seven/libs/portaudio/test/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/portaudio/test/
   freeswitch/branches/seven/libs/portaudio/test/README.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/README.txt
   freeswitch/branches/seven/libs/portaudio/test/debug_convert.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/debug_convert.c
   freeswitch/branches/seven/libs/portaudio/test/debug_dither_calc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/debug_dither_calc.c
   freeswitch/branches/seven/libs/portaudio/test/debug_dual.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/debug_dual.c
   freeswitch/branches/seven/libs/portaudio/test/debug_multi_in.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/debug_multi_in.c
   freeswitch/branches/seven/libs/portaudio/test/debug_multi_out.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/debug_multi_out.c
   freeswitch/branches/seven/libs/portaudio/test/debug_record.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/debug_record.c
   freeswitch/branches/seven/libs/portaudio/test/debug_record_reuse.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/debug_record_reuse.c
   freeswitch/branches/seven/libs/portaudio/test/debug_sine.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/debug_sine.c
   freeswitch/branches/seven/libs/portaudio/test/debug_sine_amp.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/debug_sine_amp.c
   freeswitch/branches/seven/libs/portaudio/test/debug_sine_formats.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/debug_sine_formats.c
   freeswitch/branches/seven/libs/portaudio/test/debug_srate.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/debug_srate.c
   freeswitch/branches/seven/libs/portaudio/test/debug_test1.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/debug_test1.c
   freeswitch/branches/seven/libs/portaudio/test/pa_devs.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/pa_devs.c
   freeswitch/branches/seven/libs/portaudio/test/pa_fuzz.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/pa_fuzz.c
   freeswitch/branches/seven/libs/portaudio/test/pa_minlat.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/pa_minlat.c
   freeswitch/branches/seven/libs/portaudio/test/paqa_devs.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/paqa_devs.c
   freeswitch/branches/seven/libs/portaudio/test/paqa_errs.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/paqa_errs.c
   freeswitch/branches/seven/libs/portaudio/test/patest1.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/patest1.c
   freeswitch/branches/seven/libs/portaudio/test/patest_buffer.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/patest_buffer.c
   freeswitch/branches/seven/libs/portaudio/test/patest_callbackstop.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/patest_callbackstop.c
   freeswitch/branches/seven/libs/portaudio/test/patest_clip.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/patest_clip.c
   freeswitch/branches/seven/libs/portaudio/test/patest_dither.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/patest_dither.c
   freeswitch/branches/seven/libs/portaudio/test/patest_dsound_surround.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/patest_dsound_surround.c
   freeswitch/branches/seven/libs/portaudio/test/patest_hang.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/patest_hang.c
   freeswitch/branches/seven/libs/portaudio/test/patest_in_overflow.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/patest_in_overflow.c
   freeswitch/branches/seven/libs/portaudio/test/patest_latency.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/patest_latency.c
   freeswitch/branches/seven/libs/portaudio/test/patest_leftright.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/patest_leftright.c
   freeswitch/branches/seven/libs/portaudio/test/patest_longsine.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/patest_longsine.c
   freeswitch/branches/seven/libs/portaudio/test/patest_many.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/patest_many.c
   freeswitch/branches/seven/libs/portaudio/test/patest_maxsines.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/patest_maxsines.c
   freeswitch/branches/seven/libs/portaudio/test/patest_mono.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/patest_mono.c
   freeswitch/branches/seven/libs/portaudio/test/patest_mono_asio_channel_select.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/patest_mono_asio_channel_select.c
   freeswitch/branches/seven/libs/portaudio/test/patest_multi_sine.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/patest_multi_sine.c
   freeswitch/branches/seven/libs/portaudio/test/patest_out_underflow.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/patest_out_underflow.c
   freeswitch/branches/seven/libs/portaudio/test/patest_pink.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/patest_pink.c
   freeswitch/branches/seven/libs/portaudio/test/patest_prime.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/patest_prime.c
   freeswitch/branches/seven/libs/portaudio/test/patest_read_record.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/patest_read_record.c
   freeswitch/branches/seven/libs/portaudio/test/patest_read_write_wire.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/patest_read_write_wire.c
   freeswitch/branches/seven/libs/portaudio/test/patest_record.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/patest_record.c
   freeswitch/branches/seven/libs/portaudio/test/patest_ringmix.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/patest_ringmix.c
   freeswitch/branches/seven/libs/portaudio/test/patest_saw.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/patest_saw.c
   freeswitch/branches/seven/libs/portaudio/test/patest_sine.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/patest_sine.c
   freeswitch/branches/seven/libs/portaudio/test/patest_sine8.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/patest_sine8.c
   freeswitch/branches/seven/libs/portaudio/test/patest_sine_channelmaps.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/patest_sine_channelmaps.c
   freeswitch/branches/seven/libs/portaudio/test/patest_sine_formats.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/patest_sine_formats.c
   freeswitch/branches/seven/libs/portaudio/test/patest_sine_time.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/patest_sine_time.c
   freeswitch/branches/seven/libs/portaudio/test/patest_start_stop.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/patest_start_stop.c
   freeswitch/branches/seven/libs/portaudio/test/patest_stop.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/patest_stop.c
   freeswitch/branches/seven/libs/portaudio/test/patest_stop_playout.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/patest_stop_playout.c
   freeswitch/branches/seven/libs/portaudio/test/patest_sync.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/patest_sync.c
   freeswitch/branches/seven/libs/portaudio/test/patest_timing.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/patest_timing.c
   freeswitch/branches/seven/libs/portaudio/test/patest_toomanysines.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/patest_toomanysines.c
   freeswitch/branches/seven/libs/portaudio/test/patest_two_rates.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/patest_two_rates.c
   freeswitch/branches/seven/libs/portaudio/test/patest_underflow.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/patest_underflow.c
   freeswitch/branches/seven/libs/portaudio/test/patest_wire.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/patest_wire.c
   freeswitch/branches/seven/libs/portaudio/test/patest_wmme_surround.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/patest_wmme_surround.c
   freeswitch/branches/seven/libs/portaudio/test/patest_write_sine.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/patest_write_sine.c
   freeswitch/branches/seven/libs/portaudio/test/patest_write_stop.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/test/patest_write_stop.c
   freeswitch/branches/seven/libs/portaudio/testcvs/
      - copied from r11459, /freeswitch/trunk/libs/portaudio/testcvs/
   freeswitch/branches/seven/libs/portaudio/testcvs/changeme.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/portaudio/testcvs/changeme.txt
   freeswitch/branches/seven/libs/sofia-sip/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/
   freeswitch/branches/seven/libs/sofia-sip/.update
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/.update
   freeswitch/branches/seven/libs/sofia-sip/AUTHORS
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/AUTHORS
   freeswitch/branches/seven/libs/sofia-sip/COPYING
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/COPYING
   freeswitch/branches/seven/libs/sofia-sip/COPYRIGHTS
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/COPYRIGHTS
   freeswitch/branches/seven/libs/sofia-sip/ChangeLog
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/ChangeLog
   freeswitch/branches/seven/libs/sofia-sip/ChangeLog.ext-trees
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/ChangeLog.ext-trees
   freeswitch/branches/seven/libs/sofia-sip/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/Makefile.am
   freeswitch/branches/seven/libs/sofia-sip/README
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/README
   freeswitch/branches/seven/libs/sofia-sip/README.developers
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/README.developers
   freeswitch/branches/seven/libs/sofia-sip/RELEASE
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/RELEASE
   freeswitch/branches/seven/libs/sofia-sip/RELEASE.template
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/RELEASE.template
   freeswitch/branches/seven/libs/sofia-sip/TODO
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/TODO
   freeswitch/branches/seven/libs/sofia-sip/acinclude.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/acinclude.m4
   freeswitch/branches/seven/libs/sofia-sip/autogen.sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/autogen.sh
   freeswitch/branches/seven/libs/sofia-sip/configure.ac
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/configure.ac
   freeswitch/branches/seven/libs/sofia-sip/configure.gnu
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/configure.gnu
   freeswitch/branches/seven/libs/sofia-sip/docs/
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/docs/
   freeswitch/branches/seven/libs/sofia-sip/docs/build_system.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/docs/build_system.txt
   freeswitch/branches/seven/libs/sofia-sip/docs/devel_platform_notes.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/docs/devel_platform_notes.txt
   freeswitch/branches/seven/libs/sofia-sip/docs/release_management.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/docs/release_management.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua-glib/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua-glib/
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua-glib/ChangeLog
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua-glib/ChangeLog
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua-glib/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua-glib/Makefile.am
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua-glib/docs/
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua-glib/docs/
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua-glib/docs/Doxyfile.aliases
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua-glib/docs/Doxyfile.aliases
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua-glib/docs/Doxyfile.conf
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua-glib/docs/Doxyfile.conf
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua-glib/docs/Doxyfile.version
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua-glib/docs/Doxyfile.version
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/Doxyfile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/Doxyfile.in
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/Makefile.am
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/sofia-sip/
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/sofia-sip/
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/sofia-sip/su_glib.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/sofia-sip/su_glib.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/sofia-sip/su_source.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/sofia-sip/su_source.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/su_glib.docs
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/su_glib.docs
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/su_source.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/su_source.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/su_source_test.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/su_source_test.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/torture_su_glib_timer.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua-glib/su-glib/torture_su_glib_timer.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/ChangeLog
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/ChangeLog
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/Makefile.am
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/bnf/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/bnf/
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/bnf/ChangeLog
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/bnf/ChangeLog
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/bnf/Doxyfile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/bnf/Doxyfile.in
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/bnf/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/bnf/Makefile.am
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/bnf/bnf.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/bnf/bnf.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/bnf/bnf.docs
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/bnf/bnf.docs
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/bnf/sofia-sip/
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/bnf/sofia-sip/
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/bnf/sofia-sip/bnf.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/bnf/sofia-sip/bnf.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/bnf/sofia-sip/hostdomain.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/bnf/sofia-sip/hostdomain.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/bnf/torture_bnf.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/bnf/torture_bnf.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/docs/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/docs/
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/docs/ChangeLog
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/docs/ChangeLog
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/docs/Doxyfile.aliases
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/docs/Doxyfile.aliases
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/docs/Doxyfile.conf
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/docs/Doxyfile.conf
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/docs/Doxyfile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/docs/Doxyfile.in
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/docs/Doxyfile.version.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/docs/Doxyfile.version.in
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/docs/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/docs/Makefile.am
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/docs/conformance.docs
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/docs/conformance.docs
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/docs/docguide.docs
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/docs/docguide.docs
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/docs/mainpage.docs
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/docs/mainpage.docs
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/docs/pictures/
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/docs/pictures/
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/docs/pictures/SIP_basic_incoming_operation.eps
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/docs/pictures/SIP_basic_incoming_operation.eps
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/docs/pictures/SIP_basic_incoming_operation.gif
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/docs/pictures/SIP_basic_incoming_operation.gif
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/docs/pictures/SIP_basic_incoming_operation.vsd
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/docs/pictures/SIP_basic_incoming_operation.vsd
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/docs/pictures/SIP_basic_outgoing_operation.eps
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/docs/pictures/SIP_basic_outgoing_operation.eps
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/docs/pictures/SIP_basic_outgoing_operation.gif
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/docs/pictures/SIP_basic_outgoing_operation.gif
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/docs/pictures/SIP_basic_outgoing_operation.vsd
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/docs/pictures/SIP_basic_outgoing_operation.vsd
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/docs/pictures/SIP_incoming_call.eps
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/docs/pictures/SIP_incoming_call.eps
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/docs/pictures/SIP_incoming_call.gif
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/docs/pictures/SIP_incoming_call.gif
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/docs/pictures/SIP_incoming_call.vsd
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/docs/pictures/SIP_incoming_call.vsd
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/docs/pictures/SIP_outgoing_call.eps
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/docs/pictures/SIP_outgoing_call.eps
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/docs/pictures/SIP_outgoing_call.gif
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/docs/pictures/SIP_outgoing_call.gif
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/docs/pictures/SIP_outgoing_call.vsd
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/docs/pictures/SIP_outgoing_call.vsd
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/docs/pictures/SIP_outgoing_operation_with_auth.eps
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/docs/pictures/SIP_outgoing_operation_with_auth.eps
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/docs/pictures/SIP_outgoing_operation_with_auth.gif
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/docs/pictures/SIP_outgoing_operation_with_auth.gif
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/docs/pictures/SIP_outgoing_operation_with_auth.vsd
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/docs/pictures/SIP_outgoing_operation_with_auth.vsd
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/docs/pictures/autotools.eps
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/docs/pictures/autotools.eps
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/docs/pictures/autotools.gif
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/docs/pictures/autotools.gif
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/docs/pictures/autotools.vsd
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/docs/pictures/autotools.vsd
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/docs/pictures/nta-receiving-message.eps
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/docs/pictures/nta-receiving-message.eps
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/docs/pictures/nta-receiving-message.gif
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/docs/pictures/nta-receiving-message.gif
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/docs/sofia-footer.html.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/docs/sofia-footer.html.in
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/features/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/features/
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/features/ChangeLog
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/features/ChangeLog
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/features/Doxyfile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/features/Doxyfile.in
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/features/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/features/Makefile.am
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/features/features.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/features/features.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/features/features.docs
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/features/features.docs
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/features/sofia-sip/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/features/sofia-sip/
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/features/sofia-sip/sofia_features.h.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/features/sofia-sip/sofia_features.h.in
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/http/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/http/
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/http/ChangeLog
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/http/ChangeLog
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/http/Doxyfile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/http/Doxyfile.in
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/http/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/http/Makefile.am
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/http/headers
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/http/headers
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/http/http.def.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/http/http.def.in
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/http/http.docs
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/http/http.docs
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/http/http_basic.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/http/http_basic.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/http/http_extra.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/http/http_extra.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/http/http_header.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/http/http_header.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/http/http_inlined.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/http/http_inlined.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/http/http_parser.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/http/http_parser.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/http/http_parser_table.c.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/http/http_parser_table.c.in
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/http/http_status.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/http/http_status.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/http/http_tag.c.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/http/http_tag.c.in
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/http/http_tag_class.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/http/http_tag_class.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/http/sofia-sip/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/http/sofia-sip/
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/http/sofia-sip/http.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/http/sofia-sip/http.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/http/sofia-sip/http_hclasses.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/http/sofia-sip/http_hclasses.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/http/sofia-sip/http_header.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/http/sofia-sip/http_header.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/http/sofia-sip/http_parser.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/http/sofia-sip/http_parser.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/http/sofia-sip/http_protos.h.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/http/sofia-sip/http_protos.h.in
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/http/sofia-sip/http_status.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/http/sofia-sip/http_status.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/http/sofia-sip/http_tag.h.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/http/sofia-sip/http_tag.h.in
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/http/sofia-sip/http_tag_class.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/http/sofia-sip/http_tag_class.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/http/test_http.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/http/test_http.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/ipt/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/ipt/
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/ipt/ChangeLog
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/ipt/ChangeLog
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/ipt/Doxyfile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/ipt/Doxyfile.in
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/ipt/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/ipt/Makefile.am
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/ipt/base64.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/ipt/base64.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/ipt/ipt.docs
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/ipt/ipt.docs
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/ipt/rc4.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/ipt/rc4.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/ipt/sofia-sip/
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/ipt/sofia-sip/
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/ipt/sofia-sip/base64.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/ipt/sofia-sip/base64.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/ipt/sofia-sip/rc4.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/ipt/sofia-sip/rc4.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/ipt/sofia-sip/token64.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/ipt/sofia-sip/token64.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/ipt/sofia-sip/uniqueid.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/ipt/sofia-sip/uniqueid.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/ipt/sofia-sip/utf8.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/ipt/sofia-sip/utf8.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/ipt/token64.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/ipt/token64.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/ipt/torture_base64.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/ipt/torture_base64.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/ipt/ucs2.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/ipt/ucs2.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/ipt/ucs4.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/ipt/ucs4.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/ipt/utf8.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/ipt/utf8.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/ipt/utf8internal.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/ipt/utf8internal.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/ipt/utf8test.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/ipt/utf8test.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/iptsec/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/iptsec/ChangeLog
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/ChangeLog
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/iptsec/Doxyfile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/Doxyfile.in
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/iptsec/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/Makefile.am
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_client.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_client.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_client_ntlm.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_client_ntlm.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_common.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_common.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_digest.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_digest.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_module.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_module.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_module_http.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_module_http.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_module_sip.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_module_sip.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_ntlm.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_ntlm.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_plugin.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_plugin.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_plugin_delayed.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_plugin_delayed.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_plugin_ntlm.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_plugin_ntlm.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_tag.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/auth_tag.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/iptsec/iptsec.docs
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/iptsec.docs
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/iptsec/iptsec_debug.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/iptsec_debug.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/iptsec/iptsec_debug.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/iptsec_debug.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/iptsec/sofia-sip/
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/sofia-sip/
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/iptsec/sofia-sip/auth_client.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/sofia-sip/auth_client.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/iptsec/sofia-sip/auth_client_plugin.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/sofia-sip/auth_client_plugin.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/iptsec/sofia-sip/auth_common.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/sofia-sip/auth_common.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/iptsec/sofia-sip/auth_digest.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/sofia-sip/auth_digest.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/iptsec/sofia-sip/auth_module.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/sofia-sip/auth_module.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/iptsec/sofia-sip/auth_ntlm.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/sofia-sip/auth_ntlm.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/iptsec/sofia-sip/auth_plugin.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/sofia-sip/auth_plugin.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/iptsec/test_auth_digest.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/test_auth_digest.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/iptsec/testpasswd
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/iptsec/testpasswd
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/msg/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/msg/ChangeLog
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/ChangeLog
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/msg/Doxyfile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/Doxyfile.in
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/msg/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/Makefile.am
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/msg/msg.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/msg.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/msg/msg.docs
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/msg.docs
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/msg/msg_auth.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/msg_auth.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/msg/msg_basic.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/msg_basic.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/msg/msg_date.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/msg_date.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/msg/msg_generic.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/msg_generic.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/msg/msg_header_copy.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/msg_header_copy.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/msg/msg_header_make.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/msg_header_make.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/msg/msg_inlined.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/msg_inlined.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/msg/msg_internal.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/msg_internal.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/msg/msg_mclass.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/msg_mclass.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/msg/msg_mime.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/msg_mime.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/msg/msg_mime_table.c.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/msg_mime_table.c.in
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/msg/msg_name_hash.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/msg_name_hash.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/msg/msg_parser.awk
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/msg_parser.awk
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/msg/msg_parser.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/msg_parser.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/msg/msg_parser_util.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/msg_parser_util.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/msg/msg_tag.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/msg_tag.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_addr.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_addr.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_buffer.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_buffer.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_date.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_date.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_header.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_header.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_mclass.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_mclass.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_mclass_hash.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_mclass_hash.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_mime.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_mime.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_mime_protos.h.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_mime_protos.h.in
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_parser.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_parser.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_protos.h.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_protos.h.in
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_tag_class.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_tag_class.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_types.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_types.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/msg/test_class.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/test_class.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/msg/test_class.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/test_class.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/msg/test_inlined.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/test_inlined.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/msg/test_msg.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/test_msg.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/msg/test_protos.h.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/test_protos.h.in
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/msg/test_table.c.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/msg/test_table.c.in
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nea/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nea/
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nea/ChangeLog
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nea/ChangeLog
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nea/Doxyfile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nea/Doxyfile.in
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nea/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nea/Makefile.am
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nea/nea.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nea/nea.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nea/nea.docs
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nea/nea.docs
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nea/nea_debug.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nea/nea_debug.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nea/nea_debug.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nea/nea_debug.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nea/nea_event.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nea/nea_event.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nea/nea_server.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nea/nea_server.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nea/nea_tag.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nea/nea_tag.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nea/sofia-sip/
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nea/sofia-sip/
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nea/sofia-sip/nea.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nea/sofia-sip/nea.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nea/sofia-sip/nea_tag.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nea/sofia-sip/nea_tag.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nta/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nta/ChangeLog
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/ChangeLog
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nta/Doxyfile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/Doxyfile.in
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nta/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/Makefile.am
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nta/agent.pem
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/agent.pem
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nta/cafile.pem
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/cafile.pem
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nta/invite.msc
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/invite.msc
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nta/nta.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/nta.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nta/nta.docs
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/nta.docs
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nta/nta_check.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/nta_check.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nta/nta_compat.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/nta_compat.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nta/nta_compat.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/nta_compat.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nta/nta_internal.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/nta_internal.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nta/nta_tag.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/nta_tag.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nta/portbind.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/portbind.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nta/run_test_nta
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/run_test_nta
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nta/run_test_nta_api
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/run_test_nta_api
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nta/sl_read_payload.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/sl_read_payload.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nta/sl_utils.docs
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/sl_utils.docs
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nta/sl_utils_log.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/sl_utils_log.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nta/sl_utils_print.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/sl_utils_print.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nta/sofia-sip/
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/sofia-sip/
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nta/sofia-sip/nta.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/sofia-sip/nta.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nta/sofia-sip/nta_stateless.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/sofia-sip/nta_stateless.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nta/sofia-sip/nta_tag.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/sofia-sip/nta_tag.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nta/sofia-sip/nta_tport.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/sofia-sip/nta_tport.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nta/sofia-sip/sl_utils.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/sofia-sip/sl_utils.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nta/test_nta.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/test_nta.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nta/test_nta_api.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/test_nta_api.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nth/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nth/
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nth/ChangeLog
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nth/ChangeLog
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nth/Doxyfile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nth/Doxyfile.in
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nth/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nth/Makefile.am
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nth/agent.pem
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nth/agent.pem
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nth/cafile.pem
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nth/cafile.pem
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nth/http-client.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nth/http-client.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nth/http-server.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nth/http-server.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nth/nth.docs
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nth/nth.docs
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nth/nth_client.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nth/nth_client.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nth/nth_server.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nth/nth_server.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nth/nth_tag.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nth/nth_tag.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nth/sofia-sip/
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nth/sofia-sip/
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nth/sofia-sip/nth.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nth/sofia-sip/nth.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nth/sofia-sip/nth_tag.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nth/sofia-sip/nth_tag.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nth/test_nth.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nth/test_nth.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nua/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nua/ChangeLog
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/ChangeLog
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nua/Doxyfile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/Doxyfile.in
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nua/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/Makefile.am
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nua/check_nua.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_nua.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nua/check_nua.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_nua.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nua/check_register.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_register.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nua/check_session.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_session.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nua/nua.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nua/nua.docs
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua.docs
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nua/nua_common.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_common.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nua/nua_dialog.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_dialog.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nua/nua_dialog.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_dialog.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nua/nua_event_server.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_event_server.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nua/nua_extension.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_extension.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nua/nua_message.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_message.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nua/nua_notifier.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_notifier.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nua/nua_options.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_options.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nua/nua_params.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_params.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nua/nua_params.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_params.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nua/nua_publish.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_publish.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nua/nua_register.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_register.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nua/nua_registrar.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_registrar.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nua/nua_stack.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_stack.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nua/nua_stack.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_stack.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nua/nua_subnotref.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_subnotref.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nua/nua_tag.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_tag.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nua/nua_types.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_types.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nua/outbound.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/outbound.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nua/outbound.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/outbound.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nua/sofia-sip/
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/sofia-sip/
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nua/sofia-sip/nua.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/sofia-sip/nua.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nua/sofia-sip/nua_tag.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/sofia-sip/nua_tag.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nua/test_s2.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/test_s2.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/nua/test_s2.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/test_s2.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sdp/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sdp/
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sdp/ChangeLog
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sdp/ChangeLog
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sdp/Doxyfile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sdp/Doxyfile.in
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sdp/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sdp/Makefile.am
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sdp/README
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sdp/README
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sdp/errata
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sdp/errata
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sdp/rfc2327.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sdp/rfc2327.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sdp/run_test_sdp
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sdp/run_test_sdp
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sdp/sdp.bnf
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sdp/sdp.bnf
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sdp/sdp.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sdp/sdp.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sdp/sdp.docs
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sdp/sdp.docs
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sdp/sdp_parse.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sdp/sdp_parse.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sdp/sdp_print.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sdp/sdp_print.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sdp/sdp_tag.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sdp/sdp_tag.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sdp/sofia-sip/
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sdp/sofia-sip/
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sdp/sofia-sip/sdp.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sdp/sofia-sip/sdp.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sdp/sofia-sip/sdp_tag.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sdp/sofia-sip/sdp_tag.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sdp/test_sdp.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sdp/test_sdp.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sdp/tests/
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sdp/tests/
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sdp/tests/message-1.sdp
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sdp/tests/message-1.sdp
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sdp/tests/message-10.sdp
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sdp/tests/message-10.sdp
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sdp/tests/message-11.sdp
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sdp/tests/message-11.sdp
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sdp/tests/message-2.sdp
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sdp/tests/message-2.sdp
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sdp/tests/message-3.sdp
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sdp/tests/message-3.sdp
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sdp/tests/message-4.sdp
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sdp/tests/message-4.sdp
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sdp/tests/message-5.sdp
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sdp/tests/message-5.sdp
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sdp/tests/message-6.sdp
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sdp/tests/message-6.sdp
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sdp/tests/message-7.sdp
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sdp/tests/message-7.sdp
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sdp/tests/message-8.sdp
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sdp/tests/message-8.sdp
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sdp/tests/message-9.sdp
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sdp/tests/message-9.sdp
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sdp/torture_sdp.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sdp/torture_sdp.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/ADD-A-HEADER
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/ADD-A-HEADER
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/ChangeLog
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/ChangeLog
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/Doxyfile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/Doxyfile.in
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/GRAMMAR
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/GRAMMAR
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/Makefile.am
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/images/
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/images/
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/images/sip-parser.eps
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/images/sip-parser.eps
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/images/sip-parser.gif
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/images/sip-parser.gif
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/images/sip-parser2.eps
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/images/sip-parser2.eps
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/images/sip-parser2.gif
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/images/sip-parser2.gif
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/images/sip-parser3.eps
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/images/sip-parser3.eps
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/images/sip-parser3.gif
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/images/sip-parser3.gif
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/images/sip-parser4.eps
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/images/sip-parser4.eps
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/images/sip-parser4.gif
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/images/sip-parser4.gif
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/rfc2543.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/rfc2543.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/run-tests
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/run-tests
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/run_test_date
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/run_test_date
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/run_test_sip_msg
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/run_test_sip_msg
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/sip.docs
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip.docs
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/sip.doxyaliases
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip.doxyaliases
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/sip_bad_mask
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_bad_mask
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/sip_basic.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_basic.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/sip_caller_prefs.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_caller_prefs.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/sip_event.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_event.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/sip_extra.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_extra.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/sip_extra_headers.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_extra_headers.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/sip_feature.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_feature.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/sip_header.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_header.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/sip_inlined.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_inlined.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/sip_mime.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_mime.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/sip_parser.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_parser.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/sip_parser.docs
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_parser.docs
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/sip_parser_table.c.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_parser_table.c.in
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/sip_prack.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_prack.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/sip_pref_util.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_pref_util.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/sip_reason.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_reason.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/sip_refer.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_refer.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/sip_security.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_security.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/sip_session.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_session.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/sip_status.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_status.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/sip_tag.c.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_tag.c.in
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/sip_tag_class.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_tag_class.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/sip_time.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_time.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/sip_util.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sip_util.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/sofia-sip/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sofia-sip/
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/sofia-sip/sip.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sofia-sip/sip.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/sofia-sip/sip_extra.h.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sofia-sip/sip_extra.h.in
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/sofia-sip/sip_hclasses.h.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sofia-sip/sip_hclasses.h.in
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/sofia-sip/sip_header.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sofia-sip/sip_header.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/sofia-sip/sip_parser.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sofia-sip/sip_parser.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/sofia-sip/sip_protos.h.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sofia-sip/sip_protos.h.in
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/sofia-sip/sip_status.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sofia-sip/sip_status.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/sofia-sip/sip_tag.h.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sofia-sip/sip_tag.h.in
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/sofia-sip/sip_tag_class.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sofia-sip/sip_tag_class.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/sofia-sip/sip_util.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/sofia-sip/sip_util.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/test_date.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/test_date.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/test_sip_msg.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/test_sip_msg.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/10052.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/10052.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/own0.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/own0.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/own1.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/own1.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/own2.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/own2.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/own3.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/own3.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/own4.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/own4.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/own5.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/own5.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/own6.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/own6.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/own8.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/own8.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/test-ack-1.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/test-ack-1.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/test1.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/test1.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/test10.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/test10.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/test10b.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/test10b.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/test10c.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/test10c.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/test11.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/test11.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/test12.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/test12.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/test13.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/test13.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/test14-req.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/test14-req.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/test14.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/test14.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/test15.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/test15.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/test16.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/test16.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/test17.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/test17.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/test18.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/test18.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/test19.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/test19.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/test1a.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/test1a.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/test2.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/test2.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/test20.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/test20.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/test21.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/test21.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/test22.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/test22.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/test23.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/test23.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/test24.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/test24.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/test25.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/test25.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/test26.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/test26.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/test27.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/test27.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/test28.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/test28.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/test29.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/test29.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/test3.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/test3.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/test30.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/test30.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/test31.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/test31.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/test32.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/test32.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/test33.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/test33.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/test34.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/test34.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/test35.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/test35.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/test36.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/test36.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/test37.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/test37.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/test38.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/test38.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/test39.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/test39.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/test4.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/test4.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/test40.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/test40.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/test41.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/test41.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/test42.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/test42.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/test5.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/test5.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/test6.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/test6.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/test7.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/test7.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/test8.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/test8.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/tests/test9.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/tests/test9.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/torture_sip.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/torture_sip.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sip/validator.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sip/validator.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/soa/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/soa/
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/soa/ChangeLog
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/soa/ChangeLog
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/soa/Doxyfile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/soa/Doxyfile.in
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/soa/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/soa/Makefile.am
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/soa/soa.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/soa/soa.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/soa/soa.docs
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/soa/soa.docs
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/soa/soa_asynch.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/soa/soa_asynch.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/soa/soa_static.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/soa/soa_static.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/soa/soa_tag.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/soa/soa_tag.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/soa/sofia-sip/
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/soa/sofia-sip/
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/soa/sofia-sip/soa.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/soa/sofia-sip/soa.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/soa/sofia-sip/soa_add.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/soa/sofia-sip/soa_add.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/soa/sofia-sip/soa_session.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/soa/sofia-sip/soa_session.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/soa/sofia-sip/soa_tag.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/soa/sofia-sip/soa_tag.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/soa/test_soa.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/soa/test_soa.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sofia.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sofia.am
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sresolv/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sresolv/127.zone
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/127.zone
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sresolv/194.2.188
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/194.2.188
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sresolv/3.f.f.e.1.2.0.0.3.0.1.2.c.0.0.0
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/3.f.f.e.1.2.0.0.3.0.1.2.c.0.0.0
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sresolv/3.f.f.e.1.2.0.0.3.0.1.2.c.0.0.0.arpa
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/3.f.f.e.1.2.0.0.3.0.1.2.c.0.0.0.arpa
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sresolv/ChangeLog
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/ChangeLog
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sresolv/Doxyfile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/Doxyfile.in
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sresolv/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/Makefile.am
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sresolv/example.com
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/example.com
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sresolv/named.conf
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/named.conf
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sresolv/resolv_timeout.conf
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/resolv_timeout.conf
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sresolv/resolve_sip.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/resolve_sip.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sresolv/rfc1034.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/rfc1034.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sresolv/rfc1035.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/rfc1035.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sresolv/rfc2671.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/rfc2671.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sresolv/rndc.conf
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/rndc.conf
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sresolv/root.zone
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/root.zone
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sresolv/run_test_sresolv
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/run_test_sresolv
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sresolv/sofia-resolv/
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/sofia-resolv/
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sresolv/sofia-resolv/sres.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/sofia-resolv/sres.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sresolv/sofia-resolv/sres_async.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/sofia-resolv/sres_async.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sresolv/sofia-resolv/sres_cache.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/sofia-resolv/sres_cache.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sresolv/sofia-resolv/sres_config.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/sofia-resolv/sres_config.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sresolv/sofia-resolv/sres_record.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/sofia-resolv/sres_record.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sresolv/sofia-sip/
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/sofia-sip/
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sresolv/sofia-sip/sresolv.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/sofia-sip/sresolv.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sresolv/sres.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/sres.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sresolv/sres_blocking.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/sres_blocking.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sresolv/sres_cache.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/sres_cache.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sresolv/sresolv.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/sresolv.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sresolv/sresolv.docs
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/sresolv.docs
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sresolv/test_sresolv.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/test_sresolv.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/sresolv/torture_sresolv.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/sresolv/torture_sresolv.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/stun/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/stun/
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/stun/ChangeLog
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/stun/ChangeLog
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/stun/Doxyfile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/stun/Doxyfile.in
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/stun/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/stun/Makefile.am
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/stun/cert.pem
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/stun/cert.pem
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/stun/key.pem
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/stun/key.pem
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/stun/lookup_stun_server.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/stun/lookup_stun_server.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/stun/rfc3489.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/stun/rfc3489.txt
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/stun/sofia-sip/
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/stun/sofia-sip/
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/stun/sofia-sip/stun.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/stun/sofia-sip/stun.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/stun/sofia-sip/stun_common.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/stun/sofia-sip/stun_common.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/stun/sofia-sip/stun_tag.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/stun/sofia-sip/stun_tag.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/stun/stun.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/stun/stun.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/stun/stun.docs
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/stun/stun.docs
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/stun/stun_common.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/stun/stun_common.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/stun/stun_dns.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/stun/stun_dns.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/stun/stun_internal.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/stun/stun_internal.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/stun/stun_mini.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/stun/stun_mini.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/stun/stun_tag.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/stun/stun_tag.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/stun/stunc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/stun/stunc.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/ChangeLog
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/ChangeLog
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/Doxyfile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/Doxyfile.in
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/Makefile.am
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/addrinfo.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/addrinfo.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/foo.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/foo.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/getopt.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/getopt.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/inet_ntop.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/inet_ntop.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/inet_pton.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/inet_pton.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/localinfo.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/localinfo.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/memccpy.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/memccpy.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/memcspn.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/memcspn.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/memmem.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/memmem.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/memspn.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/memspn.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/poll.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/poll.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/run_addrinfo
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/run_addrinfo
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/run_localinfo
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/run_localinfo
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/run_test_su
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/run_test_su
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/run_test_su_osx
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/run_test_su_osx
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/smoothsort.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/smoothsort.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/heap.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/heap.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/htable.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/htable.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/htable2.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/htable2.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/rbtree.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/rbtree.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/string0.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/string0.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_addrinfo.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_addrinfo.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_alloc.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_alloc.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_alloc_stat.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_alloc_stat.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_bm.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_bm.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_config.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_config.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_configure.h.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_configure.h.in
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_debug.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_debug.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_errno.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_errno.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_localinfo.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_localinfo.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_log.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_log.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_md5.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_md5.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_os_nw.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_os_nw.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_osx_runloop.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_osx_runloop.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_strlst.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_strlst.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_tag.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_tag.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_tag_class.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_tag_class.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_tag_inline.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_tag_inline.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_tag_io.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_tag_io.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_tagarg.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_tagarg.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_time.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_time.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_types.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_types.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_uniqueid.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_uniqueid.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_vector.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_vector.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_wait.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_wait.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/tstdef.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/sofia-sip/tstdef.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/strcasestr.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/strcasestr.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/string0.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/string0.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/strtoull.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/strtoull.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/su.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/su.docs
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su.docs
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/su_addrinfo.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_addrinfo.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/su_alloc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_alloc.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/su_alloc_lock.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_alloc_lock.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/su_base_port.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_base_port.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/su_bm.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_bm.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/su_default_log.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_default_log.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/su_devpoll_port.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_devpoll_port.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/su_epoll_port.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_epoll_port.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/su_errno.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_errno.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/su_global_log.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_global_log.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/su_kqueue_port.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_kqueue_port.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/su_localinfo.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_localinfo.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/su_log.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_log.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/su_md5.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_md5.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/su_module_debug.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_module_debug.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/su_open_c_localinfo.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_open_c_localinfo.cpp
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/su_os_nw.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_os_nw.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/su_osx_runloop.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_osx_runloop.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/su_perf.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_perf.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/su_poll_port.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_poll_port.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/su_port.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_port.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/su_port.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_port.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/su_proxy.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_proxy.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/su_pthread_port.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_pthread_port.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/su_root.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_root.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/su_select_port.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_select_port.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/su_socket_port.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_socket_port.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/su_sprintf.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_sprintf.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/su_strdup.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_strdup.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/su_strlst.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_strlst.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/su_tag.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_tag.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/su_tag_io.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_tag_io.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/su_taglist.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_taglist.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/su_time.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_time.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/su_time0.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_time0.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/su_timer.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_timer.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/su_uniqueid.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_uniqueid.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/su_vector.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_vector.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/su_wait.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_wait.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/su_win32_port.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_win32_port.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/tag_dll.awk
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/tag_dll.awk
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/test_htable.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/test_htable.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/test_htable2.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/test_htable2.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/test_memmem.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/test_memmem.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/test_poll.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/test_poll.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/test_su.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/test_su.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/test_su_osx.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/test_su_osx.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/torture_heap.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/torture_heap.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/torture_rbtree.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/torture_rbtree.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/torture_su.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/torture_su.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/torture_su_alloc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/torture_su_alloc.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/torture_su_bm.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/torture_su_bm.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/torture_su_port.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/torture_su_port.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/torture_su_root.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/torture_su_root.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/torture_su_root_osx.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/torture_su_root_osx.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/torture_su_tag.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/torture_su_tag.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/torture_su_time.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/torture_su_time.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/su/torture_su_timer.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/torture_su_timer.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/tport/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/tport/ChangeLog
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/ChangeLog
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/tport/Doxyfile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/Doxyfile.in
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/tport/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/Makefile.am
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/tport/agent.pem
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/agent.pem
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/tport/cafile.pem
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/cafile.pem
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/tport/certificates-update
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/certificates-update
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/tport/certificates.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/certificates.html
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/tport/make_node_cert.pl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/make_node_cert.pl
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/tport/make_root_cert.pl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/make_root_cert.pl
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/tport/make_test_certs.sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/make_test_certs.sh
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/tport/sofia-sip/
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/sofia-sip/
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/tport/sofia-sip/tport.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/sofia-sip/tport.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/tport/sofia-sip/tport_plugins.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/sofia-sip/tport_plugins.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/tport/sofia-sip/tport_tag.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/sofia-sip/tport_tag.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/tport/test_tport.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/test_tport.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/tport/tls_test_client.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tls_test_client.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/tport/tls_test_server.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tls_test_server.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/tport/tport.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/tport/tport.docs
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport.docs
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/tport/tport_internal.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_internal.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/tport/tport_logging.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_logging.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/tport/tport_rand.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_rand.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/tport/tport_sigcomp.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_sigcomp.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/tport/tport_stub_sigcomp.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_stub_sigcomp.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/tport/tport_stub_stun.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_stub_stun.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/tport/tport_tag.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_tag.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/tport/tport_threadpool.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_threadpool.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/tport/tport_tls.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_tls.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/tport/tport_tls.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_tls.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/tport/tport_tls_test.sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_tls_test.sh
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_connect.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_connect.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_sctp.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_sctp.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_stun.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_stun.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_tcp.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_tcp.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_tls.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_tls.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_udp.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/tport/tport_type_udp.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/url/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/url/
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/url/ChangeLog
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/url/ChangeLog
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/url/Doxyfile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/url/Doxyfile.in
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/url/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/url/Makefile.am
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/url/sofia-sip/
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/url/sofia-sip/
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/url/sofia-sip/url.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/url/sofia-sip/url.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/url/sofia-sip/url_tag.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/url/sofia-sip/url_tag.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/url/sofia-sip/url_tag_class.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/url/sofia-sip/url_tag_class.h
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/url/torture_url.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/url/torture_url.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/url/url.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/url/url.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/url/url.docs
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/url/url.docs
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/url/url_tag.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/url/url_tag.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/url/urlmap.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/url/urlmap.c
   freeswitch/branches/seven/libs/sofia-sip/libsofia-sip-ua/url/urlmap.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/url/urlmap.h
   freeswitch/branches/seven/libs/sofia-sip/m4/
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/m4/
   freeswitch/branches/seven/libs/sofia-sip/m4/sac-coverage.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/m4/sac-coverage.m4
   freeswitch/branches/seven/libs/sofia-sip/m4/sac-general.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/m4/sac-general.m4
   freeswitch/branches/seven/libs/sofia-sip/m4/sac-openssl.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/m4/sac-openssl.m4
   freeswitch/branches/seven/libs/sofia-sip/m4/sac-su.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/m4/sac-su.m4
   freeswitch/branches/seven/libs/sofia-sip/m4/sac-su2.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/m4/sac-su2.m4
   freeswitch/branches/seven/libs/sofia-sip/m4/sac-tport.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/m4/sac-tport.m4
   freeswitch/branches/seven/libs/sofia-sip/open_c/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/open_c/
   freeswitch/branches/seven/libs/sofia-sip/open_c/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/open_c/Makefile.am
   freeswitch/branches/seven/libs/sofia-sip/open_c/autogen.cmd
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/open_c/autogen.cmd
   freeswitch/branches/seven/libs/sofia-sip/open_c/build_sources.cmd
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/open_c/build_sources.cmd
   freeswitch/branches/seven/libs/sofia-sip/open_c/config.h.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/open_c/config.h.in
   freeswitch/branches/seven/libs/sofia-sip/open_c/group/
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/open_c/group/
   freeswitch/branches/seven/libs/sofia-sip/open_c/group/bld.inf
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/open_c/group/bld.inf
   freeswitch/branches/seven/libs/sofia-sip/open_c/group/libsofia-sip-ua-glib.mmp
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/open_c/group/libsofia-sip-ua-glib.mmp
   freeswitch/branches/seven/libs/sofia-sip/open_c/group/libsofia-sip-ua.mmp
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/open_c/group/libsofia-sip-ua.mmp
   freeswitch/branches/seven/libs/sofia-sip/open_c/group/su_source_test.mmp
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/open_c/group/su_source_test.mmp
   freeswitch/branches/seven/libs/sofia-sip/open_c/group/su_source_test_reg.rss
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/open_c/group/su_source_test_reg.rss
   freeswitch/branches/seven/libs/sofia-sip/open_c/group/test_http.mmp
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/open_c/group/test_http.mmp
   freeswitch/branches/seven/libs/sofia-sip/open_c/group/test_http_reg.rss
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/open_c/group/test_http_reg.rss
   freeswitch/branches/seven/libs/sofia-sip/open_c/group/test_msg.mmp
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/open_c/group/test_msg.mmp
   freeswitch/branches/seven/libs/sofia-sip/open_c/group/test_msg_reg.rss
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/open_c/group/test_msg_reg.rss
   freeswitch/branches/seven/libs/sofia-sip/open_c/group/test_nua.mmp
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/open_c/group/test_nua.mmp
   freeswitch/branches/seven/libs/sofia-sip/open_c/group/test_nua_reg.rss
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/open_c/group/test_nua_reg.rss
   freeswitch/branches/seven/libs/sofia-sip/open_c/group/test_tport.mmp
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/open_c/group/test_tport.mmp
   freeswitch/branches/seven/libs/sofia-sip/open_c/group/test_tport_reg.rss
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/open_c/group/test_tport_reg.rss
   freeswitch/branches/seven/libs/sofia-sip/open_c/group/torture_sip.mmp
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/open_c/group/torture_sip.mmp
   freeswitch/branches/seven/libs/sofia-sip/open_c/group/torture_sip_reg.rss
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/open_c/group/torture_sip_reg.rss
   freeswitch/branches/seven/libs/sofia-sip/open_c/group/torture_su_alloc.mmp
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/open_c/group/torture_su_alloc.mmp
   freeswitch/branches/seven/libs/sofia-sip/open_c/group/torture_su_alloc_reg.rss
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/open_c/group/torture_su_alloc_reg.rss
   freeswitch/branches/seven/libs/sofia-sip/open_c/group/torture_su_port.mmp
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/open_c/group/torture_su_port.mmp
   freeswitch/branches/seven/libs/sofia-sip/open_c/group/torture_su_port_reg.rss
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/open_c/group/torture_su_port_reg.rss
   freeswitch/branches/seven/libs/sofia-sip/open_c/group/torture_su_root.mmp
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/open_c/group/torture_su_root.mmp
   freeswitch/branches/seven/libs/sofia-sip/open_c/group/torture_su_root_reg.rss
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/open_c/group/torture_su_root_reg.rss
   freeswitch/branches/seven/libs/sofia-sip/open_c/group/torture_su_tag.mmp
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/open_c/group/torture_su_tag.mmp
   freeswitch/branches/seven/libs/sofia-sip/open_c/group/torture_su_tag_reg.rss
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/open_c/group/torture_su_tag_reg.rss
   freeswitch/branches/seven/libs/sofia-sip/open_c/group/torture_url.mmp
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/open_c/group/torture_url.mmp
   freeswitch/branches/seven/libs/sofia-sip/open_c/group/torture_url_reg.rss
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/open_c/group/torture_url_reg.rss
   freeswitch/branches/seven/libs/sofia-sip/open_c/sis/
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/open_c/sis/
   freeswitch/branches/seven/libs/sofia-sip/open_c/sis/libsofia-sip-ua-glib.pkg
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/open_c/sis/libsofia-sip-ua-glib.pkg
   freeswitch/branches/seven/libs/sofia-sip/open_c/sis/libsofia-sip-ua.pkg
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/open_c/sis/libsofia-sip-ua.pkg
   freeswitch/branches/seven/libs/sofia-sip/open_c/sis/su_source_test.pkg
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/open_c/sis/su_source_test.pkg
   freeswitch/branches/seven/libs/sofia-sip/open_c/sis/test_nua.pkg
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/open_c/sis/test_nua.pkg
   freeswitch/branches/seven/libs/sofia-sip/open_c/sis/test_tport.pkg
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/open_c/sis/test_tport.pkg
   freeswitch/branches/seven/libs/sofia-sip/open_c/sofia-sip/
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/open_c/sofia-sip/
   freeswitch/branches/seven/libs/sofia-sip/open_c/sofia-sip/su_configure.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/open_c/sofia-sip/su_configure.h
   freeswitch/branches/seven/libs/sofia-sip/open_c/version.awk
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/open_c/version.awk
   freeswitch/branches/seven/libs/sofia-sip/open_c/version_files.cmd
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/open_c/version_files.cmd
   freeswitch/branches/seven/libs/sofia-sip/packages/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/packages/
   freeswitch/branches/seven/libs/sofia-sip/packages/ChangeLog
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/packages/ChangeLog
   freeswitch/branches/seven/libs/sofia-sip/packages/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/packages/Makefile.am
   freeswitch/branches/seven/libs/sofia-sip/packages/sofia-sip-ua-glib.pc.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/packages/sofia-sip-ua-glib.pc.in
   freeswitch/branches/seven/libs/sofia-sip/packages/sofia-sip-ua.pc.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/packages/sofia-sip-ua.pc.in
   freeswitch/branches/seven/libs/sofia-sip/packages/sofia-sip.spec.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/packages/sofia-sip.spec.in
   freeswitch/branches/seven/libs/sofia-sip/rules/
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/rules/
   freeswitch/branches/seven/libs/sofia-sip/rules/lcov.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/rules/lcov.am
   freeswitch/branches/seven/libs/sofia-sip/rules/recursive.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/rules/recursive.am
   freeswitch/branches/seven/libs/sofia-sip/rules/sofia.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/rules/sofia.am
   freeswitch/branches/seven/libs/sofia-sip/rules/valcheck.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/rules/valcheck.am
   freeswitch/branches/seven/libs/sofia-sip/scripts/
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/scripts/
   freeswitch/branches/seven/libs/sofia-sip/scripts/coverage
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/scripts/coverage
   freeswitch/branches/seven/libs/sofia-sip/scripts/fix-include-sofia-sip
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/scripts/fix-include-sofia-sip
   freeswitch/branches/seven/libs/sofia-sip/scripts/hide_emails.sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/scripts/hide_emails.sh
   freeswitch/branches/seven/libs/sofia-sip/scripts/lcov-report
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/scripts/lcov-report
   freeswitch/branches/seven/libs/sofia-sip/scripts/rpmbuild-snaphot
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/scripts/rpmbuild-snaphot
   freeswitch/branches/seven/libs/sofia-sip/scripts/uncovered
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/scripts/uncovered
   freeswitch/branches/seven/libs/sofia-sip/tests/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/tests/
   freeswitch/branches/seven/libs/sofia-sip/tests/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/tests/Makefile.am
   freeswitch/branches/seven/libs/sofia-sip/tests/check_sofia.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/tests/check_sofia.c
   freeswitch/branches/seven/libs/sofia-sip/tests/check_sofia.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/tests/check_sofia.h
   freeswitch/branches/seven/libs/sofia-sip/tests/suite_for_nua.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/tests/suite_for_nua.c
   freeswitch/branches/seven/libs/sofia-sip/tests/test_100rel.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/tests/test_100rel.c
   freeswitch/branches/seven/libs/sofia-sip/tests/test_basic_call.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/tests/test_basic_call.c
   freeswitch/branches/seven/libs/sofia-sip/tests/test_call_hold.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/tests/test_call_hold.c
   freeswitch/branches/seven/libs/sofia-sip/tests/test_call_reject.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/tests/test_call_reject.c
   freeswitch/branches/seven/libs/sofia-sip/tests/test_cancel_bye.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/tests/test_cancel_bye.c
   freeswitch/branches/seven/libs/sofia-sip/tests/test_extension.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/tests/test_extension.c
   freeswitch/branches/seven/libs/sofia-sip/tests/test_init.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/tests/test_init.c
   freeswitch/branches/seven/libs/sofia-sip/tests/test_nat.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/tests/test_nat.c
   freeswitch/branches/seven/libs/sofia-sip/tests/test_nat.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/tests/test_nat.h
   freeswitch/branches/seven/libs/sofia-sip/tests/test_nat_tags.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/tests/test_nat_tags.c
   freeswitch/branches/seven/libs/sofia-sip/tests/test_nua.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/tests/test_nua.c
   freeswitch/branches/seven/libs/sofia-sip/tests/test_nua.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/tests/test_nua.h
   freeswitch/branches/seven/libs/sofia-sip/tests/test_nua_api.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/tests/test_nua_api.c
   freeswitch/branches/seven/libs/sofia-sip/tests/test_nua_params.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/tests/test_nua_params.c
   freeswitch/branches/seven/libs/sofia-sip/tests/test_offer_answer.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/tests/test_offer_answer.c
   freeswitch/branches/seven/libs/sofia-sip/tests/test_ops.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/tests/test_ops.c
   freeswitch/branches/seven/libs/sofia-sip/tests/test_proxy.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/tests/test_proxy.c
   freeswitch/branches/seven/libs/sofia-sip/tests/test_proxy.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/tests/test_proxy.h
   freeswitch/branches/seven/libs/sofia-sip/tests/test_refer.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/tests/test_refer.c
   freeswitch/branches/seven/libs/sofia-sip/tests/test_register.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/tests/test_register.c
   freeswitch/branches/seven/libs/sofia-sip/tests/test_session_timer.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/tests/test_session_timer.c
   freeswitch/branches/seven/libs/sofia-sip/tests/test_simple.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/tests/test_simple.c
   freeswitch/branches/seven/libs/sofia-sip/tests/test_sip_events.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/tests/test_sip_events.c
   freeswitch/branches/seven/libs/sofia-sip/utils/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/utils/
   freeswitch/branches/seven/libs/sofia-sip/utils/ChangeLog
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/utils/ChangeLog
   freeswitch/branches/seven/libs/sofia-sip/utils/Doxyfile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/utils/Doxyfile.in
   freeswitch/branches/seven/libs/sofia-sip/utils/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/utils/Makefile.am
   freeswitch/branches/seven/libs/sofia-sip/utils/apps_utils.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/utils/apps_utils.h
   freeswitch/branches/seven/libs/sofia-sip/utils/sip-date.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/utils/sip-date.c
   freeswitch/branches/seven/libs/sofia-sip/utils/sip-dig.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/utils/sip-dig.c
   freeswitch/branches/seven/libs/sofia-sip/utils/sip-options.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/utils/sip-options.c
   freeswitch/branches/seven/libs/sofia-sip/utils/utils.docs
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/utils/utils.docs
   freeswitch/branches/seven/libs/sofia-sip/win32/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/win32/
   freeswitch/branches/seven/libs/sofia-sip/win32/ChangeLog
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/ChangeLog
   freeswitch/branches/seven/libs/sofia-sip/win32/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/Makefile.am
   freeswitch/branches/seven/libs/sofia-sip/win32/README.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/README.txt
   freeswitch/branches/seven/libs/sofia-sip/win32/SofiaSIP.dsw
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/SofiaSIP.dsw
   freeswitch/branches/seven/libs/sofia-sip/win32/SofiaSIP.sln
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/SofiaSIP.sln
   freeswitch/branches/seven/libs/sofia-sip/win32/autogen.cmd
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/autogen.cmd
   freeswitch/branches/seven/libs/sofia-sip/win32/build_sources.cmd
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/build_sources.cmd
   freeswitch/branches/seven/libs/sofia-sip/win32/check.cmd
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/check.cmd
   freeswitch/branches/seven/libs/sofia-sip/win32/config.h.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/config.h.in
   freeswitch/branches/seven/libs/sofia-sip/win32/install.cmd
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/install.cmd
   freeswitch/branches/seven/libs/sofia-sip/win32/libsofia-sip-ua/
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/win32/libsofia-sip-ua/
   freeswitch/branches/seven/libs/sofia-sip/win32/libsofia-sip-ua-static/
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/win32/libsofia-sip-ua-static/
   freeswitch/branches/seven/libs/sofia-sip/win32/libsofia-sip-ua-static/libsofia_sip_ua_static.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/libsofia-sip-ua-static/libsofia_sip_ua_static.dsp
   freeswitch/branches/seven/libs/sofia-sip/win32/libsofia-sip-ua-static/libsofia_sip_ua_static.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/libsofia-sip-ua-static/libsofia_sip_ua_static.vcproj
   freeswitch/branches/seven/libs/sofia-sip/win32/libsofia-sip-ua/libsofia_sip_ua.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/libsofia-sip-ua/libsofia_sip_ua.dsp
   freeswitch/branches/seven/libs/sofia-sip/win32/libsofia-sip-ua/libsofia_sip_ua.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/libsofia-sip-ua/libsofia_sip_ua.vcproj
   freeswitch/branches/seven/libs/sofia-sip/win32/libsofia-sip-ua/sofia-sip-ua.def
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/libsofia-sip-ua/sofia-sip-ua.def
   freeswitch/branches/seven/libs/sofia-sip/win32/sofia-sip/
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/win32/sofia-sip/
   freeswitch/branches/seven/libs/sofia-sip/win32/sofia-sip/su_configure.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/sofia-sip/su_configure.h
   freeswitch/branches/seven/libs/sofia-sip/win32/tests/
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/win32/tests/
   freeswitch/branches/seven/libs/sofia-sip/win32/tests/test_htable/
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/win32/tests/test_htable/
   freeswitch/branches/seven/libs/sofia-sip/win32/tests/test_htable/test_htable.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/tests/test_htable/test_htable.dsp
   freeswitch/branches/seven/libs/sofia-sip/win32/tests/test_htable/test_htable.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/tests/test_htable/test_htable.vcproj
   freeswitch/branches/seven/libs/sofia-sip/win32/tests/test_memmem/
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/win32/tests/test_memmem/
   freeswitch/branches/seven/libs/sofia-sip/win32/tests/test_memmem/test_memmem.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/tests/test_memmem/test_memmem.dsp
   freeswitch/branches/seven/libs/sofia-sip/win32/tests/test_memmem/test_memmem.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/tests/test_memmem/test_memmem.vcproj
   freeswitch/branches/seven/libs/sofia-sip/win32/tests/test_nta/
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/win32/tests/test_nta/
   freeswitch/branches/seven/libs/sofia-sip/win32/tests/test_nta/test_nta.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/tests/test_nta/test_nta.dsp
   freeswitch/branches/seven/libs/sofia-sip/win32/tests/test_nta/test_nta.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/tests/test_nta/test_nta.vcproj
   freeswitch/branches/seven/libs/sofia-sip/win32/tests/test_nua/
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/win32/tests/test_nua/
   freeswitch/branches/seven/libs/sofia-sip/win32/tests/test_nua/test_nat_tags.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/tests/test_nua/test_nat_tags.cpp
   freeswitch/branches/seven/libs/sofia-sip/win32/tests/test_nua/test_nua.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/tests/test_nua/test_nua.dsp
   freeswitch/branches/seven/libs/sofia-sip/win32/tests/test_nua/test_nua.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/tests/test_nua/test_nua.vcproj
   freeswitch/branches/seven/libs/sofia-sip/win32/tests/test_su/
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/win32/tests/test_su/
   freeswitch/branches/seven/libs/sofia-sip/win32/tests/test_su/test_su.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/tests/test_su/test_su.dsp
   freeswitch/branches/seven/libs/sofia-sip/win32/tests/test_su/test_su.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/tests/test_su/test_su.vcproj
   freeswitch/branches/seven/libs/sofia-sip/win32/tests/test_tport/
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/win32/tests/test_tport/
   freeswitch/branches/seven/libs/sofia-sip/win32/tests/test_tport/test_class.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/tests/test_tport/test_class.cpp
   freeswitch/branches/seven/libs/sofia-sip/win32/tests/test_tport/test_table.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/tests/test_tport/test_table.cpp
   freeswitch/branches/seven/libs/sofia-sip/win32/tests/test_tport/test_tport.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/tests/test_tport/test_tport.dsp
   freeswitch/branches/seven/libs/sofia-sip/win32/tests/test_tport/test_tport.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/tests/test_tport/test_tport.vcproj
   freeswitch/branches/seven/libs/sofia-sip/win32/tests/torture_rbtree/
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/win32/tests/torture_rbtree/
   freeswitch/branches/seven/libs/sofia-sip/win32/tests/torture_rbtree/torture_rbtree.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/tests/torture_rbtree/torture_rbtree.dsp
   freeswitch/branches/seven/libs/sofia-sip/win32/tests/torture_rbtree/torture_rbtree.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/tests/torture_rbtree/torture_rbtree.vcproj
   freeswitch/branches/seven/libs/sofia-sip/win32/tests/torture_su/
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/win32/tests/torture_su/
   freeswitch/branches/seven/libs/sofia-sip/win32/tests/torture_su/torture_su.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/tests/torture_su/torture_su.dsp
   freeswitch/branches/seven/libs/sofia-sip/win32/tests/torture_su/torture_su.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/tests/torture_su/torture_su.vcproj
   freeswitch/branches/seven/libs/sofia-sip/win32/tests/torture_su_alloc/
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/win32/tests/torture_su_alloc/
   freeswitch/branches/seven/libs/sofia-sip/win32/tests/torture_su_alloc/torture_su_alloc.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/tests/torture_su_alloc/torture_su_alloc.dsp
   freeswitch/branches/seven/libs/sofia-sip/win32/tests/torture_su_alloc/torture_su_alloc.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/tests/torture_su_alloc/torture_su_alloc.vcproj
   freeswitch/branches/seven/libs/sofia-sip/win32/tests/torture_su_bm/
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/win32/tests/torture_su_bm/
   freeswitch/branches/seven/libs/sofia-sip/win32/tests/torture_su_bm/torture_su_bm.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/tests/torture_su_bm/torture_su_bm.dsp
   freeswitch/branches/seven/libs/sofia-sip/win32/tests/torture_su_bm/torture_su_bm.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/tests/torture_su_bm/torture_su_bm.vcproj
   freeswitch/branches/seven/libs/sofia-sip/win32/tests/torture_su_port/
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/win32/tests/torture_su_port/
   freeswitch/branches/seven/libs/sofia-sip/win32/tests/torture_su_port/torture_su_port.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/tests/torture_su_port/torture_su_port.dsp
   freeswitch/branches/seven/libs/sofia-sip/win32/tests/torture_su_port/torture_su_port.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/tests/torture_su_port/torture_su_port.vcproj
   freeswitch/branches/seven/libs/sofia-sip/win32/tests/torture_su_root/
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/win32/tests/torture_su_root/
   freeswitch/branches/seven/libs/sofia-sip/win32/tests/torture_su_root/torture_su_root.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/tests/torture_su_root/torture_su_root.dsp
   freeswitch/branches/seven/libs/sofia-sip/win32/tests/torture_su_root/torture_su_root.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/tests/torture_su_root/torture_su_root.vcproj
   freeswitch/branches/seven/libs/sofia-sip/win32/tests/torture_su_tag/
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/win32/tests/torture_su_tag/
   freeswitch/branches/seven/libs/sofia-sip/win32/tests/torture_su_tag/torture_su_tag.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/tests/torture_su_tag/torture_su_tag.dsp
   freeswitch/branches/seven/libs/sofia-sip/win32/tests/torture_su_tag/torture_su_tag.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/tests/torture_su_tag/torture_su_tag.vcproj
   freeswitch/branches/seven/libs/sofia-sip/win32/tests/torture_su_time/
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/win32/tests/torture_su_time/
   freeswitch/branches/seven/libs/sofia-sip/win32/tests/torture_su_time/torture_su_time.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/tests/torture_su_time/torture_su_time.dsp
   freeswitch/branches/seven/libs/sofia-sip/win32/tests/torture_su_time/torture_su_time.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/tests/torture_su_time/torture_su_time.vcproj
   freeswitch/branches/seven/libs/sofia-sip/win32/tests/torture_su_timer/
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/win32/tests/torture_su_timer/
   freeswitch/branches/seven/libs/sofia-sip/win32/tests/torture_su_timer/torture_su_timer.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/tests/torture_su_timer/torture_su_timer.dsp
   freeswitch/branches/seven/libs/sofia-sip/win32/tests/torture_su_timer/torture_su_timer.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/tests/torture_su_timer/torture_su_timer.vcproj
   freeswitch/branches/seven/libs/sofia-sip/win32/unistd.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/unistd.h
   freeswitch/branches/seven/libs/sofia-sip/win32/utils/
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/win32/utils/
   freeswitch/branches/seven/libs/sofia-sip/win32/utils/localinfo/
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/win32/utils/localinfo/
   freeswitch/branches/seven/libs/sofia-sip/win32/utils/localinfo/localinfo.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/utils/localinfo/localinfo.dsp
   freeswitch/branches/seven/libs/sofia-sip/win32/utils/localinfo/localinfo.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/utils/localinfo/localinfo.vcproj
   freeswitch/branches/seven/libs/sofia-sip/win32/utils/sip_dig/
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/win32/utils/sip_dig/
   freeswitch/branches/seven/libs/sofia-sip/win32/utils/sip_dig/sip_dig.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/utils/sip_dig/sip_dig.dsp
   freeswitch/branches/seven/libs/sofia-sip/win32/utils/sip_dig/sip_dig.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/utils/sip_dig/sip_dig.vcproj
   freeswitch/branches/seven/libs/sofia-sip/win32/utils/sip_options/
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/win32/utils/sip_options/
   freeswitch/branches/seven/libs/sofia-sip/win32/utils/sip_options/sip_options.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/utils/sip_options/sip_options.dsp
   freeswitch/branches/seven/libs/sofia-sip/win32/utils/sip_options/sip_options.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/utils/sip_options/sip_options.vcproj
   freeswitch/branches/seven/libs/sofia-sip/win32/utils/sip_options_static/
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/win32/utils/sip_options_static/
   freeswitch/branches/seven/libs/sofia-sip/win32/utils/sip_options_static/sip_options_static.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/utils/sip_options_static/sip_options_static.dsp
   freeswitch/branches/seven/libs/sofia-sip/win32/utils/sip_options_static/sip_options_static.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/utils/sip_options_static/sip_options_static.vcproj
   freeswitch/branches/seven/libs/sofia-sip/win32/utils/stunc/
      - copied from r11459, /freeswitch/trunk/libs/sofia-sip/win32/utils/stunc/
   freeswitch/branches/seven/libs/sofia-sip/win32/utils/stunc/stunc.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/utils/stunc/stunc.dsp
   freeswitch/branches/seven/libs/sofia-sip/win32/utils/stunc/stunc.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/utils/stunc/stunc.vcproj
   freeswitch/branches/seven/libs/sofia-sip/win32/version.awk
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/version.awk
   freeswitch/branches/seven/libs/sofia-sip/win32/version_files.cmd
      - copied unchanged from r11459, /freeswitch/trunk/libs/sofia-sip/win32/version_files.cmd
   freeswitch/branches/seven/libs/spandsp/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/spandsp/
   freeswitch/branches/seven/libs/spandsp/.update
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/.update
   freeswitch/branches/seven/libs/spandsp/AUTHORS
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/AUTHORS
   freeswitch/branches/seven/libs/spandsp/COPYING
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/COPYING
   freeswitch/branches/seven/libs/spandsp/ChangeLog
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/ChangeLog
   freeswitch/branches/seven/libs/spandsp/DueDiligence
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/DueDiligence
   freeswitch/branches/seven/libs/spandsp/INSTALL
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/INSTALL
   freeswitch/branches/seven/libs/spandsp/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/Makefile.am
   freeswitch/branches/seven/libs/spandsp/NEWS
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/NEWS
   freeswitch/branches/seven/libs/spandsp/README
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/README
   freeswitch/branches/seven/libs/spandsp/README.testdata
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/README.testdata
   freeswitch/branches/seven/libs/spandsp/autogen.sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/autogen.sh
   freeswitch/branches/seven/libs/spandsp/config/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/spandsp/config/
   freeswitch/branches/seven/libs/spandsp/config-h.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/config-h.in
   freeswitch/branches/seven/libs/spandsp/config/ax_c99_features.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/config/ax_c99_features.m4
   freeswitch/branches/seven/libs/spandsp/config/ax_check_real_file.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/config/ax_check_real_file.m4
   freeswitch/branches/seven/libs/spandsp/config/ax_compiler_vendor.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/config/ax_compiler_vendor.m4
   freeswitch/branches/seven/libs/spandsp/config/ax_fixed_point_machine.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/config/ax_fixed_point_machine.m4
   freeswitch/branches/seven/libs/spandsp/config/ax_misaligned_access_fails.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/config/ax_misaligned_access_fails.m4
   freeswitch/branches/seven/libs/spandsp/configure.ac
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/configure.ac
   freeswitch/branches/seven/libs/spandsp/configure.gnu
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/configure.gnu
   freeswitch/branches/seven/libs/spandsp/debian/
      - copied from r11459, /freeswitch/trunk/libs/spandsp/debian/
   freeswitch/branches/seven/libs/spandsp/debian/changelog
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/debian/changelog
   freeswitch/branches/seven/libs/spandsp/debian/compat
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/debian/compat
   freeswitch/branches/seven/libs/spandsp/debian/control
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/debian/control
   freeswitch/branches/seven/libs/spandsp/debian/copyright
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/debian/copyright
   freeswitch/branches/seven/libs/spandsp/debian/libspandsp-dev.install
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/debian/libspandsp-dev.install
   freeswitch/branches/seven/libs/spandsp/debian/libspandsp-doc.install
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/debian/libspandsp-doc.install
   freeswitch/branches/seven/libs/spandsp/debian/libspandsp5.install
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/debian/libspandsp5.install
   freeswitch/branches/seven/libs/spandsp/debian/rules
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/debian/rules
   freeswitch/branches/seven/libs/spandsp/debian/watch
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/debian/watch
   freeswitch/branches/seven/libs/spandsp/doc/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/spandsp/doc/
   freeswitch/branches/seven/libs/spandsp/doc/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/doc/Makefile.am
   freeswitch/branches/seven/libs/spandsp/doc/css.css
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/doc/css.css
   freeswitch/branches/seven/libs/spandsp/doc/doxygen.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/doc/doxygen.in
   freeswitch/branches/seven/libs/spandsp/doc/t38-gateway.dia
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/doc/t38-gateway.dia
   freeswitch/branches/seven/libs/spandsp/doc/t38-terminal.dia
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/doc/t38-terminal.dia
   freeswitch/branches/seven/libs/spandsp/doc/t38_manual/
      - copied from r11459, /freeswitch/trunk/libs/spandsp/doc/t38_manual/
   freeswitch/branches/seven/libs/spandsp/doc/t38_manual.xml
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/doc/t38_manual.xml
   freeswitch/branches/seven/libs/spandsp/doc/t38_manual/css.css
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/doc/t38_manual/css.css
   freeswitch/branches/seven/libs/spandsp/doc/wrapper.xsl
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/doc/wrapper.xsl
   freeswitch/branches/seven/libs/spandsp/libspandsp.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/libspandsp.vcproj
   freeswitch/branches/seven/libs/spandsp/spandsp/
      - copied from r11459, /freeswitch/trunk/libs/spandsp/spandsp/
   freeswitch/branches/seven/libs/spandsp/spandsp-sim/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/spandsp/spandsp-sim/
   freeswitch/branches/seven/libs/spandsp/spandsp-sim/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/spandsp-sim/Makefile.am
   freeswitch/branches/seven/libs/spandsp/spandsp-sim/g1050.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/spandsp-sim/g1050.c
   freeswitch/branches/seven/libs/spandsp/spandsp-sim/line_model.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/spandsp-sim/line_model.c
   freeswitch/branches/seven/libs/spandsp/spandsp-sim/make_line_models.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/spandsp-sim/make_line_models.c
   freeswitch/branches/seven/libs/spandsp/spandsp-sim/rfc2198_sim.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/spandsp-sim/rfc2198_sim.c
   freeswitch/branches/seven/libs/spandsp/spandsp-sim/spandsp/
      - copied from r11459, /freeswitch/trunk/libs/spandsp/spandsp-sim/spandsp/
   freeswitch/branches/seven/libs/spandsp/spandsp-sim/spandsp-sim.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/spandsp-sim/spandsp-sim.h
   freeswitch/branches/seven/libs/spandsp/spandsp-sim/spandsp/g1050.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/spandsp-sim/spandsp/g1050.h
   freeswitch/branches/seven/libs/spandsp/spandsp-sim/spandsp/line_model.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/spandsp-sim/spandsp/line_model.h
   freeswitch/branches/seven/libs/spandsp/spandsp-sim/spandsp/line_models.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/spandsp-sim/spandsp/line_models.h
   freeswitch/branches/seven/libs/spandsp/spandsp-sim/spandsp/rfc2198_sim.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/spandsp-sim/spandsp/rfc2198_sim.h
   freeswitch/branches/seven/libs/spandsp/spandsp-sim/spandsp/test_utils.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/spandsp-sim/spandsp/test_utils.h
   freeswitch/branches/seven/libs/spandsp/spandsp-sim/test_utils.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/spandsp-sim/test_utils.c
   freeswitch/branches/seven/libs/spandsp/spandsp.spec
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/spandsp.spec
   freeswitch/branches/seven/libs/spandsp/spandsp.spec.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/spandsp.spec.in
   freeswitch/branches/seven/libs/spandsp/spandsp/global-tones.xml
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/spandsp/global-tones.xml
   freeswitch/branches/seven/libs/spandsp/spandsp/tones.dtd
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/spandsp/tones.dtd
   freeswitch/branches/seven/libs/spandsp/spandsp/tsb85.xml
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/spandsp/tsb85.xml
   freeswitch/branches/seven/libs/spandsp/src/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/spandsp/src/
   freeswitch/branches/seven/libs/spandsp/src/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/Makefile.am
   freeswitch/branches/seven/libs/spandsp/src/adsi.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/adsi.c
   freeswitch/branches/seven/libs/spandsp/src/async.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/async.c
   freeswitch/branches/seven/libs/spandsp/src/at_interpreter.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/at_interpreter.c
   freeswitch/branches/seven/libs/spandsp/src/awgn.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/awgn.c
   freeswitch/branches/seven/libs/spandsp/src/bell_r2_mf.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/bell_r2_mf.c
   freeswitch/branches/seven/libs/spandsp/src/bert.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/bert.c
   freeswitch/branches/seven/libs/spandsp/src/bit_operations.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/bit_operations.c
   freeswitch/branches/seven/libs/spandsp/src/bitstream.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/bitstream.c
   freeswitch/branches/seven/libs/spandsp/src/complex_filters.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/complex_filters.c
   freeswitch/branches/seven/libs/spandsp/src/complex_vector_float.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/complex_vector_float.c
   freeswitch/branches/seven/libs/spandsp/src/complex_vector_int.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/complex_vector_int.c
   freeswitch/branches/seven/libs/spandsp/src/crc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/crc.c
   freeswitch/branches/seven/libs/spandsp/src/dds_float.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/dds_float.c
   freeswitch/branches/seven/libs/spandsp/src/dds_int.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/dds_int.c
   freeswitch/branches/seven/libs/spandsp/src/dtmf.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/dtmf.c
   freeswitch/branches/seven/libs/spandsp/src/echo.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/echo.c
   freeswitch/branches/seven/libs/spandsp/src/fax.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/fax.c
   freeswitch/branches/seven/libs/spandsp/src/faxfont.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/faxfont.h
   freeswitch/branches/seven/libs/spandsp/src/filter_tools.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/filter_tools.c
   freeswitch/branches/seven/libs/spandsp/src/filter_tools.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/filter_tools.h
   freeswitch/branches/seven/libs/spandsp/src/floating_fudge.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/floating_fudge.h
   freeswitch/branches/seven/libs/spandsp/src/fsk.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/fsk.c
   freeswitch/branches/seven/libs/spandsp/src/g711.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/g711.c
   freeswitch/branches/seven/libs/spandsp/src/g722.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/g722.c
   freeswitch/branches/seven/libs/spandsp/src/g722_decode.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/g722_decode.c
   freeswitch/branches/seven/libs/spandsp/src/g722_encode.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/g722_encode.c
   freeswitch/branches/seven/libs/spandsp/src/g726.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/g726.c
   freeswitch/branches/seven/libs/spandsp/src/gsm0610_decode.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/gsm0610_decode.c
   freeswitch/branches/seven/libs/spandsp/src/gsm0610_encode.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/gsm0610_encode.c
   freeswitch/branches/seven/libs/spandsp/src/gsm0610_local.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/gsm0610_local.h
   freeswitch/branches/seven/libs/spandsp/src/gsm0610_long_term.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/gsm0610_long_term.c
   freeswitch/branches/seven/libs/spandsp/src/gsm0610_lpc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/gsm0610_lpc.c
   freeswitch/branches/seven/libs/spandsp/src/gsm0610_preprocess.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/gsm0610_preprocess.c
   freeswitch/branches/seven/libs/spandsp/src/gsm0610_rpe.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/gsm0610_rpe.c
   freeswitch/branches/seven/libs/spandsp/src/gsm0610_short_term.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/gsm0610_short_term.c
   freeswitch/branches/seven/libs/spandsp/src/hdlc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/hdlc.c
   freeswitch/branches/seven/libs/spandsp/src/ima_adpcm.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/ima_adpcm.c
   freeswitch/branches/seven/libs/spandsp/src/libspandsp.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/libspandsp.dsp
   freeswitch/branches/seven/libs/spandsp/src/libspandsp.sln
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/libspandsp.sln
   freeswitch/branches/seven/libs/spandsp/src/libspandsp.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/libspandsp.vcproj
   freeswitch/branches/seven/libs/spandsp/src/logging.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/logging.c
   freeswitch/branches/seven/libs/spandsp/src/lpc10_analyse.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/lpc10_analyse.c
   freeswitch/branches/seven/libs/spandsp/src/lpc10_decode.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/lpc10_decode.c
   freeswitch/branches/seven/libs/spandsp/src/lpc10_encdecs.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/lpc10_encdecs.h
   freeswitch/branches/seven/libs/spandsp/src/lpc10_encode.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/lpc10_encode.c
   freeswitch/branches/seven/libs/spandsp/src/lpc10_placev.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/lpc10_placev.c
   freeswitch/branches/seven/libs/spandsp/src/lpc10_voicing.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/lpc10_voicing.c
   freeswitch/branches/seven/libs/spandsp/src/make_at_dictionary.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/make_at_dictionary.c
   freeswitch/branches/seven/libs/spandsp/src/make_modem_filter.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/make_modem_filter.c
   freeswitch/branches/seven/libs/spandsp/src/modem_connect_tones.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/modem_connect_tones.c
   freeswitch/branches/seven/libs/spandsp/src/modem_echo.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/modem_echo.c
   freeswitch/branches/seven/libs/spandsp/src/msvc/
      - copied from r11459, /freeswitch/trunk/libs/spandsp/src/msvc/
   freeswitch/branches/seven/libs/spandsp/src/msvc/gettimeofday.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/msvc/gettimeofday.c
   freeswitch/branches/seven/libs/spandsp/src/msvc/inttypes.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/msvc/inttypes.h
   freeswitch/branches/seven/libs/spandsp/src/msvc/msvcproj.foot
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/msvc/msvcproj.foot
   freeswitch/branches/seven/libs/spandsp/src/msvc/msvcproj.head
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/msvc/msvcproj.head
   freeswitch/branches/seven/libs/spandsp/src/msvc/spandsp.def
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/msvc/spandsp.def
   freeswitch/branches/seven/libs/spandsp/src/msvc/sys/
      - copied from r11459, /freeswitch/trunk/libs/spandsp/src/msvc/sys/
   freeswitch/branches/seven/libs/spandsp/src/msvc/sys/time.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/msvc/sys/time.h
   freeswitch/branches/seven/libs/spandsp/src/msvc/tgmath.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/msvc/tgmath.h
   freeswitch/branches/seven/libs/spandsp/src/msvc/unistd.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/msvc/unistd.h
   freeswitch/branches/seven/libs/spandsp/src/msvc/vc8proj.foot
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/msvc/vc8proj.foot
   freeswitch/branches/seven/libs/spandsp/src/msvc/vc8proj.head
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/msvc/vc8proj.head
   freeswitch/branches/seven/libs/spandsp/src/noise.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/noise.c
   freeswitch/branches/seven/libs/spandsp/src/oki_adpcm.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/oki_adpcm.c
   freeswitch/branches/seven/libs/spandsp/src/playout.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/playout.c
   freeswitch/branches/seven/libs/spandsp/src/plc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/plc.c
   freeswitch/branches/seven/libs/spandsp/src/power_meter.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/power_meter.c
   freeswitch/branches/seven/libs/spandsp/src/queue.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/queue.c
   freeswitch/branches/seven/libs/spandsp/src/schedule.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/schedule.c
   freeswitch/branches/seven/libs/spandsp/src/sig_tone.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/sig_tone.c
   freeswitch/branches/seven/libs/spandsp/src/silence_gen.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/silence_gen.c
   freeswitch/branches/seven/libs/spandsp/src/spandsp/
      - copied from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/
   freeswitch/branches/seven/libs/spandsp/src/spandsp.h.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp.h.in
   freeswitch/branches/seven/libs/spandsp/src/spandsp/adsi.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/adsi.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/arctan2.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/arctan2.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/async.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/async.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/at_interpreter.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/at_interpreter.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/awgn.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/awgn.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/bell_r2_mf.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/bell_r2_mf.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/bert.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/bert.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/biquad.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/biquad.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/bit_operations.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/bit_operations.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/bitstream.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/bitstream.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/complex.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/complex.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/complex_filters.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/complex_filters.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/complex_vector_float.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/complex_vector_float.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/complex_vector_int.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/complex_vector_int.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/crc.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/crc.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/dc_restore.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/dc_restore.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/dds.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/dds.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/dtmf.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/dtmf.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/echo.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/echo.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/fax.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/fax.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/fax_modems.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/fax_modems.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/fir.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/fir.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/fsk.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/fsk.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/g168models.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/g168models.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/g711.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/g711.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/g722.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/g722.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/g726.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/g726.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/gsm0610.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/gsm0610.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/hdlc.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/hdlc.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/ima_adpcm.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/ima_adpcm.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/logging.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/logging.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/lpc10.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/lpc10.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/modem_connect_tones.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/modem_connect_tones.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/modem_echo.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/modem_echo.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/noise.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/noise.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/oki_adpcm.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/oki_adpcm.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/playout.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/playout.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/plc.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/plc.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/power_meter.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/power_meter.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/queue.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/queue.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/saturated.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/saturated.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/schedule.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/schedule.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/sig_tone.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/sig_tone.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/silence_gen.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/silence_gen.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/super_tone_rx.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/super_tone_rx.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/super_tone_tx.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/super_tone_tx.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/t30.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/t30.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/t30_api.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/t30_api.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/t30_fcf.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/t30_fcf.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/t30_logging.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/t30_logging.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/t31.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/t31.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/t35.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/t35.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/t38_core.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/t38_core.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/t38_gateway.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/t38_gateway.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/t38_non_ecm_buffer.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/t38_non_ecm_buffer.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/t38_terminal.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/t38_terminal.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/t4.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/t4.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/telephony.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/telephony.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/time_scale.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/time_scale.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/timing.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/timing.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/tone_detect.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/tone_detect.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/tone_generate.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/tone_generate.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/v17rx.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/v17rx.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/v17tx.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/v17tx.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/v22bis.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/v22bis.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/v27ter_rx.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/v27ter_rx.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/v27ter_tx.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/v27ter_tx.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/v29rx.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/v29rx.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/v29tx.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/v29tx.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/v42.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/v42.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/v42bis.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/v42bis.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/v8.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/v8.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/vector_float.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/vector_float.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/vector_int.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/vector_int.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/version.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/version.h
   freeswitch/branches/seven/libs/spandsp/src/spandsp/version.h.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/spandsp/version.h.in
   freeswitch/branches/seven/libs/spandsp/src/super_tone_rx.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/super_tone_rx.c
   freeswitch/branches/seven/libs/spandsp/src/super_tone_tx.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/super_tone_tx.c
   freeswitch/branches/seven/libs/spandsp/src/t30.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/t30.c
   freeswitch/branches/seven/libs/spandsp/src/t30_api.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/t30_api.c
   freeswitch/branches/seven/libs/spandsp/src/t30_local.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/t30_local.h
   freeswitch/branches/seven/libs/spandsp/src/t30_logging.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/t30_logging.c
   freeswitch/branches/seven/libs/spandsp/src/t31.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/t31.c
   freeswitch/branches/seven/libs/spandsp/src/t35.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/t35.c
   freeswitch/branches/seven/libs/spandsp/src/t38_core.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/t38_core.c
   freeswitch/branches/seven/libs/spandsp/src/t38_gateway.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/t38_gateway.c
   freeswitch/branches/seven/libs/spandsp/src/t38_non_ecm_buffer.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/t38_non_ecm_buffer.c
   freeswitch/branches/seven/libs/spandsp/src/t38_terminal.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/t38_terminal.c
   freeswitch/branches/seven/libs/spandsp/src/t4.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/t4.c
   freeswitch/branches/seven/libs/spandsp/src/t4_states.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/t4_states.h
   freeswitch/branches/seven/libs/spandsp/src/testcpuid.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/testcpuid.c
   freeswitch/branches/seven/libs/spandsp/src/time_scale.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/time_scale.c
   freeswitch/branches/seven/libs/spandsp/src/tone_detect.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/tone_detect.c
   freeswitch/branches/seven/libs/spandsp/src/tone_generate.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/tone_generate.c
   freeswitch/branches/seven/libs/spandsp/src/v17rx.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/v17rx.c
   freeswitch/branches/seven/libs/spandsp/src/v17rx_constellation_maps.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/v17rx_constellation_maps.h
   freeswitch/branches/seven/libs/spandsp/src/v17tx.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/v17tx.c
   freeswitch/branches/seven/libs/spandsp/src/v17tx_constellation_maps.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/v17tx_constellation_maps.h
   freeswitch/branches/seven/libs/spandsp/src/v22bis_rx.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/v22bis_rx.c
   freeswitch/branches/seven/libs/spandsp/src/v22bis_tx.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/v22bis_tx.c
   freeswitch/branches/seven/libs/spandsp/src/v27ter_rx.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/v27ter_rx.c
   freeswitch/branches/seven/libs/spandsp/src/v27ter_tx.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/v27ter_tx.c
   freeswitch/branches/seven/libs/spandsp/src/v29rx.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/v29rx.c
   freeswitch/branches/seven/libs/spandsp/src/v29tx.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/v29tx.c
   freeswitch/branches/seven/libs/spandsp/src/v29tx_constellation_maps.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/v29tx_constellation_maps.h
   freeswitch/branches/seven/libs/spandsp/src/v42.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/v42.c
   freeswitch/branches/seven/libs/spandsp/src/v42bis.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/v42bis.c
   freeswitch/branches/seven/libs/spandsp/src/v8.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/v8.c
   freeswitch/branches/seven/libs/spandsp/src/vector_float.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/vector_float.c
   freeswitch/branches/seven/libs/spandsp/src/vector_int.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/src/vector_int.c
   freeswitch/branches/seven/libs/spandsp/test-data/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/spandsp/test-data/
   freeswitch/branches/seven/libs/spandsp/test-data/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/test-data/Makefile.am
   freeswitch/branches/seven/libs/spandsp/test-data/etsi/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/spandsp/test-data/etsi/
   freeswitch/branches/seven/libs/spandsp/test-data/etsi/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/test-data/etsi/Makefile.am
   freeswitch/branches/seven/libs/spandsp/test-data/etsi/fax/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/spandsp/test-data/etsi/fax/
   freeswitch/branches/seven/libs/spandsp/test-data/etsi/fax/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/test-data/etsi/fax/Makefile.am
   freeswitch/branches/seven/libs/spandsp/test-data/etsi/fax/generate_etsi_300_242_pages.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/test-data/etsi/fax/generate_etsi_300_242_pages.c
   freeswitch/branches/seven/libs/spandsp/test-data/itu/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/spandsp/test-data/itu/
   freeswitch/branches/seven/libs/spandsp/test-data/itu/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/test-data/itu/Makefile.am
   freeswitch/branches/seven/libs/spandsp/test-data/itu/fax/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/spandsp/test-data/itu/fax/
   freeswitch/branches/seven/libs/spandsp/test-data/itu/fax/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/test-data/itu/fax/Makefile.am
   freeswitch/branches/seven/libs/spandsp/test-data/itu/fax/generate_dithered_tif.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/test-data/itu/fax/generate_dithered_tif.c
   freeswitch/branches/seven/libs/spandsp/test-data/itu/fax/generate_sized_pages.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/test-data/itu/fax/generate_sized_pages.c
   freeswitch/branches/seven/libs/spandsp/test-data/itu/fax/itu1.pbm
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/test-data/itu/fax/itu1.pbm
   freeswitch/branches/seven/libs/spandsp/test-data/itu/fax/itu2.pbm
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/test-data/itu/fax/itu2.pbm
   freeswitch/branches/seven/libs/spandsp/test-data/itu/fax/itu3.pbm
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/test-data/itu/fax/itu3.pbm
   freeswitch/branches/seven/libs/spandsp/test-data/itu/fax/itu4.pbm
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/test-data/itu/fax/itu4.pbm
   freeswitch/branches/seven/libs/spandsp/test-data/itu/fax/itu5.pbm
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/test-data/itu/fax/itu5.pbm
   freeswitch/branches/seven/libs/spandsp/test-data/itu/fax/itu6.pbm
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/test-data/itu/fax/itu6.pbm
   freeswitch/branches/seven/libs/spandsp/test-data/itu/fax/itu7.pbm
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/test-data/itu/fax/itu7.pbm
   freeswitch/branches/seven/libs/spandsp/test-data/itu/fax/itu8.pbm
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/test-data/itu/fax/itu8.pbm
   freeswitch/branches/seven/libs/spandsp/test-data/itu/fax/test1.pbm
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/test-data/itu/fax/test1.pbm
   freeswitch/branches/seven/libs/spandsp/test-data/itu/fax/test2.pbm
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/test-data/itu/fax/test2.pbm
   freeswitch/branches/seven/libs/spandsp/test-data/itu/fax/test3.pbm
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/test-data/itu/fax/test3.pbm
   freeswitch/branches/seven/libs/spandsp/test-data/itu/fax/test4.pbm
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/test-data/itu/fax/test4.pbm
   freeswitch/branches/seven/libs/spandsp/test-data/local/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/spandsp/test-data/local/
   freeswitch/branches/seven/libs/spandsp/test-data/local/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/test-data/local/Makefile.am
   freeswitch/branches/seven/libs/spandsp/test-data/local/dam9.wav
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/test-data/local/dam9.wav
   freeswitch/branches/seven/libs/spandsp/test-data/local/dam9_lpc55.wav
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/test-data/local/dam9_lpc55.wav
   freeswitch/branches/seven/libs/spandsp/test-data/local/short_nb_voice.wav
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/test-data/local/short_nb_voice.wav
   freeswitch/branches/seven/libs/spandsp/test-data/local/short_wb_voice.wav
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/test-data/local/short_wb_voice.wav
   freeswitch/branches/seven/libs/spandsp/tests/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/spandsp/tests/
   freeswitch/branches/seven/libs/spandsp/tests/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/Makefile.am
   freeswitch/branches/seven/libs/spandsp/tests/adsi_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/adsi_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/async_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/async_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/at_interpreter_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/at_interpreter_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/awgn_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/awgn_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/bell_mf_rx_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/bell_mf_rx_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/bell_mf_tx_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/bell_mf_tx_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/bert_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/bert_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/bit_operations_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/bit_operations_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/complex_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/complex_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/complex_vector_float_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/complex_vector_float_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/complex_vector_int_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/complex_vector_int_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/crc_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/crc_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/dc_restore_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/dc_restore_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/dds_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/dds_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/dtmf_rx_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/dtmf_rx_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/dtmf_tx_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/dtmf_tx_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/echo_monitor.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/echo_monitor.cpp
   freeswitch/branches/seven/libs/spandsp/tests/echo_monitor.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/echo_monitor.h
   freeswitch/branches/seven/libs/spandsp/tests/echo_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/echo_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/fax_decode.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/fax_decode.c
   freeswitch/branches/seven/libs/spandsp/tests/fax_tester.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/fax_tester.c
   freeswitch/branches/seven/libs/spandsp/tests/fax_tester.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/fax_tester.h
   freeswitch/branches/seven/libs/spandsp/tests/fax_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/fax_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/fax_tests.sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/fax_tests.sh
   freeswitch/branches/seven/libs/spandsp/tests/fsk_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/fsk_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/g1050_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/g1050_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/g168_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/g168_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/g711_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/g711_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/g722_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/g722_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/g726_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/g726_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/gsm0610_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/gsm0610_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/hdlc_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/hdlc_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/ima_adpcm_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/ima_adpcm_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/line_model_monitor.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/line_model_monitor.cpp
   freeswitch/branches/seven/libs/spandsp/tests/line_model_monitor.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/line_model_monitor.h
   freeswitch/branches/seven/libs/spandsp/tests/line_model_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/line_model_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/logging_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/logging_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/lpc10_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/lpc10_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/make_g168_css.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/make_g168_css.c
   freeswitch/branches/seven/libs/spandsp/tests/media_monitor.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/media_monitor.cpp
   freeswitch/branches/seven/libs/spandsp/tests/media_monitor.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/media_monitor.h
   freeswitch/branches/seven/libs/spandsp/tests/modem_connect_tones_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/modem_connect_tones_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/modem_echo_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/modem_echo_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/modem_monitor.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/modem_monitor.cpp
   freeswitch/branches/seven/libs/spandsp/tests/modem_monitor.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/modem_monitor.h
   freeswitch/branches/seven/libs/spandsp/tests/noise_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/noise_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/oki_adpcm_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/oki_adpcm_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/playout_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/playout_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/plc_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/plc_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/power_meter_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/power_meter_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/queue_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/queue_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/r2_mf_rx_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/r2_mf_rx_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/r2_mf_tx_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/r2_mf_tx_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/regression_tests.sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/regression_tests.sh
   freeswitch/branches/seven/libs/spandsp/tests/rfc2198_sim_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/rfc2198_sim_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/schedule_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/schedule_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/sig_tone_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/sig_tone_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/super_tone_rx_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/super_tone_rx_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/super_tone_tx_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/super_tone_tx_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/t31_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/t31_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/t38_core_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/t38_core_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/t38_gateway_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/t38_gateway_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/t38_gateway_to_terminal_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/t38_gateway_to_terminal_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/t38_non_ecm_buffer_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/t38_non_ecm_buffer_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/t38_terminal_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/t38_terminal_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/t38_terminal_to_gateway_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/t38_terminal_to_gateway_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/t4_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/t4_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/testadsi.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/testadsi.c
   freeswitch/branches/seven/libs/spandsp/tests/testfax.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/testfax.c
   freeswitch/branches/seven/libs/spandsp/tests/time_scale_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/time_scale_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/tone_detect_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/tone_detect_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/tone_generate_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/tone_generate_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/tsb85_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/tsb85_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/tsb85_tests.sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/tsb85_tests.sh
   freeswitch/branches/seven/libs/spandsp/tests/v17_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/v17_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/v22bis_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/v22bis_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/v27ter_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/v27ter_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/v29_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/v29_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/v42_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/v42_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/v42bis_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/v42bis_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/v42bis_tests.sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/v42bis_tests.sh
   freeswitch/branches/seven/libs/spandsp/tests/v8_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/v8_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/vector_float_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/vector_float_tests.c
   freeswitch/branches/seven/libs/spandsp/tests/vector_int_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/tests/vector_int_tests.c
   freeswitch/branches/seven/libs/spandsp/unpack_g722_data.sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/unpack_g722_data.sh
   freeswitch/branches/seven/libs/spandsp/unpack_g726_data.sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/unpack_g726_data.sh
   freeswitch/branches/seven/libs/spandsp/unpack_gsm0610_data.sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/unpack_gsm0610_data.sh
   freeswitch/branches/seven/libs/spandsp/unpack_v56ter_data.sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/unpack_v56ter_data.sh
   freeswitch/branches/seven/libs/spandsp/wrapper.xsl
      - copied unchanged from r11459, /freeswitch/trunk/libs/spandsp/wrapper.xsl
   freeswitch/branches/seven/libs/speex/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/speex/
   freeswitch/branches/seven/libs/speex/.update
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/.update
   freeswitch/branches/seven/libs/speex/AUTHORS
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/AUTHORS
   freeswitch/branches/seven/libs/speex/COPYING
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/COPYING
   freeswitch/branches/seven/libs/speex/ChangeLog
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/ChangeLog
   freeswitch/branches/seven/libs/speex/INSTALL
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/INSTALL
   freeswitch/branches/seven/libs/speex/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/Makefile.am
   freeswitch/branches/seven/libs/speex/NEWS
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/NEWS
   freeswitch/branches/seven/libs/speex/README
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/README
   freeswitch/branches/seven/libs/speex/README.TI-DSP
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/README.TI-DSP
   freeswitch/branches/seven/libs/speex/README.blackfin
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/README.blackfin
   freeswitch/branches/seven/libs/speex/README.symbian
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/README.symbian
   freeswitch/branches/seven/libs/speex/Speex.kdevelop
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/Speex.kdevelop
   freeswitch/branches/seven/libs/speex/Speex.spec
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/Speex.spec
   freeswitch/branches/seven/libs/speex/Speex.spec.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/Speex.spec.in
   freeswitch/branches/seven/libs/speex/TODO
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/TODO
   freeswitch/branches/seven/libs/speex/acinclude.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/acinclude.m4
   freeswitch/branches/seven/libs/speex/config.h.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/config.h.in
   freeswitch/branches/seven/libs/speex/configure.ac
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/configure.ac
   freeswitch/branches/seven/libs/speex/configure.gnu
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/configure.gnu
   freeswitch/branches/seven/libs/speex/doc/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/speex/doc/
   freeswitch/branches/seven/libs/speex/doc/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/doc/Makefile.am
   freeswitch/branches/seven/libs/speex/doc/manual.pdf
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/doc/manual.pdf
   freeswitch/branches/seven/libs/speex/include/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/speex/include/
   freeswitch/branches/seven/libs/speex/include/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/include/Makefile.am
   freeswitch/branches/seven/libs/speex/include/speex/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/speex/include/speex/
   freeswitch/branches/seven/libs/speex/include/speex/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/include/speex/Makefile.am
   freeswitch/branches/seven/libs/speex/include/speex/speex.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/include/speex/speex.h
   freeswitch/branches/seven/libs/speex/include/speex/speex_bits.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/include/speex/speex_bits.h
   freeswitch/branches/seven/libs/speex/include/speex/speex_callbacks.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/include/speex/speex_callbacks.h
   freeswitch/branches/seven/libs/speex/include/speex/speex_config_types.h.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/include/speex/speex_config_types.h.in
   freeswitch/branches/seven/libs/speex/include/speex/speex_echo.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/include/speex/speex_echo.h
   freeswitch/branches/seven/libs/speex/include/speex/speex_header.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/include/speex/speex_header.h
   freeswitch/branches/seven/libs/speex/include/speex/speex_jitter.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/include/speex/speex_jitter.h
   freeswitch/branches/seven/libs/speex/include/speex/speex_preprocess.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/include/speex/speex_preprocess.h
   freeswitch/branches/seven/libs/speex/include/speex/speex_stereo.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/include/speex/speex_stereo.h
   freeswitch/branches/seven/libs/speex/include/speex/speex_types.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/include/speex/speex_types.h
   freeswitch/branches/seven/libs/speex/libspeex/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/speex/libspeex/
   freeswitch/branches/seven/libs/speex/libspeex/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/Makefile.am
   freeswitch/branches/seven/libs/speex/libspeex/_kiss_fft_guts.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/_kiss_fft_guts.h
   freeswitch/branches/seven/libs/speex/libspeex/arch.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/arch.h
   freeswitch/branches/seven/libs/speex/libspeex/bits.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/bits.c
   freeswitch/branches/seven/libs/speex/libspeex/cb_search.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/cb_search.c
   freeswitch/branches/seven/libs/speex/libspeex/cb_search.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/cb_search.h
   freeswitch/branches/seven/libs/speex/libspeex/cb_search_arm4.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/cb_search_arm4.h
   freeswitch/branches/seven/libs/speex/libspeex/cb_search_bfin.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/cb_search_bfin.h
   freeswitch/branches/seven/libs/speex/libspeex/cb_search_sse.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/cb_search_sse.h
   freeswitch/branches/seven/libs/speex/libspeex/exc_10_16_table.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/exc_10_16_table.c
   freeswitch/branches/seven/libs/speex/libspeex/exc_10_32_table.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/exc_10_32_table.c
   freeswitch/branches/seven/libs/speex/libspeex/exc_20_32_table.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/exc_20_32_table.c
   freeswitch/branches/seven/libs/speex/libspeex/exc_5_256_table.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/exc_5_256_table.c
   freeswitch/branches/seven/libs/speex/libspeex/exc_5_64_table.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/exc_5_64_table.c
   freeswitch/branches/seven/libs/speex/libspeex/exc_8_128_table.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/exc_8_128_table.c
   freeswitch/branches/seven/libs/speex/libspeex/fftwrap.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/fftwrap.c
   freeswitch/branches/seven/libs/speex/libspeex/fftwrap.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/fftwrap.h
   freeswitch/branches/seven/libs/speex/libspeex/filters.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/filters.c
   freeswitch/branches/seven/libs/speex/libspeex/filters.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/filters.h
   freeswitch/branches/seven/libs/speex/libspeex/filters_arm4.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/filters_arm4.h
   freeswitch/branches/seven/libs/speex/libspeex/filters_bfin.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/filters_bfin.h
   freeswitch/branches/seven/libs/speex/libspeex/filters_sse.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/filters_sse.h
   freeswitch/branches/seven/libs/speex/libspeex/fixed_arm4.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/fixed_arm4.h
   freeswitch/branches/seven/libs/speex/libspeex/fixed_arm5e.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/fixed_arm5e.h
   freeswitch/branches/seven/libs/speex/libspeex/fixed_bfin.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/fixed_bfin.h
   freeswitch/branches/seven/libs/speex/libspeex/fixed_debug.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/fixed_debug.h
   freeswitch/branches/seven/libs/speex/libspeex/fixed_generic.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/fixed_generic.h
   freeswitch/branches/seven/libs/speex/libspeex/gain_table.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/gain_table.c
   freeswitch/branches/seven/libs/speex/libspeex/gain_table_lbr.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/gain_table_lbr.c
   freeswitch/branches/seven/libs/speex/libspeex/hexc_10_32_table.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/hexc_10_32_table.c
   freeswitch/branches/seven/libs/speex/libspeex/hexc_table.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/hexc_table.c
   freeswitch/branches/seven/libs/speex/libspeex/high_lsp_tables.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/high_lsp_tables.c
   freeswitch/branches/seven/libs/speex/libspeex/jitter.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/jitter.c
   freeswitch/branches/seven/libs/speex/libspeex/kiss_fft.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/kiss_fft.c
   freeswitch/branches/seven/libs/speex/libspeex/kiss_fft.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/kiss_fft.h
   freeswitch/branches/seven/libs/speex/libspeex/kiss_fftr.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/kiss_fftr.c
   freeswitch/branches/seven/libs/speex/libspeex/kiss_fftr.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/kiss_fftr.h
   freeswitch/branches/seven/libs/speex/libspeex/lbr_48k_tables.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/lbr_48k_tables.c
   freeswitch/branches/seven/libs/speex/libspeex/lpc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/lpc.c
   freeswitch/branches/seven/libs/speex/libspeex/lpc.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/lpc.h
   freeswitch/branches/seven/libs/speex/libspeex/lpc_bfin.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/lpc_bfin.h
   freeswitch/branches/seven/libs/speex/libspeex/lsp.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/lsp.c
   freeswitch/branches/seven/libs/speex/libspeex/lsp.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/lsp.h
   freeswitch/branches/seven/libs/speex/libspeex/lsp_bfin.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/lsp_bfin.h
   freeswitch/branches/seven/libs/speex/libspeex/lsp_tables_nb.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/lsp_tables_nb.c
   freeswitch/branches/seven/libs/speex/libspeex/ltp.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/ltp.c
   freeswitch/branches/seven/libs/speex/libspeex/ltp.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/ltp.h
   freeswitch/branches/seven/libs/speex/libspeex/ltp_arm4.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/ltp_arm4.h
   freeswitch/branches/seven/libs/speex/libspeex/ltp_bfin.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/ltp_bfin.h
   freeswitch/branches/seven/libs/speex/libspeex/ltp_sse.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/ltp_sse.h
   freeswitch/branches/seven/libs/speex/libspeex/math_approx.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/math_approx.c
   freeswitch/branches/seven/libs/speex/libspeex/math_approx.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/math_approx.h
   freeswitch/branches/seven/libs/speex/libspeex/mdf.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/mdf.c
   freeswitch/branches/seven/libs/speex/libspeex/misc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/misc.c
   freeswitch/branches/seven/libs/speex/libspeex/misc.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/misc.h
   freeswitch/branches/seven/libs/speex/libspeex/misc_bfin.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/misc_bfin.h
   freeswitch/branches/seven/libs/speex/libspeex/modes.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/modes.c
   freeswitch/branches/seven/libs/speex/libspeex/modes.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/modes.h
   freeswitch/branches/seven/libs/speex/libspeex/nb_celp.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/nb_celp.c
   freeswitch/branches/seven/libs/speex/libspeex/nb_celp.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/nb_celp.h
   freeswitch/branches/seven/libs/speex/libspeex/preprocess.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/preprocess.c
   freeswitch/branches/seven/libs/speex/libspeex/pseudofloat.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/pseudofloat.h
   freeswitch/branches/seven/libs/speex/libspeex/quant_lsp.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/quant_lsp.c
   freeswitch/branches/seven/libs/speex/libspeex/quant_lsp.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/quant_lsp.h
   freeswitch/branches/seven/libs/speex/libspeex/quant_lsp_bfin.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/quant_lsp_bfin.h
   freeswitch/branches/seven/libs/speex/libspeex/sb_celp.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/sb_celp.c
   freeswitch/branches/seven/libs/speex/libspeex/sb_celp.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/sb_celp.h
   freeswitch/branches/seven/libs/speex/libspeex/smallft.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/smallft.c
   freeswitch/branches/seven/libs/speex/libspeex/smallft.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/smallft.h
   freeswitch/branches/seven/libs/speex/libspeex/speex.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/speex.c
   freeswitch/branches/seven/libs/speex/libspeex/speex_callbacks.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/speex_callbacks.c
   freeswitch/branches/seven/libs/speex/libspeex/speex_header.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/speex_header.c
   freeswitch/branches/seven/libs/speex/libspeex/stack_alloc.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/stack_alloc.h
   freeswitch/branches/seven/libs/speex/libspeex/stereo.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/stereo.c
   freeswitch/branches/seven/libs/speex/libspeex/testdenoise.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/testdenoise.c
   freeswitch/branches/seven/libs/speex/libspeex/testecho.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/testecho.c
   freeswitch/branches/seven/libs/speex/libspeex/testenc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/testenc.c
   freeswitch/branches/seven/libs/speex/libspeex/testenc_uwb.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/testenc_uwb.c
   freeswitch/branches/seven/libs/speex/libspeex/testenc_wb.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/testenc_wb.c
   freeswitch/branches/seven/libs/speex/libspeex/vbr.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/vbr.c
   freeswitch/branches/seven/libs/speex/libspeex/vbr.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/vbr.h
   freeswitch/branches/seven/libs/speex/libspeex/vorbis_psy.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/vorbis_psy.c
   freeswitch/branches/seven/libs/speex/libspeex/vorbis_psy.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/vorbis_psy.h
   freeswitch/branches/seven/libs/speex/libspeex/vq.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/vq.c
   freeswitch/branches/seven/libs/speex/libspeex/vq.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/vq.h
   freeswitch/branches/seven/libs/speex/libspeex/vq_arm4.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/vq_arm4.h
   freeswitch/branches/seven/libs/speex/libspeex/vq_bfin.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/vq_bfin.h
   freeswitch/branches/seven/libs/speex/libspeex/vq_sse.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/vq_sse.h
   freeswitch/branches/seven/libs/speex/libspeex/window.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/libspeex/window.c
   freeswitch/branches/seven/libs/speex/speex.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/speex.m4
   freeswitch/branches/seven/libs/speex/speex.pc.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/speex.pc.in
   freeswitch/branches/seven/libs/speex/src/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/speex/src/
   freeswitch/branches/seven/libs/speex/src/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/src/Makefile.am
   freeswitch/branches/seven/libs/speex/src/getopt.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/src/getopt.c
   freeswitch/branches/seven/libs/speex/src/getopt1.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/src/getopt1.c
   freeswitch/branches/seven/libs/speex/src/getopt_win.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/src/getopt_win.h
   freeswitch/branches/seven/libs/speex/src/skeleton.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/src/skeleton.c
   freeswitch/branches/seven/libs/speex/src/skeleton.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/src/skeleton.h
   freeswitch/branches/seven/libs/speex/src/speexdec.1
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/src/speexdec.1
   freeswitch/branches/seven/libs/speex/src/speexdec.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/src/speexdec.c
   freeswitch/branches/seven/libs/speex/src/speexenc.1
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/src/speexenc.1
   freeswitch/branches/seven/libs/speex/src/speexenc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/src/speexenc.c
   freeswitch/branches/seven/libs/speex/src/wav_io.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/src/wav_io.c
   freeswitch/branches/seven/libs/speex/src/wav_io.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/src/wav_io.h
   freeswitch/branches/seven/libs/speex/src/wave_out.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/src/wave_out.c
   freeswitch/branches/seven/libs/speex/src/wave_out.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/src/wave_out.h
   freeswitch/branches/seven/libs/speex/symbian/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/speex/symbian/
   freeswitch/branches/seven/libs/speex/symbian/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/symbian/Makefile.am
   freeswitch/branches/seven/libs/speex/symbian/bld.inf
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/symbian/bld.inf
   freeswitch/branches/seven/libs/speex/symbian/config.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/symbian/config.h
   freeswitch/branches/seven/libs/speex/symbian/speex.mmp
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/symbian/speex.mmp
   freeswitch/branches/seven/libs/speex/ti/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/speex/ti/
   freeswitch/branches/seven/libs/speex/ti/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/ti/Makefile.am
   freeswitch/branches/seven/libs/speex/ti/config.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/ti/config.h
   freeswitch/branches/seven/libs/speex/ti/speex_C54_test/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/speex/ti/speex_C54_test/
   freeswitch/branches/seven/libs/speex/ti/speex_C54_test/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/ti/speex_C54_test/Makefile.am
   freeswitch/branches/seven/libs/speex/ti/speex_C54_test/speex_C54_test.cmd
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/ti/speex_C54_test/speex_C54_test.cmd
   freeswitch/branches/seven/libs/speex/ti/speex_C54_test/speex_C54_test.pjt
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/ti/speex_C54_test/speex_C54_test.pjt
   freeswitch/branches/seven/libs/speex/ti/speex_C55_test/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/speex/ti/speex_C55_test/
   freeswitch/branches/seven/libs/speex/ti/speex_C55_test/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/ti/speex_C55_test/Makefile.am
   freeswitch/branches/seven/libs/speex/ti/speex_C55_test/speex_C55_test.cmd
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/ti/speex_C55_test/speex_C55_test.cmd
   freeswitch/branches/seven/libs/speex/ti/speex_C55_test/speex_C55_test.pjt
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/ti/speex_C55_test/speex_C55_test.pjt
   freeswitch/branches/seven/libs/speex/ti/speex_C64_test/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/speex/ti/speex_C64_test/
   freeswitch/branches/seven/libs/speex/ti/speex_C64_test/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/ti/speex_C64_test/Makefile.am
   freeswitch/branches/seven/libs/speex/ti/speex_C64_test/speex_C64_test.cmd
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/ti/speex_C64_test/speex_C64_test.cmd
   freeswitch/branches/seven/libs/speex/ti/speex_C64_test/speex_C64_test.pjt
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/ti/speex_C64_test/speex_C64_test.pjt
   freeswitch/branches/seven/libs/speex/ti/testenc-TI-C5x.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/ti/testenc-TI-C5x.c
   freeswitch/branches/seven/libs/speex/ti/testenc-TI-C64x.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/ti/testenc-TI-C64x.c
   freeswitch/branches/seven/libs/speex/ti/user_misc.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/ti/user_misc.h
   freeswitch/branches/seven/libs/speex/win32/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/speex/win32/
   freeswitch/branches/seven/libs/speex/win32/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/win32/Makefile.am
   freeswitch/branches/seven/libs/speex/win32/VS2003/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/speex/win32/VS2003/
   freeswitch/branches/seven/libs/speex/win32/VS2003/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/win32/VS2003/Makefile.am
   freeswitch/branches/seven/libs/speex/win32/VS2003/libspeex/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/speex/win32/VS2003/libspeex/
   freeswitch/branches/seven/libs/speex/win32/VS2003/libspeex/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/win32/VS2003/libspeex/Makefile.am
   freeswitch/branches/seven/libs/speex/win32/VS2003/libspeex/libspeex.def
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/win32/VS2003/libspeex/libspeex.def
   freeswitch/branches/seven/libs/speex/win32/VS2003/libspeex/libspeex.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/win32/VS2003/libspeex/libspeex.vcproj
   freeswitch/branches/seven/libs/speex/win32/VS2003/speexdec/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/speex/win32/VS2003/speexdec/
   freeswitch/branches/seven/libs/speex/win32/VS2003/speexdec/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/win32/VS2003/speexdec/Makefile.am
   freeswitch/branches/seven/libs/speex/win32/VS2003/speexdec/speexdec.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/win32/VS2003/speexdec/speexdec.vcproj
   freeswitch/branches/seven/libs/speex/win32/VS2003/speexenc/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/speex/win32/VS2003/speexenc/
   freeswitch/branches/seven/libs/speex/win32/VS2003/speexenc/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/win32/VS2003/speexenc/Makefile.am
   freeswitch/branches/seven/libs/speex/win32/VS2003/speexenc/speexenc.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/win32/VS2003/speexenc/speexenc.vcproj
   freeswitch/branches/seven/libs/speex/win32/VS2005/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/speex/win32/VS2005/
   freeswitch/branches/seven/libs/speex/win32/VS2005/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/win32/VS2005/Makefile.am
   freeswitch/branches/seven/libs/speex/win32/VS2005/libspeex/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/speex/win32/VS2005/libspeex/
   freeswitch/branches/seven/libs/speex/win32/VS2005/libspeex/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/win32/VS2005/libspeex/Makefile.am
   freeswitch/branches/seven/libs/speex/win32/VS2005/libspeex/libspeex.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/win32/VS2005/libspeex/libspeex.vcproj
   freeswitch/branches/seven/libs/speex/win32/VS2005/speexdec/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/speex/win32/VS2005/speexdec/
   freeswitch/branches/seven/libs/speex/win32/VS2005/speexdec/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/win32/VS2005/speexdec/Makefile.am
   freeswitch/branches/seven/libs/speex/win32/VS2005/speexdec/speexdec.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/win32/VS2005/speexdec/speexdec.vcproj
   freeswitch/branches/seven/libs/speex/win32/VS2005/speexenc/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/speex/win32/VS2005/speexenc/
   freeswitch/branches/seven/libs/speex/win32/VS2005/speexenc/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/win32/VS2005/speexenc/Makefile.am
   freeswitch/branches/seven/libs/speex/win32/VS2005/speexenc/speexenc.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/win32/VS2005/speexenc/speexenc.vcproj
   freeswitch/branches/seven/libs/speex/win32/config.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/win32/config.h
   freeswitch/branches/seven/libs/speex/win32/libspeex/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/speex/win32/libspeex/
   freeswitch/branches/seven/libs/speex/win32/libspeex/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/win32/libspeex/Makefile.am
   freeswitch/branches/seven/libs/speex/win32/libspeex/libspeex.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/win32/libspeex/libspeex.dsp
   freeswitch/branches/seven/libs/speex/win32/libspeex/libspeex.dsw
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/win32/libspeex/libspeex.dsw
   freeswitch/branches/seven/libs/speex/win32/libspeex/libspeex_dynamic.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/win32/libspeex/libspeex_dynamic.dsp
   freeswitch/branches/seven/libs/speex/win32/libspeex/speex.def
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/win32/libspeex/speex.def
   freeswitch/branches/seven/libs/speex/win32/speex.iss
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/win32/speex.iss
   freeswitch/branches/seven/libs/speex/win32/speexdec/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/speex/win32/speexdec/
   freeswitch/branches/seven/libs/speex/win32/speexdec/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/win32/speexdec/Makefile.am
   freeswitch/branches/seven/libs/speex/win32/speexdec/speexdec.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/win32/speexdec/speexdec.dsp
   freeswitch/branches/seven/libs/speex/win32/speexdec/speexdec.dsw
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/win32/speexdec/speexdec.dsw
   freeswitch/branches/seven/libs/speex/win32/speexenc/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/speex/win32/speexenc/
   freeswitch/branches/seven/libs/speex/win32/speexenc/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/win32/speexenc/Makefile.am
   freeswitch/branches/seven/libs/speex/win32/speexenc/speexenc.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/win32/speexenc/speexenc.dsp
   freeswitch/branches/seven/libs/speex/win32/speexenc/speexenc.dsw
      - copied unchanged from r11459, /freeswitch/trunk/libs/speex/win32/speexenc/speexenc.dsw
   freeswitch/branches/seven/libs/sqlite/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/sqlite/
   freeswitch/branches/seven/libs/sqlite/.update
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/.update
   freeswitch/branches/seven/libs/sqlite/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/Makefile.in
   freeswitch/branches/seven/libs/sqlite/Makefile.linux-gcc
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/Makefile.linux-gcc
   freeswitch/branches/seven/libs/sqlite/README
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/README
   freeswitch/branches/seven/libs/sqlite/VERSION
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/VERSION
   freeswitch/branches/seven/libs/sqlite/addopcodes.awk
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/addopcodes.awk
   freeswitch/branches/seven/libs/sqlite/art/
      - copied from r11459, /freeswitch/trunk/libs/sqlite/art/
   freeswitch/branches/seven/libs/sqlite/art/2005osaward.gif
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/art/2005osaward.gif
   freeswitch/branches/seven/libs/sqlite/art/SQLite.eps
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/art/SQLite.eps
   freeswitch/branches/seven/libs/sqlite/art/SQLite.gif
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/art/SQLite.gif
   freeswitch/branches/seven/libs/sqlite/art/SQLiteLogo3.tiff
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/art/SQLiteLogo3.tiff
   freeswitch/branches/seven/libs/sqlite/art/tmp/
      - copied from r11459, /freeswitch/trunk/libs/sqlite/art/tmp/
   freeswitch/branches/seven/libs/sqlite/configure.ac
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/configure.ac
   freeswitch/branches/seven/libs/sqlite/configure.gnu
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/configure.gnu
   freeswitch/branches/seven/libs/sqlite/contrib/
      - copied from r11459, /freeswitch/trunk/libs/sqlite/contrib/
   freeswitch/branches/seven/libs/sqlite/contrib/sqlitecon.tcl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/contrib/sqlitecon.tcl
   freeswitch/branches/seven/libs/sqlite/ext/
      - copied from r11459, /freeswitch/trunk/libs/sqlite/ext/
   freeswitch/branches/seven/libs/sqlite/ext/README.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/ext/README.txt
   freeswitch/branches/seven/libs/sqlite/ext/fts1/
      - copied from r11459, /freeswitch/trunk/libs/sqlite/ext/fts1/
   freeswitch/branches/seven/libs/sqlite/ext/fts1/README.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/ext/fts1/README.txt
   freeswitch/branches/seven/libs/sqlite/ext/fts1/fts1.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/ext/fts1/fts1.c
   freeswitch/branches/seven/libs/sqlite/ext/fts1/fts1.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/ext/fts1/fts1.h
   freeswitch/branches/seven/libs/sqlite/ext/fts1/fts1_hash.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/ext/fts1/fts1_hash.c
   freeswitch/branches/seven/libs/sqlite/ext/fts1/fts1_hash.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/ext/fts1/fts1_hash.h
   freeswitch/branches/seven/libs/sqlite/ext/fts1/fts1_porter.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/ext/fts1/fts1_porter.c
   freeswitch/branches/seven/libs/sqlite/ext/fts1/fts1_tokenizer.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/ext/fts1/fts1_tokenizer.h
   freeswitch/branches/seven/libs/sqlite/ext/fts1/fts1_tokenizer1.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/ext/fts1/fts1_tokenizer1.c
   freeswitch/branches/seven/libs/sqlite/ext/fts2/
      - copied from r11459, /freeswitch/trunk/libs/sqlite/ext/fts2/
   freeswitch/branches/seven/libs/sqlite/ext/fts2/README.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/ext/fts2/README.txt
   freeswitch/branches/seven/libs/sqlite/ext/fts2/fts2.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/ext/fts2/fts2.c
   freeswitch/branches/seven/libs/sqlite/ext/fts2/fts2.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/ext/fts2/fts2.h
   freeswitch/branches/seven/libs/sqlite/ext/fts2/fts2_hash.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/ext/fts2/fts2_hash.c
   freeswitch/branches/seven/libs/sqlite/ext/fts2/fts2_hash.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/ext/fts2/fts2_hash.h
   freeswitch/branches/seven/libs/sqlite/ext/fts2/fts2_porter.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/ext/fts2/fts2_porter.c
   freeswitch/branches/seven/libs/sqlite/ext/fts2/fts2_tokenizer.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/ext/fts2/fts2_tokenizer.h
   freeswitch/branches/seven/libs/sqlite/ext/fts2/fts2_tokenizer1.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/ext/fts2/fts2_tokenizer1.c
   freeswitch/branches/seven/libs/sqlite/install-sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/install-sh
   freeswitch/branches/seven/libs/sqlite/main.mk
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/main.mk
   freeswitch/branches/seven/libs/sqlite/mkdll.sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/mkdll.sh
   freeswitch/branches/seven/libs/sqlite/mkopcodec.awk
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/mkopcodec.awk
   freeswitch/branches/seven/libs/sqlite/mkopcodeh.awk
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/mkopcodeh.awk
   freeswitch/branches/seven/libs/sqlite/mkso.sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/mkso.sh
   freeswitch/branches/seven/libs/sqlite/notes/
      - copied from r11459, /freeswitch/trunk/libs/sqlite/notes/
   freeswitch/branches/seven/libs/sqlite/publish.sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/publish.sh
   freeswitch/branches/seven/libs/sqlite/spec.template
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/spec.template
   freeswitch/branches/seven/libs/sqlite/sqlite.pc.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/sqlite.pc.in
   freeswitch/branches/seven/libs/sqlite/sqlite3.1
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/sqlite3.1
   freeswitch/branches/seven/libs/sqlite/sqlite3.pc.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/sqlite3.pc.in
   freeswitch/branches/seven/libs/sqlite/src/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/sqlite/src/
   freeswitch/branches/seven/libs/sqlite/src/alter.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/alter.c
   freeswitch/branches/seven/libs/sqlite/src/analyze.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/analyze.c
   freeswitch/branches/seven/libs/sqlite/src/attach.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/attach.c
   freeswitch/branches/seven/libs/sqlite/src/auth.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/auth.c
   freeswitch/branches/seven/libs/sqlite/src/btree.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/btree.c
   freeswitch/branches/seven/libs/sqlite/src/btree.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/btree.h
   freeswitch/branches/seven/libs/sqlite/src/build.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/build.c
   freeswitch/branches/seven/libs/sqlite/src/callback.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/callback.c
   freeswitch/branches/seven/libs/sqlite/src/complete.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/complete.c
   freeswitch/branches/seven/libs/sqlite/src/date.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/date.c
   freeswitch/branches/seven/libs/sqlite/src/delete.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/delete.c
   freeswitch/branches/seven/libs/sqlite/src/ex/
      - copied from r11459, /freeswitch/trunk/libs/sqlite/src/ex/
   freeswitch/branches/seven/libs/sqlite/src/expr.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/expr.c
   freeswitch/branches/seven/libs/sqlite/src/func.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/func.c
   freeswitch/branches/seven/libs/sqlite/src/hash.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/hash.c
   freeswitch/branches/seven/libs/sqlite/src/hash.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/hash.h
   freeswitch/branches/seven/libs/sqlite/src/insert.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/insert.c
   freeswitch/branches/seven/libs/sqlite/src/legacy.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/legacy.c
   freeswitch/branches/seven/libs/sqlite/src/loadext.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/loadext.c
   freeswitch/branches/seven/libs/sqlite/src/main.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/main.c
   freeswitch/branches/seven/libs/sqlite/src/os.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/os.c
   freeswitch/branches/seven/libs/sqlite/src/os.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/os.h
   freeswitch/branches/seven/libs/sqlite/src/os_common.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/os_common.h
   freeswitch/branches/seven/libs/sqlite/src/os_os2.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/os_os2.c
   freeswitch/branches/seven/libs/sqlite/src/os_os2.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/os_os2.h
   freeswitch/branches/seven/libs/sqlite/src/os_unix.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/os_unix.c
   freeswitch/branches/seven/libs/sqlite/src/os_win.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/os_win.c
   freeswitch/branches/seven/libs/sqlite/src/pager.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/pager.c
   freeswitch/branches/seven/libs/sqlite/src/pager.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/pager.h
   freeswitch/branches/seven/libs/sqlite/src/parse.y
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/parse.y
   freeswitch/branches/seven/libs/sqlite/src/pragma.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/pragma.c
   freeswitch/branches/seven/libs/sqlite/src/prepare.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/prepare.c
   freeswitch/branches/seven/libs/sqlite/src/printf.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/printf.c
   freeswitch/branches/seven/libs/sqlite/src/random.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/random.c
   freeswitch/branches/seven/libs/sqlite/src/select.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/select.c
   freeswitch/branches/seven/libs/sqlite/src/shell.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/shell.c
   freeswitch/branches/seven/libs/sqlite/src/sqlite.h.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/sqlite.h.in
   freeswitch/branches/seven/libs/sqlite/src/sqlite3ext.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/sqlite3ext.h
   freeswitch/branches/seven/libs/sqlite/src/sqliteInt.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/sqliteInt.h
   freeswitch/branches/seven/libs/sqlite/src/table.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/table.c
   freeswitch/branches/seven/libs/sqlite/src/tclsqlite.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/tclsqlite.c
   freeswitch/branches/seven/libs/sqlite/src/test1.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/test1.c
   freeswitch/branches/seven/libs/sqlite/src/test2.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/test2.c
   freeswitch/branches/seven/libs/sqlite/src/test3.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/test3.c
   freeswitch/branches/seven/libs/sqlite/src/test4.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/test4.c
   freeswitch/branches/seven/libs/sqlite/src/test5.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/test5.c
   freeswitch/branches/seven/libs/sqlite/src/test6.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/test6.c
   freeswitch/branches/seven/libs/sqlite/src/test7.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/test7.c
   freeswitch/branches/seven/libs/sqlite/src/test8.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/test8.c
   freeswitch/branches/seven/libs/sqlite/src/test_async.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/test_async.c
   freeswitch/branches/seven/libs/sqlite/src/test_autoext.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/test_autoext.c
   freeswitch/branches/seven/libs/sqlite/src/test_loadext.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/test_loadext.c
   freeswitch/branches/seven/libs/sqlite/src/test_md5.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/test_md5.c
   freeswitch/branches/seven/libs/sqlite/src/test_schema.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/test_schema.c
   freeswitch/branches/seven/libs/sqlite/src/test_server.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/test_server.c
   freeswitch/branches/seven/libs/sqlite/src/test_tclvar.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/test_tclvar.c
   freeswitch/branches/seven/libs/sqlite/src/tokenize.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/tokenize.c
   freeswitch/branches/seven/libs/sqlite/src/trigger.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/trigger.c
   freeswitch/branches/seven/libs/sqlite/src/update.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/update.c
   freeswitch/branches/seven/libs/sqlite/src/utf.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/utf.c
   freeswitch/branches/seven/libs/sqlite/src/util.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/util.c
   freeswitch/branches/seven/libs/sqlite/src/vacuum.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/vacuum.c
   freeswitch/branches/seven/libs/sqlite/src/vdbe.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/vdbe.c
   freeswitch/branches/seven/libs/sqlite/src/vdbe.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/vdbe.h
   freeswitch/branches/seven/libs/sqlite/src/vdbeInt.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/vdbeInt.h
   freeswitch/branches/seven/libs/sqlite/src/vdbeapi.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/vdbeapi.c
   freeswitch/branches/seven/libs/sqlite/src/vdbeaux.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/vdbeaux.c
   freeswitch/branches/seven/libs/sqlite/src/vdbefifo.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/vdbefifo.c
   freeswitch/branches/seven/libs/sqlite/src/vdbemem.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/vdbemem.c
   freeswitch/branches/seven/libs/sqlite/src/vtab.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/vtab.c
   freeswitch/branches/seven/libs/sqlite/src/where.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/src/where.c
   freeswitch/branches/seven/libs/sqlite/tclinstaller.tcl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/tclinstaller.tcl
   freeswitch/branches/seven/libs/sqlite/test/
      - copied from r11459, /freeswitch/trunk/libs/sqlite/test/
   freeswitch/branches/seven/libs/sqlite/test/aggerror.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/aggerror.test
   freeswitch/branches/seven/libs/sqlite/test/all.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/all.test
   freeswitch/branches/seven/libs/sqlite/test/alter.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/alter.test
   freeswitch/branches/seven/libs/sqlite/test/alter2.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/alter2.test
   freeswitch/branches/seven/libs/sqlite/test/alter3.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/alter3.test
   freeswitch/branches/seven/libs/sqlite/test/altermalloc.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/altermalloc.test
   freeswitch/branches/seven/libs/sqlite/test/analyze.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/analyze.test
   freeswitch/branches/seven/libs/sqlite/test/async.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/async.test
   freeswitch/branches/seven/libs/sqlite/test/async2.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/async2.test
   freeswitch/branches/seven/libs/sqlite/test/attach.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/attach.test
   freeswitch/branches/seven/libs/sqlite/test/attach2.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/attach2.test
   freeswitch/branches/seven/libs/sqlite/test/attach3.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/attach3.test
   freeswitch/branches/seven/libs/sqlite/test/attachmalloc.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/attachmalloc.test
   freeswitch/branches/seven/libs/sqlite/test/auth.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/auth.test
   freeswitch/branches/seven/libs/sqlite/test/auth2.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/auth2.test
   freeswitch/branches/seven/libs/sqlite/test/autoinc.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/autoinc.test
   freeswitch/branches/seven/libs/sqlite/test/autovacuum.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/autovacuum.test
   freeswitch/branches/seven/libs/sqlite/test/autovacuum_crash.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/autovacuum_crash.test
   freeswitch/branches/seven/libs/sqlite/test/autovacuum_ioerr.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/autovacuum_ioerr.test
   freeswitch/branches/seven/libs/sqlite/test/autovacuum_ioerr2.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/autovacuum_ioerr2.test
   freeswitch/branches/seven/libs/sqlite/test/avtrans.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/avtrans.test
   freeswitch/branches/seven/libs/sqlite/test/between.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/between.test
   freeswitch/branches/seven/libs/sqlite/test/bigfile.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/bigfile.test
   freeswitch/branches/seven/libs/sqlite/test/bigrow.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/bigrow.test
   freeswitch/branches/seven/libs/sqlite/test/bind.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/bind.test
   freeswitch/branches/seven/libs/sqlite/test/bindxfer.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/bindxfer.test
   freeswitch/branches/seven/libs/sqlite/test/blob.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/blob.test
   freeswitch/branches/seven/libs/sqlite/test/btree.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/btree.test
   freeswitch/branches/seven/libs/sqlite/test/btree2.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/btree2.test
   freeswitch/branches/seven/libs/sqlite/test/btree4.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/btree4.test
   freeswitch/branches/seven/libs/sqlite/test/btree5.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/btree5.test
   freeswitch/branches/seven/libs/sqlite/test/btree6.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/btree6.test
   freeswitch/branches/seven/libs/sqlite/test/btree7.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/btree7.test
   freeswitch/branches/seven/libs/sqlite/test/btree8.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/btree8.test
   freeswitch/branches/seven/libs/sqlite/test/busy.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/busy.test
   freeswitch/branches/seven/libs/sqlite/test/capi2.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/capi2.test
   freeswitch/branches/seven/libs/sqlite/test/capi3.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/capi3.test
   freeswitch/branches/seven/libs/sqlite/test/capi3b.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/capi3b.test
   freeswitch/branches/seven/libs/sqlite/test/capi3c.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/capi3c.test
   freeswitch/branches/seven/libs/sqlite/test/cast.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/cast.test
   freeswitch/branches/seven/libs/sqlite/test/check.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/check.test
   freeswitch/branches/seven/libs/sqlite/test/collate1.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/collate1.test
   freeswitch/branches/seven/libs/sqlite/test/collate2.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/collate2.test
   freeswitch/branches/seven/libs/sqlite/test/collate3.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/collate3.test
   freeswitch/branches/seven/libs/sqlite/test/collate4.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/collate4.test
   freeswitch/branches/seven/libs/sqlite/test/collate5.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/collate5.test
   freeswitch/branches/seven/libs/sqlite/test/collate6.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/collate6.test
   freeswitch/branches/seven/libs/sqlite/test/colmeta.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/colmeta.test
   freeswitch/branches/seven/libs/sqlite/test/conflict.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/conflict.test
   freeswitch/branches/seven/libs/sqlite/test/corrupt.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/corrupt.test
   freeswitch/branches/seven/libs/sqlite/test/corrupt2.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/corrupt2.test
   freeswitch/branches/seven/libs/sqlite/test/crash.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/crash.test
   freeswitch/branches/seven/libs/sqlite/test/date.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/date.test
   freeswitch/branches/seven/libs/sqlite/test/default.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/default.test
   freeswitch/branches/seven/libs/sqlite/test/delete.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/delete.test
   freeswitch/branches/seven/libs/sqlite/test/delete2.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/delete2.test
   freeswitch/branches/seven/libs/sqlite/test/delete3.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/delete3.test
   freeswitch/branches/seven/libs/sqlite/test/descidx1.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/descidx1.test
   freeswitch/branches/seven/libs/sqlite/test/descidx2.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/descidx2.test
   freeswitch/branches/seven/libs/sqlite/test/descidx3.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/descidx3.test
   freeswitch/branches/seven/libs/sqlite/test/diskfull.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/diskfull.test
   freeswitch/branches/seven/libs/sqlite/test/distinctagg.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/distinctagg.test
   freeswitch/branches/seven/libs/sqlite/test/enc.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/enc.test
   freeswitch/branches/seven/libs/sqlite/test/enc2.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/enc2.test
   freeswitch/branches/seven/libs/sqlite/test/enc3.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/enc3.test
   freeswitch/branches/seven/libs/sqlite/test/expr.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/expr.test
   freeswitch/branches/seven/libs/sqlite/test/fkey1.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/fkey1.test
   freeswitch/branches/seven/libs/sqlite/test/format4.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/format4.test
   freeswitch/branches/seven/libs/sqlite/test/fts1a.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/fts1a.test
   freeswitch/branches/seven/libs/sqlite/test/fts1b.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/fts1b.test
   freeswitch/branches/seven/libs/sqlite/test/fts1c.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/fts1c.test
   freeswitch/branches/seven/libs/sqlite/test/fts1d.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/fts1d.test
   freeswitch/branches/seven/libs/sqlite/test/fts1e.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/fts1e.test
   freeswitch/branches/seven/libs/sqlite/test/fts1f.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/fts1f.test
   freeswitch/branches/seven/libs/sqlite/test/fts1i.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/fts1i.test
   freeswitch/branches/seven/libs/sqlite/test/fts1j.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/fts1j.test
   freeswitch/branches/seven/libs/sqlite/test/fts1porter.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/fts1porter.test
   freeswitch/branches/seven/libs/sqlite/test/fts2a.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/fts2a.test
   freeswitch/branches/seven/libs/sqlite/test/fts2b.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/fts2b.test
   freeswitch/branches/seven/libs/sqlite/test/fts2c.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/fts2c.test
   freeswitch/branches/seven/libs/sqlite/test/fts2d.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/fts2d.test
   freeswitch/branches/seven/libs/sqlite/test/fts2e.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/fts2e.test
   freeswitch/branches/seven/libs/sqlite/test/fts2f.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/fts2f.test
   freeswitch/branches/seven/libs/sqlite/test/fts2g.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/fts2g.test
   freeswitch/branches/seven/libs/sqlite/test/fts2h.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/fts2h.test
   freeswitch/branches/seven/libs/sqlite/test/fts2i.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/fts2i.test
   freeswitch/branches/seven/libs/sqlite/test/fts2j.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/fts2j.test
   freeswitch/branches/seven/libs/sqlite/test/func.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/func.test
   freeswitch/branches/seven/libs/sqlite/test/hook.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/hook.test
   freeswitch/branches/seven/libs/sqlite/test/in.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/in.test
   freeswitch/branches/seven/libs/sqlite/test/index.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/index.test
   freeswitch/branches/seven/libs/sqlite/test/index2.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/index2.test
   freeswitch/branches/seven/libs/sqlite/test/index3.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/index3.test
   freeswitch/branches/seven/libs/sqlite/test/insert.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/insert.test
   freeswitch/branches/seven/libs/sqlite/test/insert2.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/insert2.test
   freeswitch/branches/seven/libs/sqlite/test/insert3.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/insert3.test
   freeswitch/branches/seven/libs/sqlite/test/interrupt.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/interrupt.test
   freeswitch/branches/seven/libs/sqlite/test/intpkey.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/intpkey.test
   freeswitch/branches/seven/libs/sqlite/test/ioerr.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/ioerr.test
   freeswitch/branches/seven/libs/sqlite/test/join.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/join.test
   freeswitch/branches/seven/libs/sqlite/test/join2.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/join2.test
   freeswitch/branches/seven/libs/sqlite/test/join3.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/join3.test
   freeswitch/branches/seven/libs/sqlite/test/join4.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/join4.test
   freeswitch/branches/seven/libs/sqlite/test/join5.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/join5.test
   freeswitch/branches/seven/libs/sqlite/test/journal1.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/journal1.test
   freeswitch/branches/seven/libs/sqlite/test/lastinsert.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/lastinsert.test
   freeswitch/branches/seven/libs/sqlite/test/laststmtchanges.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/laststmtchanges.test
   freeswitch/branches/seven/libs/sqlite/test/like.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/like.test
   freeswitch/branches/seven/libs/sqlite/test/limit.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/limit.test
   freeswitch/branches/seven/libs/sqlite/test/loadext.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/loadext.test
   freeswitch/branches/seven/libs/sqlite/test/loadext2.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/loadext2.test
   freeswitch/branches/seven/libs/sqlite/test/lock.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/lock.test
   freeswitch/branches/seven/libs/sqlite/test/lock2.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/lock2.test
   freeswitch/branches/seven/libs/sqlite/test/lock3.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/lock3.test
   freeswitch/branches/seven/libs/sqlite/test/main.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/main.test
   freeswitch/branches/seven/libs/sqlite/test/malloc.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/malloc.test
   freeswitch/branches/seven/libs/sqlite/test/malloc2.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/malloc2.test
   freeswitch/branches/seven/libs/sqlite/test/malloc3.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/malloc3.test
   freeswitch/branches/seven/libs/sqlite/test/malloc4.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/malloc4.test
   freeswitch/branches/seven/libs/sqlite/test/malloc5.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/malloc5.test
   freeswitch/branches/seven/libs/sqlite/test/malloc6.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/malloc6.test
   freeswitch/branches/seven/libs/sqlite/test/malloc7.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/malloc7.test
   freeswitch/branches/seven/libs/sqlite/test/manydb.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/manydb.test
   freeswitch/branches/seven/libs/sqlite/test/memdb.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/memdb.test
   freeswitch/branches/seven/libs/sqlite/test/memleak.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/memleak.test
   freeswitch/branches/seven/libs/sqlite/test/minmax.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/minmax.test
   freeswitch/branches/seven/libs/sqlite/test/misc1.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/misc1.test
   freeswitch/branches/seven/libs/sqlite/test/misc2.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/misc2.test
   freeswitch/branches/seven/libs/sqlite/test/misc3.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/misc3.test
   freeswitch/branches/seven/libs/sqlite/test/misc4.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/misc4.test
   freeswitch/branches/seven/libs/sqlite/test/misc5.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/misc5.test
   freeswitch/branches/seven/libs/sqlite/test/misc6.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/misc6.test
   freeswitch/branches/seven/libs/sqlite/test/misuse.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/misuse.test
   freeswitch/branches/seven/libs/sqlite/test/notnull.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/notnull.test
   freeswitch/branches/seven/libs/sqlite/test/null.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/null.test
   freeswitch/branches/seven/libs/sqlite/test/pager.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/pager.test
   freeswitch/branches/seven/libs/sqlite/test/pager2.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/pager2.test
   freeswitch/branches/seven/libs/sqlite/test/pager3.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/pager3.test
   freeswitch/branches/seven/libs/sqlite/test/pagesize.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/pagesize.test
   freeswitch/branches/seven/libs/sqlite/test/pragma.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/pragma.test
   freeswitch/branches/seven/libs/sqlite/test/printf.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/printf.test
   freeswitch/branches/seven/libs/sqlite/test/progress.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/progress.test
   freeswitch/branches/seven/libs/sqlite/test/quick.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/quick.test
   freeswitch/branches/seven/libs/sqlite/test/quote.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/quote.test
   freeswitch/branches/seven/libs/sqlite/test/reindex.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/reindex.test
   freeswitch/branches/seven/libs/sqlite/test/rollback.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/rollback.test
   freeswitch/branches/seven/libs/sqlite/test/rowid.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/rowid.test
   freeswitch/branches/seven/libs/sqlite/test/safety.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/safety.test
   freeswitch/branches/seven/libs/sqlite/test/schema.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/schema.test
   freeswitch/branches/seven/libs/sqlite/test/schema2.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/schema2.test
   freeswitch/branches/seven/libs/sqlite/test/select1.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/select1.test
   freeswitch/branches/seven/libs/sqlite/test/select2.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/select2.test
   freeswitch/branches/seven/libs/sqlite/test/select3.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/select3.test
   freeswitch/branches/seven/libs/sqlite/test/select4.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/select4.test
   freeswitch/branches/seven/libs/sqlite/test/select5.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/select5.test
   freeswitch/branches/seven/libs/sqlite/test/select6.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/select6.test
   freeswitch/branches/seven/libs/sqlite/test/select7.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/select7.test
   freeswitch/branches/seven/libs/sqlite/test/server1.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/server1.test
   freeswitch/branches/seven/libs/sqlite/test/shared.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/shared.test
   freeswitch/branches/seven/libs/sqlite/test/shared2.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/shared2.test
   freeswitch/branches/seven/libs/sqlite/test/shared3.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/shared3.test
   freeswitch/branches/seven/libs/sqlite/test/shared_err.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/shared_err.test
   freeswitch/branches/seven/libs/sqlite/test/sort.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/sort.test
   freeswitch/branches/seven/libs/sqlite/test/speed1.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/speed1.test
   freeswitch/branches/seven/libs/sqlite/test/subquery.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/subquery.test
   freeswitch/branches/seven/libs/sqlite/test/subselect.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/subselect.test
   freeswitch/branches/seven/libs/sqlite/test/sync.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/sync.test
   freeswitch/branches/seven/libs/sqlite/test/table.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/table.test
   freeswitch/branches/seven/libs/sqlite/test/tableapi.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/tableapi.test
   freeswitch/branches/seven/libs/sqlite/test/tclsqlite.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/tclsqlite.test
   freeswitch/branches/seven/libs/sqlite/test/temptable.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/temptable.test
   freeswitch/branches/seven/libs/sqlite/test/tester.tcl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/tester.tcl
   freeswitch/branches/seven/libs/sqlite/test/thread1.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/thread1.test
   freeswitch/branches/seven/libs/sqlite/test/thread2.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/thread2.test
   freeswitch/branches/seven/libs/sqlite/test/threadtest1.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/threadtest1.c
   freeswitch/branches/seven/libs/sqlite/test/threadtest2.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/threadtest2.c
   freeswitch/branches/seven/libs/sqlite/test/tkt1435.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/tkt1435.test
   freeswitch/branches/seven/libs/sqlite/test/tkt1443.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/tkt1443.test
   freeswitch/branches/seven/libs/sqlite/test/tkt1444.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/tkt1444.test
   freeswitch/branches/seven/libs/sqlite/test/tkt1449.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/tkt1449.test
   freeswitch/branches/seven/libs/sqlite/test/tkt1473.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/tkt1473.test
   freeswitch/branches/seven/libs/sqlite/test/tkt1501.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/tkt1501.test
   freeswitch/branches/seven/libs/sqlite/test/tkt1512.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/tkt1512.test
   freeswitch/branches/seven/libs/sqlite/test/tkt1514.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/tkt1514.test
   freeswitch/branches/seven/libs/sqlite/test/tkt1536.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/tkt1536.test
   freeswitch/branches/seven/libs/sqlite/test/tkt1537.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/tkt1537.test
   freeswitch/branches/seven/libs/sqlite/test/tkt1567.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/tkt1567.test
   freeswitch/branches/seven/libs/sqlite/test/tkt1644.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/tkt1644.test
   freeswitch/branches/seven/libs/sqlite/test/tkt1667.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/tkt1667.test
   freeswitch/branches/seven/libs/sqlite/test/tkt1873.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/tkt1873.test
   freeswitch/branches/seven/libs/sqlite/test/tkt2141.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/tkt2141.test
   freeswitch/branches/seven/libs/sqlite/test/tkt2192.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/tkt2192.test
   freeswitch/branches/seven/libs/sqlite/test/tkt2213.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/tkt2213.test
   freeswitch/branches/seven/libs/sqlite/test/trace.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/trace.test
   freeswitch/branches/seven/libs/sqlite/test/trans.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/trans.test
   freeswitch/branches/seven/libs/sqlite/test/trigger1.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/trigger1.test
   freeswitch/branches/seven/libs/sqlite/test/trigger2.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/trigger2.test
   freeswitch/branches/seven/libs/sqlite/test/trigger3.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/trigger3.test
   freeswitch/branches/seven/libs/sqlite/test/trigger4.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/trigger4.test
   freeswitch/branches/seven/libs/sqlite/test/trigger5.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/trigger5.test
   freeswitch/branches/seven/libs/sqlite/test/trigger6.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/trigger6.test
   freeswitch/branches/seven/libs/sqlite/test/trigger7.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/trigger7.test
   freeswitch/branches/seven/libs/sqlite/test/trigger8.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/trigger8.test
   freeswitch/branches/seven/libs/sqlite/test/types.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/types.test
   freeswitch/branches/seven/libs/sqlite/test/types2.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/types2.test
   freeswitch/branches/seven/libs/sqlite/test/types3.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/types3.test
   freeswitch/branches/seven/libs/sqlite/test/unique.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/unique.test
   freeswitch/branches/seven/libs/sqlite/test/update.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/update.test
   freeswitch/branches/seven/libs/sqlite/test/utf16.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/utf16.test
   freeswitch/branches/seven/libs/sqlite/test/utf16align.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/utf16align.test
   freeswitch/branches/seven/libs/sqlite/test/vacuum.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/vacuum.test
   freeswitch/branches/seven/libs/sqlite/test/vacuum2.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/vacuum2.test
   freeswitch/branches/seven/libs/sqlite/test/varint.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/varint.test
   freeswitch/branches/seven/libs/sqlite/test/view.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/view.test
   freeswitch/branches/seven/libs/sqlite/test/vtab1.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/vtab1.test
   freeswitch/branches/seven/libs/sqlite/test/vtab2.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/vtab2.test
   freeswitch/branches/seven/libs/sqlite/test/vtab3.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/vtab3.test
   freeswitch/branches/seven/libs/sqlite/test/vtab4.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/vtab4.test
   freeswitch/branches/seven/libs/sqlite/test/vtab5.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/vtab5.test
   freeswitch/branches/seven/libs/sqlite/test/vtab6.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/vtab6.test
   freeswitch/branches/seven/libs/sqlite/test/vtab7.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/vtab7.test
   freeswitch/branches/seven/libs/sqlite/test/vtab9.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/vtab9.test
   freeswitch/branches/seven/libs/sqlite/test/vtab_err.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/vtab_err.test
   freeswitch/branches/seven/libs/sqlite/test/where.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/where.test
   freeswitch/branches/seven/libs/sqlite/test/where2.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/where2.test
   freeswitch/branches/seven/libs/sqlite/test/where3.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/where3.test
   freeswitch/branches/seven/libs/sqlite/test/where4.test
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/test/where4.test
   freeswitch/branches/seven/libs/sqlite/tool/
      - copied from r11459, /freeswitch/trunk/libs/sqlite/tool/
   freeswitch/branches/seven/libs/sqlite/tool/diffdb.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/tool/diffdb.c
   freeswitch/branches/seven/libs/sqlite/tool/fragck.tcl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/tool/fragck.tcl
   freeswitch/branches/seven/libs/sqlite/tool/lemon.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/tool/lemon.c
   freeswitch/branches/seven/libs/sqlite/tool/lempar.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/tool/lempar.c
   freeswitch/branches/seven/libs/sqlite/tool/memleak.awk
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/tool/memleak.awk
   freeswitch/branches/seven/libs/sqlite/tool/memleak2.awk
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/tool/memleak2.awk
   freeswitch/branches/seven/libs/sqlite/tool/memleak3.tcl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/tool/memleak3.tcl
   freeswitch/branches/seven/libs/sqlite/tool/mkkeywordhash.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/tool/mkkeywordhash.c
   freeswitch/branches/seven/libs/sqlite/tool/mkopts.tcl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/tool/mkopts.tcl
   freeswitch/branches/seven/libs/sqlite/tool/omittest.tcl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/tool/omittest.tcl
   freeswitch/branches/seven/libs/sqlite/tool/opcodeDoc.awk
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/tool/opcodeDoc.awk
   freeswitch/branches/seven/libs/sqlite/tool/report1.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/tool/report1.txt
   freeswitch/branches/seven/libs/sqlite/tool/showdb.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/tool/showdb.c
   freeswitch/branches/seven/libs/sqlite/tool/showjournal.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/tool/showjournal.c
   freeswitch/branches/seven/libs/sqlite/tool/space_used.tcl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/tool/space_used.tcl
   freeswitch/branches/seven/libs/sqlite/tool/spaceanal.tcl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/tool/spaceanal.tcl
   freeswitch/branches/seven/libs/sqlite/tool/speedtest.tcl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/tool/speedtest.tcl
   freeswitch/branches/seven/libs/sqlite/tool/speedtest2.tcl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/tool/speedtest2.tcl
   freeswitch/branches/seven/libs/sqlite/www/
      - copied from r11459, /freeswitch/trunk/libs/sqlite/www/
   freeswitch/branches/seven/libs/sqlite/www/arch.fig
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/arch.fig
   freeswitch/branches/seven/libs/sqlite/www/arch.gif
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/arch.gif
   freeswitch/branches/seven/libs/sqlite/www/arch.png
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/arch.png
   freeswitch/branches/seven/libs/sqlite/www/arch.tcl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/arch.tcl
   freeswitch/branches/seven/libs/sqlite/www/arch2.fig
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/arch2.fig
   freeswitch/branches/seven/libs/sqlite/www/arch2.gif
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/arch2.gif
   freeswitch/branches/seven/libs/sqlite/www/arch2b.fig
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/arch2b.fig
   freeswitch/branches/seven/libs/sqlite/www/audit.tcl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/audit.tcl
   freeswitch/branches/seven/libs/sqlite/www/autoinc.tcl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/autoinc.tcl
   freeswitch/branches/seven/libs/sqlite/www/c_interface.tcl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/c_interface.tcl
   freeswitch/branches/seven/libs/sqlite/www/capi3.tcl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/capi3.tcl
   freeswitch/branches/seven/libs/sqlite/www/capi3ref.tcl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/capi3ref.tcl
   freeswitch/branches/seven/libs/sqlite/www/changes.tcl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/changes.tcl
   freeswitch/branches/seven/libs/sqlite/www/common.tcl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/common.tcl
   freeswitch/branches/seven/libs/sqlite/www/compile.tcl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/compile.tcl
   freeswitch/branches/seven/libs/sqlite/www/conflict.tcl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/conflict.tcl
   freeswitch/branches/seven/libs/sqlite/www/copyright-release.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/copyright-release.html
   freeswitch/branches/seven/libs/sqlite/www/copyright-release.pdf
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/copyright-release.pdf
   freeswitch/branches/seven/libs/sqlite/www/copyright.tcl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/copyright.tcl
   freeswitch/branches/seven/libs/sqlite/www/datatype3.tcl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/datatype3.tcl
   freeswitch/branches/seven/libs/sqlite/www/datatypes.tcl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/datatypes.tcl
   freeswitch/branches/seven/libs/sqlite/www/different.tcl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/different.tcl
   freeswitch/branches/seven/libs/sqlite/www/direct1b.gif
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/direct1b.gif
   freeswitch/branches/seven/libs/sqlite/www/docs.tcl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/docs.tcl
   freeswitch/branches/seven/libs/sqlite/www/download.tcl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/download.tcl
   freeswitch/branches/seven/libs/sqlite/www/dynload.tcl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/dynload.tcl
   freeswitch/branches/seven/libs/sqlite/www/faq.tcl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/faq.tcl
   freeswitch/branches/seven/libs/sqlite/www/fileformat.tcl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/fileformat.tcl
   freeswitch/branches/seven/libs/sqlite/www/formatchng.tcl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/formatchng.tcl
   freeswitch/branches/seven/libs/sqlite/www/fullscanb.gif
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/fullscanb.gif
   freeswitch/branches/seven/libs/sqlite/www/index-ex1-x-b.gif
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/index-ex1-x-b.gif
   freeswitch/branches/seven/libs/sqlite/www/index.tcl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/index.tcl
   freeswitch/branches/seven/libs/sqlite/www/indirect1b1.gif
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/indirect1b1.gif
   freeswitch/branches/seven/libs/sqlite/www/lang.tcl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/lang.tcl
   freeswitch/branches/seven/libs/sqlite/www/lockingv3.tcl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/lockingv3.tcl
   freeswitch/branches/seven/libs/sqlite/www/mingw.tcl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/mingw.tcl
   freeswitch/branches/seven/libs/sqlite/www/nulls.tcl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/nulls.tcl
   freeswitch/branches/seven/libs/sqlite/www/oldnews.tcl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/oldnews.tcl
   freeswitch/branches/seven/libs/sqlite/www/omitted.tcl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/omitted.tcl
   freeswitch/branches/seven/libs/sqlite/www/opcode.tcl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/opcode.tcl
   freeswitch/branches/seven/libs/sqlite/www/optimizer.tcl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/optimizer.tcl
   freeswitch/branches/seven/libs/sqlite/www/optimizing.tcl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/optimizing.tcl
   freeswitch/branches/seven/libs/sqlite/www/optoverview.tcl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/optoverview.tcl
   freeswitch/branches/seven/libs/sqlite/www/pragma.tcl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/pragma.tcl
   freeswitch/branches/seven/libs/sqlite/www/quickstart.tcl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/quickstart.tcl
   freeswitch/branches/seven/libs/sqlite/www/shared.gif
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/shared.gif
   freeswitch/branches/seven/libs/sqlite/www/sharedcache.tcl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/sharedcache.tcl
   freeswitch/branches/seven/libs/sqlite/www/speed.tcl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/speed.tcl
   freeswitch/branches/seven/libs/sqlite/www/sqlite.tcl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/sqlite.tcl
   freeswitch/branches/seven/libs/sqlite/www/support.tcl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/support.tcl
   freeswitch/branches/seven/libs/sqlite/www/table-ex1b2.gif
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/table-ex1b2.gif
   freeswitch/branches/seven/libs/sqlite/www/tclsqlite.tcl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/tclsqlite.tcl
   freeswitch/branches/seven/libs/sqlite/www/typesafe.tcl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/typesafe.tcl
   freeswitch/branches/seven/libs/sqlite/www/vdbe.tcl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/vdbe.tcl
   freeswitch/branches/seven/libs/sqlite/www/version3.tcl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/version3.tcl
   freeswitch/branches/seven/libs/sqlite/www/whentouse.tcl
      - copied unchanged from r11459, /freeswitch/trunk/libs/sqlite/www/whentouse.tcl
   freeswitch/branches/seven/libs/srtp/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/srtp/
   freeswitch/branches/seven/libs/srtp/.update
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/.update
   freeswitch/branches/seven/libs/srtp/AUTHORS
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/AUTHORS
   freeswitch/branches/seven/libs/srtp/CHANGES
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/CHANGES
   freeswitch/branches/seven/libs/srtp/COPYING
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/COPYING
   freeswitch/branches/seven/libs/srtp/ChangeLog
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/ChangeLog
   freeswitch/branches/seven/libs/srtp/INSTALL
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/INSTALL
   freeswitch/branches/seven/libs/srtp/LICENSE
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/LICENSE
   freeswitch/branches/seven/libs/srtp/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/Makefile.am
   freeswitch/branches/seven/libs/srtp/NEWS
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/NEWS
   freeswitch/branches/seven/libs/srtp/README
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/README
   freeswitch/branches/seven/libs/srtp/TODO
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/TODO
   freeswitch/branches/seven/libs/srtp/VERSION
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/VERSION
   freeswitch/branches/seven/libs/srtp/acsite.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/acsite.m4
   freeswitch/branches/seven/libs/srtp/build/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/srtp/build/
   freeswitch/branches/seven/libs/srtp/build/config/
      - copied from r11459, /freeswitch/trunk/libs/srtp/build/config/
   freeswitch/branches/seven/libs/srtp/build/config/ac_cflags_gcc_option.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/build/config/ac_cflags_gcc_option.m4
   freeswitch/branches/seven/libs/srtp/build/config/ac_cflags_sun_option.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/build/config/ac_cflags_sun_option.m4
   freeswitch/branches/seven/libs/srtp/build/config/ac_gcc_archflag.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/build/config/ac_gcc_archflag.m4
   freeswitch/branches/seven/libs/srtp/build/config/ac_gcc_x86_cpuid.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/build/config/ac_gcc_x86_cpuid.m4
   freeswitch/branches/seven/libs/srtp/build/config/ac_prog_gzip.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/build/config/ac_prog_gzip.m4
   freeswitch/branches/seven/libs/srtp/build/config/ac_prog_wget.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/build/config/ac_prog_wget.m4
   freeswitch/branches/seven/libs/srtp/build/config/ax_cc_maxopt.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/build/config/ax_cc_maxopt.m4
   freeswitch/branches/seven/libs/srtp/build/config/ax_cflags_warn_all_ansi.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/build/config/ax_cflags_warn_all_ansi.m4
   freeswitch/branches/seven/libs/srtp/build/config/ax_check_compiler_flags.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/build/config/ax_check_compiler_flags.m4
   freeswitch/branches/seven/libs/srtp/build/config/ax_compiler_vendor.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/build/config/ax_compiler_vendor.m4
   freeswitch/branches/seven/libs/srtp/build/depcomp
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/build/depcomp
   freeswitch/branches/seven/libs/srtp/build/install-sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/build/install-sh
   freeswitch/branches/seven/libs/srtp/build/missing
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/build/missing
   freeswitch/branches/seven/libs/srtp/config.hw
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/config.hw
   freeswitch/branches/seven/libs/srtp/configure.gnu
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/configure.gnu
   freeswitch/branches/seven/libs/srtp/configure.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/configure.in
   freeswitch/branches/seven/libs/srtp/crypto/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/srtp/crypto/
   freeswitch/branches/seven/libs/srtp/crypto/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/Makefile.in
   freeswitch/branches/seven/libs/srtp/crypto/VERSION
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/VERSION
   freeswitch/branches/seven/libs/srtp/crypto/ae_xfm/
      - copied from r11459, /freeswitch/trunk/libs/srtp/crypto/ae_xfm/
   freeswitch/branches/seven/libs/srtp/crypto/ae_xfm/xfm.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/ae_xfm/xfm.c
   freeswitch/branches/seven/libs/srtp/crypto/cipher/
      - copied from r11459, /freeswitch/trunk/libs/srtp/crypto/cipher/
   freeswitch/branches/seven/libs/srtp/crypto/cipher/aes.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/cipher/aes.c
   freeswitch/branches/seven/libs/srtp/crypto/cipher/aes_cbc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/cipher/aes_cbc.c
   freeswitch/branches/seven/libs/srtp/crypto/cipher/aes_icm.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/cipher/aes_icm.c
   freeswitch/branches/seven/libs/srtp/crypto/cipher/cipher.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/cipher/cipher.c
   freeswitch/branches/seven/libs/srtp/crypto/cipher/null_cipher.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/cipher/null_cipher.c
   freeswitch/branches/seven/libs/srtp/crypto/hash/
      - copied from r11459, /freeswitch/trunk/libs/srtp/crypto/hash/
   freeswitch/branches/seven/libs/srtp/crypto/hash/auth.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/hash/auth.c
   freeswitch/branches/seven/libs/srtp/crypto/hash/hmac.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/hash/hmac.c
   freeswitch/branches/seven/libs/srtp/crypto/hash/null_auth.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/hash/null_auth.c
   freeswitch/branches/seven/libs/srtp/crypto/hash/sha1.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/hash/sha1.c
   freeswitch/branches/seven/libs/srtp/crypto/include/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/srtp/crypto/include/
   freeswitch/branches/seven/libs/srtp/crypto/include/aes.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/include/aes.h
   freeswitch/branches/seven/libs/srtp/crypto/include/aes_cbc.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/include/aes_cbc.h
   freeswitch/branches/seven/libs/srtp/crypto/include/aes_icm.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/include/aes_icm.h
   freeswitch/branches/seven/libs/srtp/crypto/include/alloc.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/include/alloc.h
   freeswitch/branches/seven/libs/srtp/crypto/include/auth.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/include/auth.h
   freeswitch/branches/seven/libs/srtp/crypto/include/cipher.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/include/cipher.h
   freeswitch/branches/seven/libs/srtp/crypto/include/crypto.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/include/crypto.h
   freeswitch/branches/seven/libs/srtp/crypto/include/crypto_kernel.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/include/crypto_kernel.h
   freeswitch/branches/seven/libs/srtp/crypto/include/crypto_math.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/include/crypto_math.h
   freeswitch/branches/seven/libs/srtp/crypto/include/crypto_types.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/include/crypto_types.h
   freeswitch/branches/seven/libs/srtp/crypto/include/cryptoalg.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/include/cryptoalg.h
   freeswitch/branches/seven/libs/srtp/crypto/include/datatypes.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/include/datatypes.h
   freeswitch/branches/seven/libs/srtp/crypto/include/err.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/include/err.h
   freeswitch/branches/seven/libs/srtp/crypto/include/gf2_8.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/include/gf2_8.h
   freeswitch/branches/seven/libs/srtp/crypto/include/hmac.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/include/hmac.h
   freeswitch/branches/seven/libs/srtp/crypto/include/integers.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/include/integers.h
   freeswitch/branches/seven/libs/srtp/crypto/include/kernel_compat.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/include/kernel_compat.h
   freeswitch/branches/seven/libs/srtp/crypto/include/key.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/include/key.h
   freeswitch/branches/seven/libs/srtp/crypto/include/null_auth.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/include/null_auth.h
   freeswitch/branches/seven/libs/srtp/crypto/include/null_cipher.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/include/null_cipher.h
   freeswitch/branches/seven/libs/srtp/crypto/include/prng.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/include/prng.h
   freeswitch/branches/seven/libs/srtp/crypto/include/rand_source.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/include/rand_source.h
   freeswitch/branches/seven/libs/srtp/crypto/include/rdb.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/include/rdb.h
   freeswitch/branches/seven/libs/srtp/crypto/include/rdbx.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/include/rdbx.h
   freeswitch/branches/seven/libs/srtp/crypto/include/sha1.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/include/sha1.h
   freeswitch/branches/seven/libs/srtp/crypto/include/stat.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/include/stat.h
   freeswitch/branches/seven/libs/srtp/crypto/include/xfm.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/include/xfm.h
   freeswitch/branches/seven/libs/srtp/crypto/kernel/
      - copied from r11459, /freeswitch/trunk/libs/srtp/crypto/kernel/
   freeswitch/branches/seven/libs/srtp/crypto/kernel/alloc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/kernel/alloc.c
   freeswitch/branches/seven/libs/srtp/crypto/kernel/crypto_kernel.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/kernel/crypto_kernel.c
   freeswitch/branches/seven/libs/srtp/crypto/kernel/err.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/kernel/err.c
   freeswitch/branches/seven/libs/srtp/crypto/kernel/key.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/kernel/key.c
   freeswitch/branches/seven/libs/srtp/crypto/math/
      - copied from r11459, /freeswitch/trunk/libs/srtp/crypto/math/
   freeswitch/branches/seven/libs/srtp/crypto/math/datatypes.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/math/datatypes.c
   freeswitch/branches/seven/libs/srtp/crypto/math/gf2_8.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/math/gf2_8.c
   freeswitch/branches/seven/libs/srtp/crypto/math/math.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/math/math.c
   freeswitch/branches/seven/libs/srtp/crypto/math/stat.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/math/stat.c
   freeswitch/branches/seven/libs/srtp/crypto/replay/
      - copied from r11459, /freeswitch/trunk/libs/srtp/crypto/replay/
   freeswitch/branches/seven/libs/srtp/crypto/replay/rdb.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/replay/rdb.c
   freeswitch/branches/seven/libs/srtp/crypto/replay/rdbx.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/replay/rdbx.c
   freeswitch/branches/seven/libs/srtp/crypto/replay/ut_sim.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/replay/ut_sim.c
   freeswitch/branches/seven/libs/srtp/crypto/rng/
      - copied from r11459, /freeswitch/trunk/libs/srtp/crypto/rng/
   freeswitch/branches/seven/libs/srtp/crypto/rng/ctr_prng.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/rng/ctr_prng.c
   freeswitch/branches/seven/libs/srtp/crypto/rng/prng.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/rng/prng.c
   freeswitch/branches/seven/libs/srtp/crypto/rng/rand_linux_kernel.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/rng/rand_linux_kernel.c
   freeswitch/branches/seven/libs/srtp/crypto/rng/rand_source.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/rng/rand_source.c
   freeswitch/branches/seven/libs/srtp/crypto/test/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/srtp/crypto/test/
   freeswitch/branches/seven/libs/srtp/crypto/test/aes_calc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/test/aes_calc.c
   freeswitch/branches/seven/libs/srtp/crypto/test/auth_driver.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/test/auth_driver.c
   freeswitch/branches/seven/libs/srtp/crypto/test/cipher_driver.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/test/cipher_driver.c
   freeswitch/branches/seven/libs/srtp/crypto/test/datatypes_driver.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/test/datatypes_driver.c
   freeswitch/branches/seven/libs/srtp/crypto/test/env.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/test/env.c
   freeswitch/branches/seven/libs/srtp/crypto/test/kernel_driver.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/test/kernel_driver.c
   freeswitch/branches/seven/libs/srtp/crypto/test/rand_gen.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/test/rand_gen.c
   freeswitch/branches/seven/libs/srtp/crypto/test/sha1_driver.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/test/sha1_driver.c
   freeswitch/branches/seven/libs/srtp/crypto/test/stat_driver.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/crypto/test/stat_driver.c
   freeswitch/branches/seven/libs/srtp/doc/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/srtp/doc/
   freeswitch/branches/seven/libs/srtp/doc/Doxyfile
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/doc/Doxyfile
   freeswitch/branches/seven/libs/srtp/doc/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/doc/Makefile.in
   freeswitch/branches/seven/libs/srtp/doc/crypto_kernel.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/doc/crypto_kernel.txt
   freeswitch/branches/seven/libs/srtp/doc/draft-irtf-cfrg-icm-00.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/doc/draft-irtf-cfrg-icm-00.txt
   freeswitch/branches/seven/libs/srtp/doc/header.template
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/doc/header.template
   freeswitch/branches/seven/libs/srtp/doc/intro.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/doc/intro.txt
   freeswitch/branches/seven/libs/srtp/doc/libsrtp.pdf
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/doc/libsrtp.pdf
   freeswitch/branches/seven/libs/srtp/doc/references.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/doc/references.txt
   freeswitch/branches/seven/libs/srtp/doc/rfc3711.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/doc/rfc3711.txt
   freeswitch/branches/seven/libs/srtp/include/
      - copied from r11459, /freeswitch/trunk/libs/srtp/include/
   freeswitch/branches/seven/libs/srtp/include/rtp.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/include/rtp.h
   freeswitch/branches/seven/libs/srtp/include/srtp.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/include/srtp.h
   freeswitch/branches/seven/libs/srtp/include/ut_sim.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/include/ut_sim.h
   freeswitch/branches/seven/libs/srtp/libsrtp.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/libsrtp.2008.vcproj
   freeswitch/branches/seven/libs/srtp/libsrtp.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/libsrtp.vcproj
   freeswitch/branches/seven/libs/srtp/srtp/
      - copied from r11459, /freeswitch/trunk/libs/srtp/srtp/
   freeswitch/branches/seven/libs/srtp/srtp-1.42.pc.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/srtp-1.42.pc.in
   freeswitch/branches/seven/libs/srtp/srtp.def
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/srtp.def
   freeswitch/branches/seven/libs/srtp/srtp.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/srtp.vcproj
   freeswitch/branches/seven/libs/srtp/srtp/srtp.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/srtp/srtp.c
   freeswitch/branches/seven/libs/srtp/tables/
      - copied from r11459, /freeswitch/trunk/libs/srtp/tables/
   freeswitch/branches/seven/libs/srtp/tables/aes_tables.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/tables/aes_tables.c
   freeswitch/branches/seven/libs/srtp/test/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/srtp/test/
   freeswitch/branches/seven/libs/srtp/test/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/test/Makefile.am
   freeswitch/branches/seven/libs/srtp/test/lfsr.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/test/lfsr.c
   freeswitch/branches/seven/libs/srtp/test/rdbx_driver.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/test/rdbx_driver.c
   freeswitch/branches/seven/libs/srtp/test/replay_driver.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/test/replay_driver.c
   freeswitch/branches/seven/libs/srtp/test/roc_driver.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/test/roc_driver.c
   freeswitch/branches/seven/libs/srtp/test/rtp.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/test/rtp.c
   freeswitch/branches/seven/libs/srtp/test/rtpw.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/test/rtpw.c
   freeswitch/branches/seven/libs/srtp/test/srtp_driver.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/test/srtp_driver.c
   freeswitch/branches/seven/libs/srtp/timing
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/timing
   freeswitch/branches/seven/libs/srtp/undos.sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/undos.sh
   freeswitch/branches/seven/libs/srtp/update.sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/srtp/update.sh
   freeswitch/branches/seven/libs/stfu/
      - copied from r11459, /freeswitch/trunk/libs/stfu/
   freeswitch/branches/seven/libs/stfu/stfu.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/stfu/stfu.c
   freeswitch/branches/seven/libs/stfu/stfu.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/stfu/stfu.h
   freeswitch/branches/seven/libs/udns/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/udns/
   freeswitch/branches/seven/libs/udns/.update
      - copied unchanged from r11459, /freeswitch/trunk/libs/udns/.update
   freeswitch/branches/seven/libs/udns/COPYING.LGPL
      - copied unchanged from r11459, /freeswitch/trunk/libs/udns/COPYING.LGPL
   freeswitch/branches/seven/libs/udns/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/libs/udns/Makefile
   freeswitch/branches/seven/libs/udns/NOTES
      - copied unchanged from r11459, /freeswitch/trunk/libs/udns/NOTES
   freeswitch/branches/seven/libs/udns/TODO
      - copied unchanged from r11459, /freeswitch/trunk/libs/udns/TODO
   freeswitch/branches/seven/libs/udns/debian/
      - copied from r11459, /freeswitch/trunk/libs/udns/debian/
   freeswitch/branches/seven/libs/udns/debian/changelog
      - copied unchanged from r11459, /freeswitch/trunk/libs/udns/debian/changelog
   freeswitch/branches/seven/libs/udns/debian/control
      - copied unchanged from r11459, /freeswitch/trunk/libs/udns/debian/control
   freeswitch/branches/seven/libs/udns/debian/copyright
      - copied unchanged from r11459, /freeswitch/trunk/libs/udns/debian/copyright
   freeswitch/branches/seven/libs/udns/debian/rules
      - copied unchanged from r11459, /freeswitch/trunk/libs/udns/debian/rules
   freeswitch/branches/seven/libs/udns/dnsget.1
      - copied unchanged from r11459, /freeswitch/trunk/libs/udns/dnsget.1
   freeswitch/branches/seven/libs/udns/dnsget.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/udns/dnsget.c
   freeswitch/branches/seven/libs/udns/ex-rdns.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/udns/ex-rdns.c
   freeswitch/branches/seven/libs/udns/inet_pton.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/udns/inet_pton.c
   freeswitch/branches/seven/libs/udns/inet_pton.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/udns/inet_pton.h
   freeswitch/branches/seven/libs/udns/rblcheck.1
      - copied unchanged from r11459, /freeswitch/trunk/libs/udns/rblcheck.1
   freeswitch/branches/seven/libs/udns/rblcheck.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/udns/rblcheck.c
   freeswitch/branches/seven/libs/udns/udns.3
      - copied unchanged from r11459, /freeswitch/trunk/libs/udns/udns.3
   freeswitch/branches/seven/libs/udns/udns.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/udns/udns.h
   freeswitch/branches/seven/libs/udns/udns_bl.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/udns/udns_bl.c
   freeswitch/branches/seven/libs/udns/udns_codes.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/udns/udns_codes.c
   freeswitch/branches/seven/libs/udns/udns_dn.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/udns/udns_dn.c
   freeswitch/branches/seven/libs/udns/udns_dntosp.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/udns/udns_dntosp.c
   freeswitch/branches/seven/libs/udns/udns_misc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/udns/udns_misc.c
   freeswitch/branches/seven/libs/udns/udns_parse.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/udns/udns_parse.c
   freeswitch/branches/seven/libs/udns/udns_resolver.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/udns/udns_resolver.c
   freeswitch/branches/seven/libs/udns/udns_rr_a.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/udns/udns_rr_a.c
   freeswitch/branches/seven/libs/udns/udns_rr_mx.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/udns/udns_rr_mx.c
   freeswitch/branches/seven/libs/udns/udns_rr_naptr.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/udns/udns_rr_naptr.c
   freeswitch/branches/seven/libs/udns/udns_rr_ptr.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/udns/udns_rr_ptr.c
   freeswitch/branches/seven/libs/udns/udns_rr_srv.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/udns/udns_rr_srv.c
   freeswitch/branches/seven/libs/udns/udns_rr_txt.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/udns/udns_rr_txt.c
   freeswitch/branches/seven/libs/voipcodecs/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/voipcodecs/
   freeswitch/branches/seven/libs/voipcodecs/.update
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/.update
   freeswitch/branches/seven/libs/voipcodecs/AUTHORS
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/AUTHORS
   freeswitch/branches/seven/libs/voipcodecs/COPYING
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/COPYING
   freeswitch/branches/seven/libs/voipcodecs/ChangeLog
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/ChangeLog
   freeswitch/branches/seven/libs/voipcodecs/INSTALL
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/INSTALL
   freeswitch/branches/seven/libs/voipcodecs/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/Makefile.am
   freeswitch/branches/seven/libs/voipcodecs/NEWS
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/NEWS
   freeswitch/branches/seven/libs/voipcodecs/README
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/README
   freeswitch/branches/seven/libs/voipcodecs/config/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/voipcodecs/config/
   freeswitch/branches/seven/libs/voipcodecs/configure.ac
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/configure.ac
   freeswitch/branches/seven/libs/voipcodecs/configure.gnu
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/configure.gnu
   freeswitch/branches/seven/libs/voipcodecs/debian/
      - copied from r11459, /freeswitch/trunk/libs/voipcodecs/debian/
   freeswitch/branches/seven/libs/voipcodecs/debian/changelog
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/debian/changelog
   freeswitch/branches/seven/libs/voipcodecs/debian/compat
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/debian/compat
   freeswitch/branches/seven/libs/voipcodecs/debian/control
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/debian/control
   freeswitch/branches/seven/libs/voipcodecs/debian/copyright
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/debian/copyright
   freeswitch/branches/seven/libs/voipcodecs/debian/libvoipcodecs-dev.install
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/debian/libvoipcodecs-dev.install
   freeswitch/branches/seven/libs/voipcodecs/debian/libvoipcodecs-doc.install
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/debian/libvoipcodecs-doc.install
   freeswitch/branches/seven/libs/voipcodecs/debian/libvoipcodecs.install
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/debian/libvoipcodecs.install
   freeswitch/branches/seven/libs/voipcodecs/debian/rules
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/debian/rules
   freeswitch/branches/seven/libs/voipcodecs/debian/watch
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/debian/watch
   freeswitch/branches/seven/libs/voipcodecs/doc/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/voipcodecs/doc/
   freeswitch/branches/seven/libs/voipcodecs/doc/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/doc/Makefile.am
   freeswitch/branches/seven/libs/voipcodecs/doc/css.css
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/doc/css.css
   freeswitch/branches/seven/libs/voipcodecs/doc/libvoipcodecs-doxygen
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/doc/libvoipcodecs-doxygen
   freeswitch/branches/seven/libs/voipcodecs/doc/wrapper.xsl
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/doc/wrapper.xsl
   freeswitch/branches/seven/libs/voipcodecs/etsitests/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/voipcodecs/etsitests/
   freeswitch/branches/seven/libs/voipcodecs/etsitests/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/etsitests/Makefile.am
   freeswitch/branches/seven/libs/voipcodecs/itutests/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/voipcodecs/itutests/
   freeswitch/branches/seven/libs/voipcodecs/itutests/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/itutests/Makefile.am
   freeswitch/branches/seven/libs/voipcodecs/libvoipcodecs.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/libvoipcodecs.2008.vcproj
   freeswitch/branches/seven/libs/voipcodecs/libvoipcodecs.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/libvoipcodecs.vcproj
   freeswitch/branches/seven/libs/voipcodecs/localtests/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/voipcodecs/localtests/
   freeswitch/branches/seven/libs/voipcodecs/localtests/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/localtests/Makefile.am
   freeswitch/branches/seven/libs/voipcodecs/localtests/dam9.wav
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/localtests/dam9.wav
   freeswitch/branches/seven/libs/voipcodecs/localtests/dam9_lpc55.wav
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/localtests/dam9_lpc55.wav
   freeswitch/branches/seven/libs/voipcodecs/localtests/short_nb_voice.wav
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/localtests/short_nb_voice.wav
   freeswitch/branches/seven/libs/voipcodecs/localtests/short_wb_voice.wav
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/localtests/short_wb_voice.wav
   freeswitch/branches/seven/libs/voipcodecs/src/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/voipcodecs/src/
   freeswitch/branches/seven/libs/voipcodecs/src/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/src/Makefile.am
   freeswitch/branches/seven/libs/voipcodecs/src/bit_operations.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/src/bit_operations.c
   freeswitch/branches/seven/libs/voipcodecs/src/bitstream.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/src/bitstream.c
   freeswitch/branches/seven/libs/voipcodecs/src/float_fudge.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/src/float_fudge.h
   freeswitch/branches/seven/libs/voipcodecs/src/g711.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/src/g711.c
   freeswitch/branches/seven/libs/voipcodecs/src/g722_decode.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/src/g722_decode.c
   freeswitch/branches/seven/libs/voipcodecs/src/g722_encode.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/src/g722_encode.c
   freeswitch/branches/seven/libs/voipcodecs/src/g726.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/src/g726.c
   freeswitch/branches/seven/libs/voipcodecs/src/gsm0610_decode.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/src/gsm0610_decode.c
   freeswitch/branches/seven/libs/voipcodecs/src/gsm0610_encode.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/src/gsm0610_encode.c
   freeswitch/branches/seven/libs/voipcodecs/src/gsm0610_local.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/src/gsm0610_local.h
   freeswitch/branches/seven/libs/voipcodecs/src/gsm0610_long_term.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/src/gsm0610_long_term.c
   freeswitch/branches/seven/libs/voipcodecs/src/gsm0610_lpc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/src/gsm0610_lpc.c
   freeswitch/branches/seven/libs/voipcodecs/src/gsm0610_preprocess.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/src/gsm0610_preprocess.c
   freeswitch/branches/seven/libs/voipcodecs/src/gsm0610_rpe.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/src/gsm0610_rpe.c
   freeswitch/branches/seven/libs/voipcodecs/src/gsm0610_short_term.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/src/gsm0610_short_term.c
   freeswitch/branches/seven/libs/voipcodecs/src/ima_adpcm.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/src/ima_adpcm.c
   freeswitch/branches/seven/libs/voipcodecs/src/libvoipcodecs.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/src/libvoipcodecs.dsp
   freeswitch/branches/seven/libs/voipcodecs/src/libvoipcodecs.sln
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/src/libvoipcodecs.sln
   freeswitch/branches/seven/libs/voipcodecs/src/lpc10_analyse.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/src/lpc10_analyse.c
   freeswitch/branches/seven/libs/voipcodecs/src/lpc10_decode.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/src/lpc10_decode.c
   freeswitch/branches/seven/libs/voipcodecs/src/lpc10_encdecs.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/src/lpc10_encdecs.h
   freeswitch/branches/seven/libs/voipcodecs/src/lpc10_encode.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/src/lpc10_encode.c
   freeswitch/branches/seven/libs/voipcodecs/src/lpc10_placev.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/src/lpc10_placev.c
   freeswitch/branches/seven/libs/voipcodecs/src/lpc10_voicing.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/src/lpc10_voicing.c
   freeswitch/branches/seven/libs/voipcodecs/src/msvc/
      - copied from r11459, /freeswitch/trunk/libs/voipcodecs/src/msvc/
   freeswitch/branches/seven/libs/voipcodecs/src/msvc/gettimeofday.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/src/msvc/gettimeofday.c
   freeswitch/branches/seven/libs/voipcodecs/src/msvc/inttypes.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/src/msvc/inttypes.h
   freeswitch/branches/seven/libs/voipcodecs/src/msvc/msvcproj.foot
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/src/msvc/msvcproj.foot
   freeswitch/branches/seven/libs/voipcodecs/src/msvc/msvcproj.head
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/src/msvc/msvcproj.head
   freeswitch/branches/seven/libs/voipcodecs/src/msvc/sys/
      - copied from r11459, /freeswitch/trunk/libs/voipcodecs/src/msvc/sys/
   freeswitch/branches/seven/libs/voipcodecs/src/msvc/sys/time.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/src/msvc/sys/time.h
   freeswitch/branches/seven/libs/voipcodecs/src/msvc/tgmath.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/src/msvc/tgmath.h
   freeswitch/branches/seven/libs/voipcodecs/src/msvc/unistd.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/src/msvc/unistd.h
   freeswitch/branches/seven/libs/voipcodecs/src/msvc/vc8proj.foot
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/src/msvc/vc8proj.foot
   freeswitch/branches/seven/libs/voipcodecs/src/msvc/vc8proj.head
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/src/msvc/vc8proj.head
   freeswitch/branches/seven/libs/voipcodecs/src/msvc/voipcodecs.def
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/src/msvc/voipcodecs.def
   freeswitch/branches/seven/libs/voipcodecs/src/msvc/voipcodecs.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/src/msvc/voipcodecs.h
   freeswitch/branches/seven/libs/voipcodecs/src/oki_adpcm.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/src/oki_adpcm.c
   freeswitch/branches/seven/libs/voipcodecs/src/vector_int.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/src/vector_int.c
   freeswitch/branches/seven/libs/voipcodecs/src/voipcodecs/
      - copied from r11459, /freeswitch/trunk/libs/voipcodecs/src/voipcodecs/
   freeswitch/branches/seven/libs/voipcodecs/src/voipcodecs.h.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/src/voipcodecs.h.in
   freeswitch/branches/seven/libs/voipcodecs/src/voipcodecs/bit_operations.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/src/voipcodecs/bit_operations.h
   freeswitch/branches/seven/libs/voipcodecs/src/voipcodecs/bitstream.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/src/voipcodecs/bitstream.h
   freeswitch/branches/seven/libs/voipcodecs/src/voipcodecs/dc_restore.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/src/voipcodecs/dc_restore.h
   freeswitch/branches/seven/libs/voipcodecs/src/voipcodecs/g711.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/src/voipcodecs/g711.h
   freeswitch/branches/seven/libs/voipcodecs/src/voipcodecs/g722.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/src/voipcodecs/g722.h
   freeswitch/branches/seven/libs/voipcodecs/src/voipcodecs/g726.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/src/voipcodecs/g726.h
   freeswitch/branches/seven/libs/voipcodecs/src/voipcodecs/gsm0610.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/src/voipcodecs/gsm0610.h
   freeswitch/branches/seven/libs/voipcodecs/src/voipcodecs/ima_adpcm.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/src/voipcodecs/ima_adpcm.h
   freeswitch/branches/seven/libs/voipcodecs/src/voipcodecs/lpc10.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/src/voipcodecs/lpc10.h
   freeswitch/branches/seven/libs/voipcodecs/src/voipcodecs/oki_adpcm.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/src/voipcodecs/oki_adpcm.h
   freeswitch/branches/seven/libs/voipcodecs/src/voipcodecs/telephony.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/src/voipcodecs/telephony.h
   freeswitch/branches/seven/libs/voipcodecs/src/voipcodecs/vector_int.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/src/voipcodecs/vector_int.h
   freeswitch/branches/seven/libs/voipcodecs/src/voipcodecs/version.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/src/voipcodecs/version.h
   freeswitch/branches/seven/libs/voipcodecs/src/voipcodecs/version.h.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/src/voipcodecs/version.h.in
   freeswitch/branches/seven/libs/voipcodecs/tests/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/voipcodecs/tests/
   freeswitch/branches/seven/libs/voipcodecs/tests/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/tests/Makefile.am
   freeswitch/branches/seven/libs/voipcodecs/tests/g711_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/tests/g711_tests.c
   freeswitch/branches/seven/libs/voipcodecs/tests/g722_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/tests/g722_tests.c
   freeswitch/branches/seven/libs/voipcodecs/tests/g726_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/tests/g726_tests.c
   freeswitch/branches/seven/libs/voipcodecs/tests/gsm0610_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/tests/gsm0610_tests.c
   freeswitch/branches/seven/libs/voipcodecs/tests/ima_adpcm_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/tests/ima_adpcm_tests.c
   freeswitch/branches/seven/libs/voipcodecs/tests/lpc10_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/tests/lpc10_tests.c
   freeswitch/branches/seven/libs/voipcodecs/tests/oki_adpcm_tests.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/tests/oki_adpcm_tests.c
   freeswitch/branches/seven/libs/voipcodecs/tests/regression_tests.sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/tests/regression_tests.sh
   freeswitch/branches/seven/libs/voipcodecs/voipcodecs.spec.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/voipcodecs.spec.in
   freeswitch/branches/seven/libs/voipcodecs/wrapper.xsl
      - copied unchanged from r11459, /freeswitch/trunk/libs/voipcodecs/wrapper.xsl
   freeswitch/branches/seven/libs/win32/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/win32/
   freeswitch/branches/seven/libs/win32/Dowload 32khz Sounds.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/Dowload 32khz Sounds.2008.vcproj
   freeswitch/branches/seven/libs/win32/Download 16khz Sounds.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/Download 16khz Sounds.2008.vcproj
   freeswitch/branches/seven/libs/win32/Download 8khz Sounds.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/Download 8khz Sounds.2008.vcproj
   freeswitch/branches/seven/libs/win32/Download FLITE.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/Download FLITE.2008.vcproj
   freeswitch/branches/seven/libs/win32/Download HOWL.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/Download HOWL.2008.vcproj
   freeswitch/branches/seven/libs/win32/Download HOWL.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/Download HOWL.vcproj
   freeswitch/branches/seven/libs/win32/Download LAME.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/Download LAME.2008.vcproj
   freeswitch/branches/seven/libs/win32/Download LIBSHOUT.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/Download LIBSHOUT.2008.vcproj
   freeswitch/branches/seven/libs/win32/Download OGG.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/Download OGG.2008.vcproj
   freeswitch/branches/seven/libs/win32/Download PTHREAD.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/Download PTHREAD.2008.vcproj
   freeswitch/branches/seven/libs/win32/Download PTHREAD.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/Download PTHREAD.vcproj
   freeswitch/branches/seven/libs/win32/Download mpg123.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/Download mpg123.2008.vcproj
   freeswitch/branches/seven/libs/win32/Download pocketsphinx.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/Download pocketsphinx.2008.vcproj
   freeswitch/branches/seven/libs/win32/Download sphinxbase.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/Download sphinxbase.2008.vcproj
   freeswitch/branches/seven/libs/win32/Download sphinxmodel.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/Download sphinxmodel.2008.vcproj
   freeswitch/branches/seven/libs/win32/Sound_Files/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/win32/Sound_Files/
   freeswitch/branches/seven/libs/win32/Sound_Files/16khz.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/Sound_Files/16khz.2008.vcproj
   freeswitch/branches/seven/libs/win32/Sound_Files/32khz.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/Sound_Files/32khz.2008.vcproj
   freeswitch/branches/seven/libs/win32/Sound_Files/8khz.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/Sound_Files/8khz.2008.vcproj
   freeswitch/branches/seven/libs/win32/apr/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/win32/apr/
   freeswitch/branches/seven/libs/win32/apr-util/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/win32/apr-util/
   freeswitch/branches/seven/libs/win32/apr-util/cleancount
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/apr-util/cleancount
   freeswitch/branches/seven/libs/win32/apr-util/libaprutil.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/apr-util/libaprutil.2008.vcproj
   freeswitch/branches/seven/libs/win32/apr-util/libaprutil.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/apr-util/libaprutil.vcproj
   freeswitch/branches/seven/libs/win32/apr-util/xml.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/apr-util/xml.2008.vcproj
   freeswitch/branches/seven/libs/win32/apr-util/xml.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/apr-util/xml.vcproj
   freeswitch/branches/seven/libs/win32/apr/apr.hw
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/apr/apr.hw
   freeswitch/branches/seven/libs/win32/apr/cleancount
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/apr/cleancount
   freeswitch/branches/seven/libs/win32/apr/libapr.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/apr/libapr.2008.vcproj
   freeswitch/branches/seven/libs/win32/apr/libapr.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/apr/libapr.vcproj
   freeswitch/branches/seven/libs/win32/curl/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/win32/curl/
   freeswitch/branches/seven/libs/win32/curl/ca-bundle.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/curl/ca-bundle.h
   freeswitch/branches/seven/libs/win32/curl/cleancount
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/curl/cleancount
   freeswitch/branches/seven/libs/win32/curl/curllib.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/curl/curllib.2008.vcproj
   freeswitch/branches/seven/libs/win32/curl/curllib.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/curl/curllib.vcproj
   freeswitch/branches/seven/libs/win32/flite/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/win32/flite/
   freeswitch/branches/seven/libs/win32/flite/flite.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/flite/flite.2008.vcproj
   freeswitch/branches/seven/libs/win32/howl/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/win32/howl/
   freeswitch/branches/seven/libs/win32/howl/cleancount
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/howl/cleancount
   freeswitch/branches/seven/libs/win32/howl/libhowl.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/howl/libhowl.2008.vcproj
   freeswitch/branches/seven/libs/win32/howl/libhowl.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/howl/libhowl.vcproj
   freeswitch/branches/seven/libs/win32/howl/libmDNSResponder.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/howl/libmDNSResponder.2008.vcproj
   freeswitch/branches/seven/libs/win32/howl/libmDNSResponder.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/howl/libmDNSResponder.vcproj
   freeswitch/branches/seven/libs/win32/iksemel/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/win32/iksemel/
   freeswitch/branches/seven/libs/win32/iksemel/cleancount
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/iksemel/cleancount
   freeswitch/branches/seven/libs/win32/iksemel/config.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/iksemel/config.h
   freeswitch/branches/seven/libs/win32/iksemel/iksemel.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/iksemel/iksemel.2008.vcproj
   freeswitch/branches/seven/libs/win32/iksemel/iksemel.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/iksemel/iksemel.vcproj
   freeswitch/branches/seven/libs/win32/js/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/win32/js/
   freeswitch/branches/seven/libs/win32/js/cleancount
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/js/cleancount
   freeswitch/branches/seven/libs/win32/js/fdlibm.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/js/fdlibm.vcproj
   freeswitch/branches/seven/libs/win32/js/js.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/js/js.2008.vcproj
   freeswitch/branches/seven/libs/win32/js/js.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/js/js.vcproj
   freeswitch/branches/seven/libs/win32/libg722_1/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/win32/libg722_1/
   freeswitch/branches/seven/libs/win32/libg722_1/libg722_1.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/libg722_1/libg722_1.vcproj
   freeswitch/branches/seven/libs/win32/libmp3lame/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/win32/libmp3lame/
   freeswitch/branches/seven/libs/win32/libmp3lame/config.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/libmp3lame/config.h
   freeswitch/branches/seven/libs/win32/libmp3lame/libmp3lame_vc7.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/libmp3lame/libmp3lame_vc7.vcproj
   freeswitch/branches/seven/libs/win32/libogg/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/win32/libogg/
   freeswitch/branches/seven/libs/win32/libogg/libogg.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/libogg/libogg.2008.vcproj
   freeswitch/branches/seven/libs/win32/libresample/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/win32/libresample/
   freeswitch/branches/seven/libs/win32/libresample/cleancount
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/libresample/cleancount
   freeswitch/branches/seven/libs/win32/libresample/libresample.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/libresample/libresample.2008.vcproj
   freeswitch/branches/seven/libs/win32/libresample/libresample.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/libresample/libresample.vcproj
   freeswitch/branches/seven/libs/win32/libshout/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/win32/libshout/
   freeswitch/branches/seven/libs/win32/libshout/compat.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/libshout/compat.h
   freeswitch/branches/seven/libs/win32/libshout/libshout.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/libshout/libshout.vcproj
   freeswitch/branches/seven/libs/win32/libshout/shout/
      - copied from r11459, /freeswitch/trunk/libs/win32/libshout/shout/
   freeswitch/branches/seven/libs/win32/libshout/shout/shout.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/libshout/shout/shout.h
   freeswitch/branches/seven/libs/win32/libsndfile/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/win32/libsndfile/
   freeswitch/branches/seven/libs/win32/libsndfile/cleancount
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/libsndfile/cleancount
   freeswitch/branches/seven/libs/win32/libsndfile/common.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/libsndfile/common.c
   freeswitch/branches/seven/libs/win32/libsndfile/config.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/libsndfile/config.h
   freeswitch/branches/seven/libs/win32/libsndfile/libsndfile.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/libsndfile/libsndfile.2008.vcproj
   freeswitch/branches/seven/libs/win32/libsndfile/libsndfile.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/libsndfile/libsndfile.vcproj
   freeswitch/branches/seven/libs/win32/libsndfile/sndfile.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/libsndfile/sndfile.h
   freeswitch/branches/seven/libs/win32/mpg123/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/win32/mpg123/
   freeswitch/branches/seven/libs/win32/mpg123/libmpg123/
      - copied from r11459, /freeswitch/trunk/libs/win32/mpg123/libmpg123/
   freeswitch/branches/seven/libs/win32/mpg123/libmpg123.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/mpg123/libmpg123.2008.vcproj
   freeswitch/branches/seven/libs/win32/mpg123/libmpg123/config.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/mpg123/libmpg123/config.h
   freeswitch/branches/seven/libs/win32/mpg123/libmpg123/mpg123.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/mpg123/libmpg123/mpg123.h
   freeswitch/branches/seven/libs/win32/pcre/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/win32/pcre/
   freeswitch/branches/seven/libs/win32/pcre/cleancount
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/pcre/cleancount
   freeswitch/branches/seven/libs/win32/pcre/config.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/pcre/config.h
   freeswitch/branches/seven/libs/win32/pcre/dftables.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/pcre/dftables.c
   freeswitch/branches/seven/libs/win32/pcre/libpcre.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/pcre/libpcre.2008.vcproj
   freeswitch/branches/seven/libs/win32/pcre/libpcre.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/pcre/libpcre.vcproj
   freeswitch/branches/seven/libs/win32/pcre/pcre_chartables.c.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/pcre/pcre_chartables.c.2008.vcproj
   freeswitch/branches/seven/libs/win32/pcre/pcre_chartables.c.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/pcre/pcre_chartables.c.vcproj
   freeswitch/branches/seven/libs/win32/pocketsphinx/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/win32/pocketsphinx/
   freeswitch/branches/seven/libs/win32/pocketsphinx/pocketsphinx.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/pocketsphinx/pocketsphinx.2008.vcproj
   freeswitch/branches/seven/libs/win32/portaudio/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/win32/portaudio/
   freeswitch/branches/seven/libs/win32/portaudio/PAStaticWMME.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/portaudio/PAStaticWMME.vcproj
   freeswitch/branches/seven/libs/win32/portaudio/cleancount
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/portaudio/cleancount
   freeswitch/branches/seven/libs/win32/pthread/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/win32/pthread/
   freeswitch/branches/seven/libs/win32/pthread/cleancount
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/pthread/cleancount
   freeswitch/branches/seven/libs/win32/pthread/pthread.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/pthread/pthread.2008.vcproj
   freeswitch/branches/seven/libs/win32/pthread/pthread.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/pthread/pthread.vcproj
   freeswitch/branches/seven/libs/win32/sofia/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/win32/sofia/
   freeswitch/branches/seven/libs/win32/sofia/cleancount
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/sofia/cleancount
   freeswitch/branches/seven/libs/win32/sofia/libsofia_sip_ua_static.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/sofia/libsofia_sip_ua_static.2008.vcproj
   freeswitch/branches/seven/libs/win32/sofia/libsofia_sip_ua_static.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/sofia/libsofia_sip_ua_static.vcproj
   freeswitch/branches/seven/libs/win32/speex/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/win32/speex/
   freeswitch/branches/seven/libs/win32/speex/cleancount
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/speex/cleancount
   freeswitch/branches/seven/libs/win32/speex/libspeex.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/speex/libspeex.2008.vcproj
   freeswitch/branches/seven/libs/win32/speex/libspeex.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/speex/libspeex.vcproj
   freeswitch/branches/seven/libs/win32/sphinxbase/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/win32/sphinxbase/
   freeswitch/branches/seven/libs/win32/sphinxbase/sphinxbase.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/sphinxbase/sphinxbase.2008.vcproj
   freeswitch/branches/seven/libs/win32/sqlite/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/win32/sqlite/
   freeswitch/branches/seven/libs/win32/sqlite/cleancount
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/sqlite/cleancount
   freeswitch/branches/seven/libs/win32/sqlite/keywordhash.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/sqlite/keywordhash.h
   freeswitch/branches/seven/libs/win32/sqlite/opcodes.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/sqlite/opcodes.c
   freeswitch/branches/seven/libs/win32/sqlite/opcodes.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/sqlite/opcodes.h
   freeswitch/branches/seven/libs/win32/sqlite/parse.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/sqlite/parse.c
   freeswitch/branches/seven/libs/win32/sqlite/parse.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/sqlite/parse.h
   freeswitch/branches/seven/libs/win32/sqlite/sqlite.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/sqlite/sqlite.2008.vcproj
   freeswitch/branches/seven/libs/win32/sqlite/sqlite.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/sqlite/sqlite.vcproj
   freeswitch/branches/seven/libs/win32/sqlite/sqlite3.def
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/sqlite/sqlite3.def
   freeswitch/branches/seven/libs/win32/sqlite/sqlite3.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/sqlite/sqlite3.h
   freeswitch/branches/seven/libs/win32/udns/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/win32/udns/
   freeswitch/branches/seven/libs/win32/udns/libudns.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/udns/libudns.2008.vcproj
   freeswitch/branches/seven/libs/win32/udns/libudns.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/udns/libudns.vcproj
   freeswitch/branches/seven/libs/win32/util.vbs
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/util.vbs
   freeswitch/branches/seven/libs/win32/xmlrpc/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/win32/xmlrpc/
   freeswitch/branches/seven/libs/win32/xmlrpc/Abyss.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/xmlrpc/Abyss.2008.vcproj
   freeswitch/branches/seven/libs/win32/xmlrpc/Abyss.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/xmlrpc/Abyss.vcproj
   freeswitch/branches/seven/libs/win32/xmlrpc/cleancount
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/xmlrpc/cleancount
   freeswitch/branches/seven/libs/win32/xmlrpc/xmlrpc.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/xmlrpc/xmlrpc.2008.vcproj
   freeswitch/branches/seven/libs/win32/xmlrpc/xmlrpc.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/win32/xmlrpc/xmlrpc.vcproj
   freeswitch/branches/seven/libs/xmlrpc-c/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/xmlrpc-c/
   freeswitch/branches/seven/libs/xmlrpc-c/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/.cvsignore
   freeswitch/branches/seven/libs/xmlrpc-c/.update
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/.update
   freeswitch/branches/seven/libs/xmlrpc-c/GNUmakefile
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/GNUmakefile
   freeswitch/branches/seven/libs/xmlrpc-c/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/Makefile
   freeswitch/branches/seven/libs/xmlrpc-c/Makefile.common
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/Makefile.common
   freeswitch/branches/seven/libs/xmlrpc-c/Makefile.config.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/Makefile.config.in
   freeswitch/branches/seven/libs/xmlrpc-c/Makefile.depend
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/Makefile.depend
   freeswitch/branches/seven/libs/xmlrpc-c/Makefile.srcdir.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/Makefile.srcdir.in
   freeswitch/branches/seven/libs/xmlrpc-c/Makefile.version
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/Makefile.version
   freeswitch/branches/seven/libs/xmlrpc-c/README
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/README
   freeswitch/branches/seven/libs/xmlrpc-c/Windows/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/xmlrpc-c/Windows/
   freeswitch/branches/seven/libs/xmlrpc-c/Windows/CleanAll.bat
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/Windows/CleanAll.bat
   freeswitch/branches/seven/libs/xmlrpc-c/Windows/CleanWin32.bat
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/Windows/CleanWin32.bat
   freeswitch/branches/seven/libs/xmlrpc-c/Windows/ConfigureWin32.bat
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/Windows/ConfigureWin32.bat
   freeswitch/branches/seven/libs/xmlrpc-c/Windows/ReadMeOld.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/Windows/ReadMeOld.txt
   freeswitch/branches/seven/libs/xmlrpc-c/Windows/ReadMeWin32.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/Windows/ReadMeWin32.txt
   freeswitch/branches/seven/libs/xmlrpc-c/Windows/UsingCURLinWin32.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/Windows/UsingCURLinWin32.txt
   freeswitch/branches/seven/libs/xmlrpc-c/Windows/UsingProxyDSP.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/Windows/UsingProxyDSP.txt
   freeswitch/branches/seven/libs/xmlrpc-c/Windows/abyss.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/Windows/abyss.2008.vcproj
   freeswitch/branches/seven/libs/xmlrpc-c/Windows/abyss.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/Windows/abyss.dsp
   freeswitch/branches/seven/libs/xmlrpc-c/Windows/abyss.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/Windows/abyss.vcproj
   freeswitch/branches/seven/libs/xmlrpc-c/Windows/configwin32.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/Windows/configwin32.dsp
   freeswitch/branches/seven/libs/xmlrpc-c/Windows/cpptest.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/Windows/cpptest.dsp
   freeswitch/branches/seven/libs/xmlrpc-c/Windows/curllink.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/Windows/curllink.h
   freeswitch/branches/seven/libs/xmlrpc-c/Windows/delsln.bat
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/Windows/delsln.bat
   freeswitch/branches/seven/libs/xmlrpc-c/Windows/diffcfg.bat
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/Windows/diffcfg.bat
   freeswitch/branches/seven/libs/xmlrpc-c/Windows/gennmtab.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/Windows/gennmtab.2008.vcproj
   freeswitch/branches/seven/libs/xmlrpc-c/Windows/gennmtab.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/Windows/gennmtab.dsp
   freeswitch/branches/seven/libs/xmlrpc-c/Windows/gennmtab.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/Windows/gennmtab.vcproj
   freeswitch/branches/seven/libs/xmlrpc-c/Windows/mkvers.bat
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/Windows/mkvers.bat
   freeswitch/branches/seven/libs/xmlrpc-c/Windows/mkvers1.bat
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/Windows/mkvers1.bat
   freeswitch/branches/seven/libs/xmlrpc-c/Windows/query_meerkat.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/Windows/query_meerkat.dsp
   freeswitch/branches/seven/libs/xmlrpc-c/Windows/rpctest.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/Windows/rpctest.dsp
   freeswitch/branches/seven/libs/xmlrpc-c/Windows/transport_config.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/Windows/transport_config.h
   freeswitch/branches/seven/libs/xmlrpc-c/Windows/transport_config_win32.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/Windows/transport_config_win32.h
   freeswitch/branches/seven/libs/xmlrpc-c/Windows/updcfg.bat
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/Windows/updcfg.bat
   freeswitch/branches/seven/libs/xmlrpc-c/Windows/win32_config.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/Windows/win32_config.h
   freeswitch/branches/seven/libs/xmlrpc-c/Windows/xmlhttpsys.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/Windows/xmlhttpsys.dsp
   freeswitch/branches/seven/libs/xmlrpc-c/Windows/xmlparse.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/Windows/xmlparse.2008.vcproj
   freeswitch/branches/seven/libs/xmlrpc-c/Windows/xmlparse.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/Windows/xmlparse.dsp
   freeswitch/branches/seven/libs/xmlrpc-c/Windows/xmlparse.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/Windows/xmlparse.vcproj
   freeswitch/branches/seven/libs/xmlrpc-c/Windows/xmlrpc-c/
      - copied from r11459, /freeswitch/trunk/libs/xmlrpc-c/Windows/xmlrpc-c/
   freeswitch/branches/seven/libs/xmlrpc-c/Windows/xmlrpc-c/config.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/Windows/xmlrpc-c/config.h
   freeswitch/branches/seven/libs/xmlrpc-c/Windows/xmlrpc.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/Windows/xmlrpc.2008.vcproj
   freeswitch/branches/seven/libs/xmlrpc-c/Windows/xmlrpc.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/Windows/xmlrpc.dsp
   freeswitch/branches/seven/libs/xmlrpc-c/Windows/xmlrpc.dsw
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/Windows/xmlrpc.dsw
   freeswitch/branches/seven/libs/xmlrpc-c/Windows/xmlrpc.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/Windows/xmlrpc.vcproj
   freeswitch/branches/seven/libs/xmlrpc-c/Windows/xmlrpc_config.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/Windows/xmlrpc_config.h
   freeswitch/branches/seven/libs/xmlrpc-c/Windows/xmlrpc_cpp_proxy.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/Windows/xmlrpc_cpp_proxy.dsp
   freeswitch/branches/seven/libs/xmlrpc-c/Windows/xmlrpc_misc.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/Windows/xmlrpc_misc.dsp
   freeswitch/branches/seven/libs/xmlrpc-c/Windows/xmlrpc_sample_add_asynch_client.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/Windows/xmlrpc_sample_add_asynch_client.dsp
   freeswitch/branches/seven/libs/xmlrpc-c/Windows/xmlrpc_sample_add_server.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/Windows/xmlrpc_sample_add_server.dsp
   freeswitch/branches/seven/libs/xmlrpc-c/Windows/xmlrpc_sample_add_server_w32httpsys.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/Windows/xmlrpc_sample_add_server_w32httpsys.dsp
   freeswitch/branches/seven/libs/xmlrpc-c/Windows/xmlrpc_sample_add_sync_client.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/Windows/xmlrpc_sample_add_sync_client.dsp
   freeswitch/branches/seven/libs/xmlrpc-c/Windows/xmlrpc_sample_auth_client.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/Windows/xmlrpc_sample_auth_client.dsp
   freeswitch/branches/seven/libs/xmlrpc-c/Windows/xmlrpc_win32_config.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/Windows/xmlrpc_win32_config.h
   freeswitch/branches/seven/libs/xmlrpc-c/Windows/xmlrpccpp.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/Windows/xmlrpccpp.dsp
   freeswitch/branches/seven/libs/xmlrpc-c/Windows/xmltok.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/Windows/xmltok.2008.vcproj
   freeswitch/branches/seven/libs/xmlrpc-c/Windows/xmltok.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/Windows/xmltok.dsp
   freeswitch/branches/seven/libs/xmlrpc-c/Windows/xmltok.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/Windows/xmltok.vcproj
   freeswitch/branches/seven/libs/xmlrpc-c/common.mk
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/common.mk
   freeswitch/branches/seven/libs/xmlrpc-c/conf/
      - copied from r11459, /freeswitch/trunk/libs/xmlrpc-c/conf/
   freeswitch/branches/seven/libs/xmlrpc-c/conf/abyss_root/
      - copied from r11459, /freeswitch/trunk/libs/xmlrpc-c/conf/abyss_root/
   freeswitch/branches/seven/libs/xmlrpc-c/conf/abyss_root/conf/
      - copied from r11459, /freeswitch/trunk/libs/xmlrpc-c/conf/abyss_root/conf/
   freeswitch/branches/seven/libs/xmlrpc-c/conf/abyss_root/conf/abyss.conf
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/conf/abyss_root/conf/abyss.conf
   freeswitch/branches/seven/libs/xmlrpc-c/conf/abyss_root/conf/mime.types
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/conf/abyss_root/conf/mime.types
   freeswitch/branches/seven/libs/xmlrpc-c/conf/abyss_root/htdocs/
      - copied from r11459, /freeswitch/trunk/libs/xmlrpc-c/conf/abyss_root/htdocs/
   freeswitch/branches/seven/libs/xmlrpc-c/conf/abyss_root/htdocs/index.htm
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/conf/abyss_root/htdocs/index.htm
   freeswitch/branches/seven/libs/xmlrpc-c/conf/abyss_root/htdocs/pwrabyss.gif
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/conf/abyss_root/htdocs/pwrabyss.gif
   freeswitch/branches/seven/libs/xmlrpc-c/config.mk.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/config.mk.in
   freeswitch/branches/seven/libs/xmlrpc-c/configure.gnu
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/configure.gnu
   freeswitch/branches/seven/libs/xmlrpc-c/configure.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/configure.in
   freeswitch/branches/seven/libs/xmlrpc-c/debian/
      - copied from r11459, /freeswitch/trunk/libs/xmlrpc-c/debian/
   freeswitch/branches/seven/libs/xmlrpc-c/debian/README.Debian
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/debian/README.Debian
   freeswitch/branches/seven/libs/xmlrpc-c/debian/changelog
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/debian/changelog
   freeswitch/branches/seven/libs/xmlrpc-c/debian/control
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/debian/control
   freeswitch/branches/seven/libs/xmlrpc-c/debian/copyright
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/debian/copyright
   freeswitch/branches/seven/libs/xmlrpc-c/debian/postinst
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/debian/postinst
   freeswitch/branches/seven/libs/xmlrpc-c/debian/postrm
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/debian/postrm
   freeswitch/branches/seven/libs/xmlrpc-c/debian/rules
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/debian/rules
   freeswitch/branches/seven/libs/xmlrpc-c/debian/xmlrpc-c-apps.files
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/debian/xmlrpc-c-apps.files
   freeswitch/branches/seven/libs/xmlrpc-c/debian/xmlrpc-c-dev.files
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/debian/xmlrpc-c-dev.files
   freeswitch/branches/seven/libs/xmlrpc-c/debian/xmlrpc-c0.docs
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/debian/xmlrpc-c0.docs
   freeswitch/branches/seven/libs/xmlrpc-c/debian/xmlrpc-c0.examples
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/debian/xmlrpc-c0.examples
   freeswitch/branches/seven/libs/xmlrpc-c/debian/xmlrpc-c0.files
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/debian/xmlrpc-c0.files
   freeswitch/branches/seven/libs/xmlrpc-c/dll-common.make
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/dll-common.make
   freeswitch/branches/seven/libs/xmlrpc-c/doc/
      - copied from r11459, /freeswitch/trunk/libs/xmlrpc-c/doc/
   freeswitch/branches/seven/libs/xmlrpc-c/doc/COPYING
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/doc/COPYING
   freeswitch/branches/seven/libs/xmlrpc-c/doc/CREDITS
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/doc/CREDITS
   freeswitch/branches/seven/libs/xmlrpc-c/doc/DEVELOPING
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/doc/DEVELOPING
   freeswitch/branches/seven/libs/xmlrpc-c/doc/HISTORY
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/doc/HISTORY
   freeswitch/branches/seven/libs/xmlrpc-c/doc/INSTALL
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/doc/INSTALL
   freeswitch/branches/seven/libs/xmlrpc-c/doc/SECURITY
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/doc/SECURITY
   freeswitch/branches/seven/libs/xmlrpc-c/doc/TESTING
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/doc/TESTING
   freeswitch/branches/seven/libs/xmlrpc-c/doc/TODO
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/doc/TODO
   freeswitch/branches/seven/libs/xmlrpc-c/doc/configure_doc
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/doc/configure_doc
   freeswitch/branches/seven/libs/xmlrpc-c/dylib-common.make
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/dylib-common.make
   freeswitch/branches/seven/libs/xmlrpc-c/examples/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/xmlrpc-c/examples/
   freeswitch/branches/seven/libs/xmlrpc-c/examples/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/examples/.cvsignore
   freeswitch/branches/seven/libs/xmlrpc-c/examples/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/examples/Makefile
   freeswitch/branches/seven/libs/xmlrpc-c/examples/README
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/examples/README
   freeswitch/branches/seven/libs/xmlrpc-c/examples/auth_client.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/examples/auth_client.c
   freeswitch/branches/seven/libs/xmlrpc-c/examples/cpp/
      - copied from r11459, /freeswitch/trunk/libs/xmlrpc-c/examples/cpp/
   freeswitch/branches/seven/libs/xmlrpc-c/examples/cpp/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/examples/cpp/.cvsignore
   freeswitch/branches/seven/libs/xmlrpc-c/examples/cpp/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/examples/cpp/Makefile
   freeswitch/branches/seven/libs/xmlrpc-c/examples/cpp/asynch_client.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/examples/cpp/asynch_client.cpp
   freeswitch/branches/seven/libs/xmlrpc-c/examples/cpp/meerkat-app-list.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/examples/cpp/meerkat-app-list.cpp
   freeswitch/branches/seven/libs/xmlrpc-c/examples/cpp/pstream_client.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/examples/cpp/pstream_client.cpp
   freeswitch/branches/seven/libs/xmlrpc-c/examples/cpp/pstream_inetd_server.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/examples/cpp/pstream_inetd_server.cpp
   freeswitch/branches/seven/libs/xmlrpc-c/examples/cpp/sample_add_client_complex.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/examples/cpp/sample_add_client_complex.cpp
   freeswitch/branches/seven/libs/xmlrpc-c/examples/cpp/xmlrpc_inetd_server.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/examples/cpp/xmlrpc_inetd_server.cpp
   freeswitch/branches/seven/libs/xmlrpc-c/examples/cpp/xmlrpc_loop_server.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/examples/cpp/xmlrpc_loop_server.cpp
   freeswitch/branches/seven/libs/xmlrpc-c/examples/cpp/xmlrpc_sample_add_client.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/examples/cpp/xmlrpc_sample_add_client.cpp
   freeswitch/branches/seven/libs/xmlrpc-c/examples/cpp/xmlrpc_sample_add_server.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/examples/cpp/xmlrpc_sample_add_server.cpp
   freeswitch/branches/seven/libs/xmlrpc-c/examples/gen_sample_add_xml.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/examples/gen_sample_add_xml.c
   freeswitch/branches/seven/libs/xmlrpc-c/examples/interrupted_client.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/examples/interrupted_client.c
   freeswitch/branches/seven/libs/xmlrpc-c/examples/interrupted_server.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/examples/interrupted_server.c
   freeswitch/branches/seven/libs/xmlrpc-c/examples/query-meerkat.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/examples/query-meerkat.c
   freeswitch/branches/seven/libs/xmlrpc-c/examples/synch_client.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/examples/synch_client.c
   freeswitch/branches/seven/libs/xmlrpc-c/examples/xmlrpc_asynch_client.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/examples/xmlrpc_asynch_client.c
   freeswitch/branches/seven/libs/xmlrpc-c/examples/xmlrpc_inetd_server.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/examples/xmlrpc_inetd_server.c
   freeswitch/branches/seven/libs/xmlrpc-c/examples/xmlrpc_loop_server.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/examples/xmlrpc_loop_server.c
   freeswitch/branches/seven/libs/xmlrpc-c/examples/xmlrpc_sample_add_client.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/examples/xmlrpc_sample_add_client.c
   freeswitch/branches/seven/libs/xmlrpc-c/examples/xmlrpc_sample_add_server.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/examples/xmlrpc_sample_add_server.c
   freeswitch/branches/seven/libs/xmlrpc-c/examples/xmlrpc_sample_add_server_cgi.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/examples/xmlrpc_sample_add_server_cgi.c
   freeswitch/branches/seven/libs/xmlrpc-c/examples/xmlrpc_sample_add_server_w32httpsys.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/examples/xmlrpc_sample_add_server_w32httpsys.c
   freeswitch/branches/seven/libs/xmlrpc-c/examples/xmlrpc_server_validatee.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/examples/xmlrpc_server_validatee.c
   freeswitch/branches/seven/libs/xmlrpc-c/examples/xmlrpc_socket_server.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/examples/xmlrpc_socket_server.c
   freeswitch/branches/seven/libs/xmlrpc-c/include/
      - copied from r11459, /freeswitch/trunk/libs/xmlrpc-c/include/
   freeswitch/branches/seven/libs/xmlrpc-c/include/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/include/Makefile
   freeswitch/branches/seven/libs/xmlrpc-c/include/xmlrpc-c/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/xmlrpc-c/include/xmlrpc-c/
   freeswitch/branches/seven/libs/xmlrpc-c/include/xmlrpc-c/abyss.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/include/xmlrpc-c/abyss.h
   freeswitch/branches/seven/libs/xmlrpc-c/include/xmlrpc-c/abyss_opensslsock.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/include/xmlrpc-c/abyss_opensslsock.h
   freeswitch/branches/seven/libs/xmlrpc-c/include/xmlrpc-c/abyss_unixsock.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/include/xmlrpc-c/abyss_unixsock.h
   freeswitch/branches/seven/libs/xmlrpc-c/include/xmlrpc-c/abyss_winsock.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/include/xmlrpc-c/abyss_winsock.h
   freeswitch/branches/seven/libs/xmlrpc-c/include/xmlrpc-c/base.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/include/xmlrpc-c/base.h
   freeswitch/branches/seven/libs/xmlrpc-c/include/xmlrpc-c/base.hpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/include/xmlrpc-c/base.hpp
   freeswitch/branches/seven/libs/xmlrpc-c/include/xmlrpc-c/base64.hpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/include/xmlrpc-c/base64.hpp
   freeswitch/branches/seven/libs/xmlrpc-c/include/xmlrpc-c/base_int.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/include/xmlrpc-c/base_int.h
   freeswitch/branches/seven/libs/xmlrpc-c/include/xmlrpc-c/c_util.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/include/xmlrpc-c/c_util.h
   freeswitch/branches/seven/libs/xmlrpc-c/include/xmlrpc-c/client.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/include/xmlrpc-c/client.h
   freeswitch/branches/seven/libs/xmlrpc-c/include/xmlrpc-c/client.hpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/include/xmlrpc-c/client.hpp
   freeswitch/branches/seven/libs/xmlrpc-c/include/xmlrpc-c/client_global.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/include/xmlrpc-c/client_global.h
   freeswitch/branches/seven/libs/xmlrpc-c/include/xmlrpc-c/client_int.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/include/xmlrpc-c/client_int.h
   freeswitch/branches/seven/libs/xmlrpc-c/include/xmlrpc-c/client_simple.hpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/include/xmlrpc-c/client_simple.hpp
   freeswitch/branches/seven/libs/xmlrpc-c/include/xmlrpc-c/client_transport.hpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/include/xmlrpc-c/client_transport.hpp
   freeswitch/branches/seven/libs/xmlrpc-c/include/xmlrpc-c/config.h.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/include/xmlrpc-c/config.h.in
   freeswitch/branches/seven/libs/xmlrpc-c/include/xmlrpc-c/girerr.hpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/include/xmlrpc-c/girerr.hpp
   freeswitch/branches/seven/libs/xmlrpc-c/include/xmlrpc-c/girmem.hpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/include/xmlrpc-c/girmem.hpp
   freeswitch/branches/seven/libs/xmlrpc-c/include/xmlrpc-c/inttypes.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/include/xmlrpc-c/inttypes.h
   freeswitch/branches/seven/libs/xmlrpc-c/include/xmlrpc-c/oldcppwrapper.hpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/include/xmlrpc-c/oldcppwrapper.hpp
   freeswitch/branches/seven/libs/xmlrpc-c/include/xmlrpc-c/oldxmlrpc.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/include/xmlrpc-c/oldxmlrpc.h
   freeswitch/branches/seven/libs/xmlrpc-c/include/xmlrpc-c/packetsocket.hpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/include/xmlrpc-c/packetsocket.hpp
   freeswitch/branches/seven/libs/xmlrpc-c/include/xmlrpc-c/registry.hpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/include/xmlrpc-c/registry.hpp
   freeswitch/branches/seven/libs/xmlrpc-c/include/xmlrpc-c/select_int.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/include/xmlrpc-c/select_int.h
   freeswitch/branches/seven/libs/xmlrpc-c/include/xmlrpc-c/server.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/include/xmlrpc-c/server.h
   freeswitch/branches/seven/libs/xmlrpc-c/include/xmlrpc-c/server_abyss.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/include/xmlrpc-c/server_abyss.h
   freeswitch/branches/seven/libs/xmlrpc-c/include/xmlrpc-c/server_abyss.hpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/include/xmlrpc-c/server_abyss.hpp
   freeswitch/branches/seven/libs/xmlrpc-c/include/xmlrpc-c/server_cgi.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/include/xmlrpc-c/server_cgi.h
   freeswitch/branches/seven/libs/xmlrpc-c/include/xmlrpc-c/server_pstream.hpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/include/xmlrpc-c/server_pstream.hpp
   freeswitch/branches/seven/libs/xmlrpc-c/include/xmlrpc-c/server_w32httpsys.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/include/xmlrpc-c/server_w32httpsys.h
   freeswitch/branches/seven/libs/xmlrpc-c/include/xmlrpc-c/sleep_int.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/include/xmlrpc-c/sleep_int.h
   freeswitch/branches/seven/libs/xmlrpc-c/include/xmlrpc-c/string_int.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/include/xmlrpc-c/string_int.h
   freeswitch/branches/seven/libs/xmlrpc-c/include/xmlrpc-c/time_int.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/include/xmlrpc-c/time_int.h
   freeswitch/branches/seven/libs/xmlrpc-c/include/xmlrpc-c/timeout.hpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/include/xmlrpc-c/timeout.hpp
   freeswitch/branches/seven/libs/xmlrpc-c/include/xmlrpc-c/transport.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/include/xmlrpc-c/transport.h
   freeswitch/branches/seven/libs/xmlrpc-c/include/xmlrpc-c/transport_int.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/include/xmlrpc-c/transport_int.h
   freeswitch/branches/seven/libs/xmlrpc-c/include/xmlrpc-c/util.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/include/xmlrpc-c/util.h
   freeswitch/branches/seven/libs/xmlrpc-c/include/xmlrpc-c/util_int.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/include/xmlrpc-c/util_int.h
   freeswitch/branches/seven/libs/xmlrpc-c/include/xmlrpc-c/xml.hpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/include/xmlrpc-c/xml.hpp
   freeswitch/branches/seven/libs/xmlrpc-c/include/xmlrpc-c/xmlparser.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/include/xmlrpc-c/xmlparser.h
   freeswitch/branches/seven/libs/xmlrpc-c/install-sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/install-sh
   freeswitch/branches/seven/libs/xmlrpc-c/irix-common.make
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/irix-common.make
   freeswitch/branches/seven/libs/xmlrpc-c/lib/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/
   freeswitch/branches/seven/libs/xmlrpc-c/lib/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/Makefile
   freeswitch/branches/seven/libs/xmlrpc-c/lib/Makefile.depend
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/Makefile.depend
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/
      - copied from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/.cvsignore
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/HISTORY
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/HISTORY
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/Makefile
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/Makefile.depend
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/Makefile.depend
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/README
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/README
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/change.log
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/change.log
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/conf/
      - copied from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/conf/
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/conf/abyss.conf
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/conf/abyss.conf
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/conf/mime.types
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/conf/mime.types
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/example/
      - copied from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/example/
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/example/conf/
      - copied from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/example/conf/
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/example/conf/abyss.conf
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/example/conf/abyss.conf
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/example/conf/mime.types
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/example/conf/mime.types
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/example/htdocs/
      - copied from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/example/htdocs/
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/example/htdocs/index.htm
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/example/htdocs/index.htm
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/example/htdocs/pwrabyss.gif
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/example/htdocs/pwrabyss.gif
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/htdocs/
      - copied from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/htdocs/
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/htdocs/index.htm
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/htdocs/index.htm
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/htdocs/pwrabyss.gif
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/htdocs/pwrabyss.gif
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/license.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/license.txt
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/patch_notes.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/patch_notes.txt
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/readme.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/readme.txt
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/src/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/src/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/.cvsignore
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/src/Abyss.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/Abyss.dsp
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/src/Abyss.dsw
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/Abyss.dsw
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/src/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/Makefile
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/src/Makefile.depend
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/Makefile.depend
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/src/abyss_info.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/abyss_info.h
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/src/channel.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/channel.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/src/channel.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/channel.h
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/src/chanswitch.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/chanswitch.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/src/chanswitch.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/chanswitch.h
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/src/conf.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/conf.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/src/conn.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/conn.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/src/conn.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/conn.h
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/src/data.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/data.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/src/data.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/data.h
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/src/date.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/date.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/src/date.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/date.h
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/src/file.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/file.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/src/file.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/file.h
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/src/handler.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/handler.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/src/handler.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/handler.h
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/src/http.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/http.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/src/http.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/http.h
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/src/init.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/init.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/src/main.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/main.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/src/response.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/response.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/src/server.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/server.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/src/server.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/server.h
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/src/session.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/session.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/src/session.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/session.h
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/src/socket.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/socket.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/src/socket.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/socket.h
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/src/socket_openssl.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/socket_openssl.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/src/socket_unix.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/socket_unix.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/src/socket_unix.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/socket_unix.h
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/src/socket_win.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/socket_win.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/src/socket_win.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/socket_win.h
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/src/thread.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/thread.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/src/thread.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/thread.h
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/src/thread_fork.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/thread_fork.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/src/thread_pthread.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/thread_pthread.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/src/thread_windows.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/thread_windows.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/src/token.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/token.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/src/token.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/token.h
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/src/trace.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/trace.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/src/trace.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/src/trace.h
   freeswitch/branches/seven/libs/xmlrpc-c/lib/abyss/version.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/abyss/version.txt
   freeswitch/branches/seven/libs/xmlrpc-c/lib/curl_transport/
      - copied from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/curl_transport/
   freeswitch/branches/seven/libs/xmlrpc-c/lib/curl_transport/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/curl_transport/Makefile
   freeswitch/branches/seven/libs/xmlrpc-c/lib/curl_transport/Makefile.depend
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/curl_transport/Makefile.depend
   freeswitch/branches/seven/libs/xmlrpc-c/lib/curl_transport/xmlrpc_curl_transport.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/curl_transport/xmlrpc_curl_transport.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/curl_transport/xmlrpc_curl_transport.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/curl_transport/xmlrpc_curl_transport.h
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/.cvsignore
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/Makefile.in
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/expat.dsw
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/expat.dsw
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/expat.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/expat.html
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/gennmtab/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/gennmtab/
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/gennmtab/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/gennmtab/.cvsignore
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/gennmtab/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/gennmtab/Makefile
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/gennmtab/Makefile.depend
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/gennmtab/Makefile.depend
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/gennmtab/gennmtab.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/gennmtab/gennmtab.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/gennmtab/gennmtab.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/gennmtab/gennmtab.dsp
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/sample/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/sample/
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/sample/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/sample/.cvsignore
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/sample/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/sample/Makefile.in
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/sample/build.bat
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/sample/build.bat
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/sample/elements.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/sample/elements.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/xmlparse/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/xmlparse/
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/xmlparse/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/xmlparse/.cvsignore
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/xmlparse/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/xmlparse/Makefile.in
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/xmlparse/xmlparse.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/xmlparse/xmlparse.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/xmlparse/xmlparse.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/xmlparse/xmlparse.dsp
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/xmlparse/xmlparse.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/xmlparse/xmlparse.h
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/xmltok/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/xmltok/
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/xmltok/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/xmltok/.cvsignore
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/xmltok/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/xmltok/Makefile
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/xmltok/Makefile.depend
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/xmltok/Makefile.depend
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/xmltok/ascii.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/xmltok/ascii.h
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/xmltok/asciitab.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/xmltok/asciitab.h
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/xmltok/dllmain.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/xmltok/dllmain.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/xmltok/iasciitab.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/xmltok/iasciitab.h
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/xmltok/latin1tab.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/xmltok/latin1tab.h
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/xmltok/nametab.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/xmltok/nametab.h
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/xmltok/utf8tab.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/xmltok/utf8tab.h
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/xmltok/xmldef.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/xmltok/xmldef.h
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/xmltok/xmlrole.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/xmltok/xmlrole.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/xmltok/xmlrole.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/xmltok/xmlrole.h
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/xmltok/xmltok.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/xmltok/xmltok.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/xmltok/xmltok.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/xmltok/xmltok.dsp
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/xmltok/xmltok.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/xmltok/xmltok.h
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/xmltok/xmltok_impl.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/xmltok/xmltok_impl.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/xmltok/xmltok_impl.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/xmltok/xmltok_impl.h
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/xmltok/xmltok_ns.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/xmltok/xmltok_ns.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/xmlwf/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/xmlwf/
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/xmlwf/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/xmlwf/.cvsignore
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/xmlwf/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/xmlwf/Makefile.in
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/xmlwf/codepage.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/xmlwf/codepage.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/xmlwf/codepage.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/xmlwf/codepage.h
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/xmlwf/filemap.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/xmlwf/filemap.h
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/xmlwf/readfilemap.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/xmlwf/readfilemap.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/xmlwf/unixfilemap.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/xmlwf/unixfilemap.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/xmlwf/win32filemap.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/xmlwf/win32filemap.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/xmlwf/xmlfile.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/xmlwf/xmlfile.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/xmlwf/xmlfile.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/xmlwf/xmlfile.h
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/xmlwf/xmltchar.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/xmlwf/xmltchar.h
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/xmlwf/xmlwf.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/xmlwf/xmlwf.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/expat/xmlwf/xmlwf.dsp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/expat/xmlwf/xmlwf.dsp
   freeswitch/branches/seven/libs/xmlrpc-c/lib/libutil/
      - copied from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/libutil/
   freeswitch/branches/seven/libs/xmlrpc-c/lib/libutil/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/libutil/Makefile
   freeswitch/branches/seven/libs/xmlrpc-c/lib/libutil/asprintf.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/libutil/asprintf.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/libutil/error.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/libutil/error.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/libutil/make_printable.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/libutil/make_printable.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/libutil/memblock.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/libutil/memblock.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/libutil/select.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/libutil/select.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/libutil/sleep.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/libutil/sleep.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/libutil/time.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/libutil/time.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/libutil/utf8.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/libutil/utf8.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/libwww_transport/
      - copied from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/libwww_transport/
   freeswitch/branches/seven/libs/xmlrpc-c/lib/libwww_transport/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/libwww_transport/Makefile
   freeswitch/branches/seven/libs/xmlrpc-c/lib/libwww_transport/Makefile.depend
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/libwww_transport/Makefile.depend
   freeswitch/branches/seven/libs/xmlrpc-c/lib/libwww_transport/xmlrpc_libwww_transport.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/libwww_transport/xmlrpc_libwww_transport.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/libwww_transport/xmlrpc_libwww_transport.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/libwww_transport/xmlrpc_libwww_transport.h
   freeswitch/branches/seven/libs/xmlrpc-c/lib/util/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/util/
   freeswitch/branches/seven/libs/xmlrpc-c/lib/util/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/util/Makefile
   freeswitch/branches/seven/libs/xmlrpc-c/lib/util/Makefile.depend
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/util/Makefile.depend
   freeswitch/branches/seven/libs/xmlrpc-c/lib/util/casprintf.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/util/casprintf.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/util/cmdline_parser.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/util/cmdline_parser.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/util/cmdline_parser_cpp.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/util/cmdline_parser_cpp.cpp
   freeswitch/branches/seven/libs/xmlrpc-c/lib/util/getoptx.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/util/getoptx.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/util/getoptx.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/util/getoptx.h
   freeswitch/branches/seven/libs/xmlrpc-c/lib/util/include/
      - copied from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/util/include/
   freeswitch/branches/seven/libs/xmlrpc-c/lib/util/include/assertx.hpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/util/include/assertx.hpp
   freeswitch/branches/seven/libs/xmlrpc-c/lib/util/include/bool.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/util/include/bool.h
   freeswitch/branches/seven/libs/xmlrpc-c/lib/util/include/c_util.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/util/include/c_util.h
   freeswitch/branches/seven/libs/xmlrpc-c/lib/util/include/casprintf.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/util/include/casprintf.h
   freeswitch/branches/seven/libs/xmlrpc-c/lib/util/include/cmdline_parser.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/util/include/cmdline_parser.h
   freeswitch/branches/seven/libs/xmlrpc-c/lib/util/include/cmdline_parser.hpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/util/include/cmdline_parser.hpp
   freeswitch/branches/seven/libs/xmlrpc-c/lib/util/include/girmath.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/util/include/girmath.h
   freeswitch/branches/seven/libs/xmlrpc-c/lib/util/include/girstring.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/util/include/girstring.h
   freeswitch/branches/seven/libs/xmlrpc-c/lib/util/include/inline.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/util/include/inline.h
   freeswitch/branches/seven/libs/xmlrpc-c/lib/util/include/int.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/util/include/int.h
   freeswitch/branches/seven/libs/xmlrpc-c/lib/util/include/linklist.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/util/include/linklist.h
   freeswitch/branches/seven/libs/xmlrpc-c/lib/util/include/mallocvar.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/util/include/mallocvar.h
   freeswitch/branches/seven/libs/xmlrpc-c/lib/util/include/pthreadx.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/util/include/pthreadx.h
   freeswitch/branches/seven/libs/xmlrpc-c/lib/util/include/sstring.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/util/include/sstring.h
   freeswitch/branches/seven/libs/xmlrpc-c/lib/util/include/stdargx.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/util/include/stdargx.h
   freeswitch/branches/seven/libs/xmlrpc-c/lib/util/include/string_parser.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/util/include/string_parser.h
   freeswitch/branches/seven/libs/xmlrpc-c/lib/util/include/unistdx.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/util/include/unistdx.h
   freeswitch/branches/seven/libs/xmlrpc-c/lib/util/pthreadx_win32.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/util/pthreadx_win32.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/util/string_parser.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/util/string_parser.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/util/stripcaseeq.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/util/stripcaseeq.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/wininet_transport/
      - copied from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/wininet_transport/
   freeswitch/branches/seven/libs/xmlrpc-c/lib/wininet_transport/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/wininet_transport/Makefile
   freeswitch/branches/seven/libs/xmlrpc-c/lib/wininet_transport/xmlrpc_wininet_transport.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/wininet_transport/xmlrpc_wininet_transport.c
   freeswitch/branches/seven/libs/xmlrpc-c/lib/wininet_transport/xmlrpc_wininet_transport.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/lib/wininet_transport/xmlrpc_wininet_transport.h
   freeswitch/branches/seven/libs/xmlrpc-c/ltconfig
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/ltconfig
   freeswitch/branches/seven/libs/xmlrpc-c/missing
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/missing
   freeswitch/branches/seven/libs/xmlrpc-c/mkinstalldirs
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/mkinstalldirs
   freeswitch/branches/seven/libs/xmlrpc-c/src/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/
   freeswitch/branches/seven/libs/xmlrpc-c/src/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/.cvsignore
   freeswitch/branches/seven/libs/xmlrpc-c/src/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/Makefile
   freeswitch/branches/seven/libs/xmlrpc-c/src/Makefile.depend
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/Makefile.depend
   freeswitch/branches/seven/libs/xmlrpc-c/src/cpp/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/cpp/
   freeswitch/branches/seven/libs/xmlrpc-c/src/cpp/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/cpp/.cvsignore
   freeswitch/branches/seven/libs/xmlrpc-c/src/cpp/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/cpp/Makefile
   freeswitch/branches/seven/libs/xmlrpc-c/src/cpp/Makefile.depend
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/cpp/Makefile.depend
   freeswitch/branches/seven/libs/xmlrpc-c/src/cpp/XmlRpcCpp.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/cpp/XmlRpcCpp.cpp
   freeswitch/branches/seven/libs/xmlrpc-c/src/cpp/base64.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/cpp/base64.cpp
   freeswitch/branches/seven/libs/xmlrpc-c/src/cpp/client.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/cpp/client.cpp
   freeswitch/branches/seven/libs/xmlrpc-c/src/cpp/client_simple.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/cpp/client_simple.cpp
   freeswitch/branches/seven/libs/xmlrpc-c/src/cpp/cpptest.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/cpp/cpptest.cpp
   freeswitch/branches/seven/libs/xmlrpc-c/src/cpp/curl.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/cpp/curl.cpp
   freeswitch/branches/seven/libs/xmlrpc-c/src/cpp/env_wrap.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/cpp/env_wrap.cpp
   freeswitch/branches/seven/libs/xmlrpc-c/src/cpp/env_wrap.hpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/cpp/env_wrap.hpp
   freeswitch/branches/seven/libs/xmlrpc-c/src/cpp/fault.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/cpp/fault.cpp
   freeswitch/branches/seven/libs/xmlrpc-c/src/cpp/girerr.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/cpp/girerr.cpp
   freeswitch/branches/seven/libs/xmlrpc-c/src/cpp/girmem.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/cpp/girmem.cpp
   freeswitch/branches/seven/libs/xmlrpc-c/src/cpp/libwww.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/cpp/libwww.cpp
   freeswitch/branches/seven/libs/xmlrpc-c/src/cpp/outcome.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/cpp/outcome.cpp
   freeswitch/branches/seven/libs/xmlrpc-c/src/cpp/packetsocket.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/cpp/packetsocket.cpp
   freeswitch/branches/seven/libs/xmlrpc-c/src/cpp/param_list.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/cpp/param_list.cpp
   freeswitch/branches/seven/libs/xmlrpc-c/src/cpp/pstream.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/cpp/pstream.cpp
   freeswitch/branches/seven/libs/xmlrpc-c/src/cpp/registry.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/cpp/registry.cpp
   freeswitch/branches/seven/libs/xmlrpc-c/src/cpp/server_abyss.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/cpp/server_abyss.cpp
   freeswitch/branches/seven/libs/xmlrpc-c/src/cpp/server_pstream.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/cpp/server_pstream.cpp
   freeswitch/branches/seven/libs/xmlrpc-c/src/cpp/test/
      - copied from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/cpp/test/
   freeswitch/branches/seven/libs/xmlrpc-c/src/cpp/test/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/cpp/test/Makefile
   freeswitch/branches/seven/libs/xmlrpc-c/src/cpp/test/registry.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/cpp/test/registry.cpp
   freeswitch/branches/seven/libs/xmlrpc-c/src/cpp/test/registry.hpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/cpp/test/registry.hpp
   freeswitch/branches/seven/libs/xmlrpc-c/src/cpp/test/server_abyss.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/cpp/test/server_abyss.cpp
   freeswitch/branches/seven/libs/xmlrpc-c/src/cpp/test/server_abyss.hpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/cpp/test/server_abyss.hpp
   freeswitch/branches/seven/libs/xmlrpc-c/src/cpp/test/server_pstream.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/cpp/test/server_pstream.cpp
   freeswitch/branches/seven/libs/xmlrpc-c/src/cpp/test/server_pstream.hpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/cpp/test/server_pstream.hpp
   freeswitch/branches/seven/libs/xmlrpc-c/src/cpp/test/test.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/cpp/test/test.cpp
   freeswitch/branches/seven/libs/xmlrpc-c/src/cpp/test/testclient.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/cpp/test/testclient.cpp
   freeswitch/branches/seven/libs/xmlrpc-c/src/cpp/test/testclient.hpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/cpp/test/testclient.hpp
   freeswitch/branches/seven/libs/xmlrpc-c/src/cpp/test/testclient_dummy.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/cpp/test/testclient_dummy.cpp
   freeswitch/branches/seven/libs/xmlrpc-c/src/cpp/test/tools.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/cpp/test/tools.cpp
   freeswitch/branches/seven/libs/xmlrpc-c/src/cpp/test/tools.hpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/cpp/test/tools.hpp
   freeswitch/branches/seven/libs/xmlrpc-c/src/cpp/value.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/cpp/value.cpp
   freeswitch/branches/seven/libs/xmlrpc-c/src/cpp/wininet.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/cpp/wininet.cpp
   freeswitch/branches/seven/libs/xmlrpc-c/src/cpp/xml.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/cpp/xml.cpp
   freeswitch/branches/seven/libs/xmlrpc-c/src/double.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/double.c
   freeswitch/branches/seven/libs/xmlrpc-c/src/double.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/double.h
   freeswitch/branches/seven/libs/xmlrpc-c/src/method.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/method.c
   freeswitch/branches/seven/libs/xmlrpc-c/src/method.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/method.h
   freeswitch/branches/seven/libs/xmlrpc-c/src/parse_value.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/parse_value.c
   freeswitch/branches/seven/libs/xmlrpc-c/src/parse_value.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/parse_value.h
   freeswitch/branches/seven/libs/xmlrpc-c/src/registry.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/registry.c
   freeswitch/branches/seven/libs/xmlrpc-c/src/registry.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/registry.h
   freeswitch/branches/seven/libs/xmlrpc-c/src/resource.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/resource.c
   freeswitch/branches/seven/libs/xmlrpc-c/src/system_method.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/system_method.c
   freeswitch/branches/seven/libs/xmlrpc-c/src/system_method.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/system_method.h
   freeswitch/branches/seven/libs/xmlrpc-c/src/test/
      - copied from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/test/
   freeswitch/branches/seven/libs/xmlrpc-c/src/test/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/test/.cvsignore
   freeswitch/branches/seven/libs/xmlrpc-c/src/test/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/test/Makefile
   freeswitch/branches/seven/libs/xmlrpc-c/src/test/abyss.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/test/abyss.c
   freeswitch/branches/seven/libs/xmlrpc-c/src/test/abyss.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/test/abyss.h
   freeswitch/branches/seven/libs/xmlrpc-c/src/test/cgi.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/test/cgi.c
   freeswitch/branches/seven/libs/xmlrpc-c/src/test/cgi.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/test/cgi.h
   freeswitch/branches/seven/libs/xmlrpc-c/src/test/cgitest1.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/test/cgitest1.c
   freeswitch/branches/seven/libs/xmlrpc-c/src/test/client.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/test/client.c
   freeswitch/branches/seven/libs/xmlrpc-c/src/test/client.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/test/client.h
   freeswitch/branches/seven/libs/xmlrpc-c/src/test/client_dummy.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/test/client_dummy.c
   freeswitch/branches/seven/libs/xmlrpc-c/src/test/data/
      - copied from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/test/data/
   freeswitch/branches/seven/libs/xmlrpc-c/src/test/data/req_no_params.xml
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/test/data/req_no_params.xml
   freeswitch/branches/seven/libs/xmlrpc-c/src/test/data/req_out_of_order.xml
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/test/data/req_out_of_order.xml
   freeswitch/branches/seven/libs/xmlrpc-c/src/test/data/req_value_name.xml
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/test/data/req_value_name.xml
   freeswitch/branches/seven/libs/xmlrpc-c/src/test/data/sample_add_call.xml
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/test/data/sample_add_call.xml
   freeswitch/branches/seven/libs/xmlrpc-c/src/test/eftest_wrapper.sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/test/eftest_wrapper.sh
   freeswitch/branches/seven/libs/xmlrpc-c/src/test/http-req-simple.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/test/http-req-simple.txt
   freeswitch/branches/seven/libs/xmlrpc-c/src/test/method_registry.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/test/method_registry.c
   freeswitch/branches/seven/libs/xmlrpc-c/src/test/method_registry.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/test/method_registry.h
   freeswitch/branches/seven/libs/xmlrpc-c/src/test/parse_xml.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/test/parse_xml.c
   freeswitch/branches/seven/libs/xmlrpc-c/src/test/parse_xml.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/test/parse_xml.h
   freeswitch/branches/seven/libs/xmlrpc-c/src/test/req_no_params.xml
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/test/req_no_params.xml
   freeswitch/branches/seven/libs/xmlrpc-c/src/test/req_out_of_order.xml
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/test/req_out_of_order.xml
   freeswitch/branches/seven/libs/xmlrpc-c/src/test/req_value_name.xml
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/test/req_value_name.xml
   freeswitch/branches/seven/libs/xmlrpc-c/src/test/sample_add_call.xml
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/test/sample_add_call.xml
   freeswitch/branches/seven/libs/xmlrpc-c/src/test/serialize.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/test/serialize.c
   freeswitch/branches/seven/libs/xmlrpc-c/src/test/serialize.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/test/serialize.h
   freeswitch/branches/seven/libs/xmlrpc-c/src/test/serialize_value.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/test/serialize_value.c
   freeswitch/branches/seven/libs/xmlrpc-c/src/test/serialize_value.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/test/serialize_value.h
   freeswitch/branches/seven/libs/xmlrpc-c/src/test/server_abyss.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/test/server_abyss.c
   freeswitch/branches/seven/libs/xmlrpc-c/src/test/server_abyss.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/test/server_abyss.h
   freeswitch/branches/seven/libs/xmlrpc-c/src/test/test.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/test/test.c
   freeswitch/branches/seven/libs/xmlrpc-c/src/test/test.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/test/test.h
   freeswitch/branches/seven/libs/xmlrpc-c/src/test/value.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/test/value.c
   freeswitch/branches/seven/libs/xmlrpc-c/src/test/value.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/test/value.h
   freeswitch/branches/seven/libs/xmlrpc-c/src/test/xml_data.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/test/xml_data.c
   freeswitch/branches/seven/libs/xmlrpc-c/src/test/xml_data.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/test/xml_data.h
   freeswitch/branches/seven/libs/xmlrpc-c/src/trace.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/trace.c
   freeswitch/branches/seven/libs/xmlrpc-c/src/version.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/version.c
   freeswitch/branches/seven/libs/xmlrpc-c/src/xmlrpc_array.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/xmlrpc_array.c
   freeswitch/branches/seven/libs/xmlrpc-c/src/xmlrpc_authcookie.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/xmlrpc_authcookie.c
   freeswitch/branches/seven/libs/xmlrpc-c/src/xmlrpc_base64.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/xmlrpc_base64.c
   freeswitch/branches/seven/libs/xmlrpc-c/src/xmlrpc_build.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/xmlrpc_build.c
   freeswitch/branches/seven/libs/xmlrpc-c/src/xmlrpc_builddecomp.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/xmlrpc_builddecomp.c
   freeswitch/branches/seven/libs/xmlrpc-c/src/xmlrpc_client.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/xmlrpc_client.c
   freeswitch/branches/seven/libs/xmlrpc-c/src/xmlrpc_client_global.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/xmlrpc_client_global.c
   freeswitch/branches/seven/libs/xmlrpc-c/src/xmlrpc_data.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/xmlrpc_data.c
   freeswitch/branches/seven/libs/xmlrpc-c/src/xmlrpc_datetime.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/xmlrpc_datetime.c
   freeswitch/branches/seven/libs/xmlrpc-c/src/xmlrpc_decompose.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/xmlrpc_decompose.c
   freeswitch/branches/seven/libs/xmlrpc-c/src/xmlrpc_expat.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/xmlrpc_expat.c
   freeswitch/branches/seven/libs/xmlrpc-c/src/xmlrpc_libxml2.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/xmlrpc_libxml2.c
   freeswitch/branches/seven/libs/xmlrpc-c/src/xmlrpc_parse.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/xmlrpc_parse.c
   freeswitch/branches/seven/libs/xmlrpc-c/src/xmlrpc_registry.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/xmlrpc_registry.c
   freeswitch/branches/seven/libs/xmlrpc-c/src/xmlrpc_serialize.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/xmlrpc_serialize.c
   freeswitch/branches/seven/libs/xmlrpc-c/src/xmlrpc_server_abyss.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/xmlrpc_server_abyss.c
   freeswitch/branches/seven/libs/xmlrpc-c/src/xmlrpc_server_cgi.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/xmlrpc_server_cgi.c
   freeswitch/branches/seven/libs/xmlrpc-c/src/xmlrpc_server_info.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/xmlrpc_server_info.c
   freeswitch/branches/seven/libs/xmlrpc-c/src/xmlrpc_server_w32httpsys.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/xmlrpc_server_w32httpsys.c
   freeswitch/branches/seven/libs/xmlrpc-c/src/xmlrpc_string.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/xmlrpc_string.c
   freeswitch/branches/seven/libs/xmlrpc-c/src/xmlrpc_struct.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/xmlrpc_struct.c
   freeswitch/branches/seven/libs/xmlrpc-c/src/xmlrpc_strutil.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/xmlrpc_strutil.c
   freeswitch/branches/seven/libs/xmlrpc-c/src/xmlrpc_support.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/xmlrpc_support.c
   freeswitch/branches/seven/libs/xmlrpc-c/src/xmlrpc_transport.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/xmlrpc_transport.c
   freeswitch/branches/seven/libs/xmlrpc-c/src/xmlrpc_utf8.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/src/xmlrpc_utf8.c
   freeswitch/branches/seven/libs/xmlrpc-c/stamp-h.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/stamp-h.in
   freeswitch/branches/seven/libs/xmlrpc-c/tools/
      - copied from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/
   freeswitch/branches/seven/libs/xmlrpc-c/tools/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/.cvsignore
   freeswitch/branches/seven/libs/xmlrpc-c/tools/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/Makefile
   freeswitch/branches/seven/libs/xmlrpc-c/tools/Makefile.common
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/Makefile.common
   freeswitch/branches/seven/libs/xmlrpc-c/tools/binmode-rpc-kit/
      - copied from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/binmode-rpc-kit/
   freeswitch/branches/seven/libs/xmlrpc-c/tools/binmode-rpc-kit/COPYING
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/binmode-rpc-kit/COPYING
   freeswitch/branches/seven/libs/xmlrpc-c/tools/binmode-rpc-kit/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/binmode-rpc-kit/Makefile
   freeswitch/branches/seven/libs/xmlrpc-c/tools/binmode-rpc-kit/README
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/binmode-rpc-kit/README
   freeswitch/branches/seven/libs/xmlrpc-c/tools/binmode-rpc-kit/binmode-rpc-rfc.txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/binmode-rpc-kit/binmode-rpc-rfc.txt
   freeswitch/branches/seven/libs/xmlrpc-c/tools/binmode-rpc-kit/binmode-rpc2xml-rpc
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/binmode-rpc-kit/binmode-rpc2xml-rpc
   freeswitch/branches/seven/libs/xmlrpc-c/tools/binmode-rpc-kit/examples/
      - copied from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/binmode-rpc-kit/examples/
   freeswitch/branches/seven/libs/xmlrpc-c/tools/binmode-rpc-kit/examples/good-1.binmode
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/binmode-rpc-kit/examples/good-1.binmode
   freeswitch/branches/seven/libs/xmlrpc-c/tools/binmode-rpc-kit/examples/good-1.xml
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/binmode-rpc-kit/examples/good-1.xml
   freeswitch/branches/seven/libs/xmlrpc-c/tools/binmode-rpc-kit/examples/good-2.binmode
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/binmode-rpc-kit/examples/good-2.binmode
   freeswitch/branches/seven/libs/xmlrpc-c/tools/binmode-rpc-kit/examples/good-2.xml
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/binmode-rpc-kit/examples/good-2.xml
   freeswitch/branches/seven/libs/xmlrpc-c/tools/binmode-rpc-kit/examples/good-3.binmode
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/binmode-rpc-kit/examples/good-3.binmode
   freeswitch/branches/seven/libs/xmlrpc-c/tools/binmode-rpc-kit/examples/good-3.xml
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/binmode-rpc-kit/examples/good-3.xml
   freeswitch/branches/seven/libs/xmlrpc-c/tools/binmode-rpc-kit/examples/good-4.binmode
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/binmode-rpc-kit/examples/good-4.binmode
   freeswitch/branches/seven/libs/xmlrpc-c/tools/binmode-rpc-kit/examples/good-4.xml
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/binmode-rpc-kit/examples/good-4.xml
   freeswitch/branches/seven/libs/xmlrpc-c/tools/binmode-rpc-kit/examples/good-5.binmode
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/binmode-rpc-kit/examples/good-5.binmode
   freeswitch/branches/seven/libs/xmlrpc-c/tools/binmode-rpc-kit/examples/good-5.xml
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/binmode-rpc-kit/examples/good-5.xml
   freeswitch/branches/seven/libs/xmlrpc-c/tools/binmode-rpc-kit/examples/good-6.binmode
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/binmode-rpc-kit/examples/good-6.binmode
   freeswitch/branches/seven/libs/xmlrpc-c/tools/binmode-rpc-kit/examples/good-6.xml
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/binmode-rpc-kit/examples/good-6.xml
   freeswitch/branches/seven/libs/xmlrpc-c/tools/binmode-rpc-kit/examples/invalid-1.binmode
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/binmode-rpc-kit/examples/invalid-1.binmode
   freeswitch/branches/seven/libs/xmlrpc-c/tools/binmode-rpc-kit/examples/invalid-2.binmode
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/binmode-rpc-kit/examples/invalid-2.binmode
   freeswitch/branches/seven/libs/xmlrpc-c/tools/binmode-rpc-kit/examples/invalid-3.binmode
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/binmode-rpc-kit/examples/invalid-3.binmode
   freeswitch/branches/seven/libs/xmlrpc-c/tools/binmode-rpc-kit/examples/invalid-4.binmode
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/binmode-rpc-kit/examples/invalid-4.binmode
   freeswitch/branches/seven/libs/xmlrpc-c/tools/binmode-rpc-kit/examples/invalid-5.binmode
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/binmode-rpc-kit/examples/invalid-5.binmode
   freeswitch/branches/seven/libs/xmlrpc-c/tools/binmode-rpc-kit/oct2bin
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/binmode-rpc-kit/oct2bin
   freeswitch/branches/seven/libs/xmlrpc-c/tools/common.mk
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/common.mk
   freeswitch/branches/seven/libs/xmlrpc-c/tools/interop-server/
      - copied from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/interop-server/
   freeswitch/branches/seven/libs/xmlrpc-c/tools/interop-server/interop-cgi.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/interop-server/interop-cgi.c
   freeswitch/branches/seven/libs/xmlrpc-c/tools/lib/
      - copied from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/lib/
   freeswitch/branches/seven/libs/xmlrpc-c/tools/lib/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/lib/Makefile
   freeswitch/branches/seven/libs/xmlrpc-c/tools/lib/dumpvalue.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/lib/dumpvalue.c
   freeswitch/branches/seven/libs/xmlrpc-c/tools/lib/include/
      - copied from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/lib/include/
   freeswitch/branches/seven/libs/xmlrpc-c/tools/lib/include/dumpvalue.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/lib/include/dumpvalue.h
   freeswitch/branches/seven/libs/xmlrpc-c/tools/perl_packetsocket/
      - copied from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/perl_packetsocket/
   freeswitch/branches/seven/libs/xmlrpc-c/tools/perl_packetsocket/PacketSocket.pm
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/perl_packetsocket/PacketSocket.pm
   freeswitch/branches/seven/libs/xmlrpc-c/tools/turbocharger/
      - copied from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/turbocharger/
   freeswitch/branches/seven/libs/xmlrpc-c/tools/turbocharger/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/turbocharger/.cvsignore
   freeswitch/branches/seven/libs/xmlrpc-c/tools/turbocharger/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/turbocharger/Makefile
   freeswitch/branches/seven/libs/xmlrpc-c/tools/turbocharger/README
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/turbocharger/README
   freeswitch/branches/seven/libs/xmlrpc-c/tools/turbocharger/mod_gzip.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/turbocharger/mod_gzip.c
   freeswitch/branches/seven/libs/xmlrpc-c/tools/turbocharger/mod_gzip.c.diff
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/turbocharger/mod_gzip.c.diff
   freeswitch/branches/seven/libs/xmlrpc-c/tools/xml-rpc-api2cpp/
      - copied from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/xml-rpc-api2cpp/
   freeswitch/branches/seven/libs/xmlrpc-c/tools/xml-rpc-api2cpp/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/xml-rpc-api2cpp/.cvsignore
   freeswitch/branches/seven/libs/xmlrpc-c/tools/xml-rpc-api2cpp/DataType.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/xml-rpc-api2cpp/DataType.cpp
   freeswitch/branches/seven/libs/xmlrpc-c/tools/xml-rpc-api2cpp/DataType.hpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/xml-rpc-api2cpp/DataType.hpp
   freeswitch/branches/seven/libs/xmlrpc-c/tools/xml-rpc-api2cpp/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/xml-rpc-api2cpp/Makefile
   freeswitch/branches/seven/libs/xmlrpc-c/tools/xml-rpc-api2cpp/Makefile.depend
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/xml-rpc-api2cpp/Makefile.depend
   freeswitch/branches/seven/libs/xmlrpc-c/tools/xml-rpc-api2cpp/README
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/xml-rpc-api2cpp/README
   freeswitch/branches/seven/libs/xmlrpc-c/tools/xml-rpc-api2cpp/SystemProxy.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/xml-rpc-api2cpp/SystemProxy.cpp
   freeswitch/branches/seven/libs/xmlrpc-c/tools/xml-rpc-api2cpp/SystemProxy.hpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/xml-rpc-api2cpp/SystemProxy.hpp
   freeswitch/branches/seven/libs/xmlrpc-c/tools/xml-rpc-api2cpp/XmlRpcClass.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/xml-rpc-api2cpp/XmlRpcClass.cpp
   freeswitch/branches/seven/libs/xmlrpc-c/tools/xml-rpc-api2cpp/XmlRpcClass.hpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/xml-rpc-api2cpp/XmlRpcClass.hpp
   freeswitch/branches/seven/libs/xmlrpc-c/tools/xml-rpc-api2cpp/XmlRpcFunction.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/xml-rpc-api2cpp/XmlRpcFunction.cpp
   freeswitch/branches/seven/libs/xmlrpc-c/tools/xml-rpc-api2cpp/XmlRpcFunction.hpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/xml-rpc-api2cpp/XmlRpcFunction.hpp
   freeswitch/branches/seven/libs/xmlrpc-c/tools/xml-rpc-api2cpp/xml-rpc-api2cpp.1
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/xml-rpc-api2cpp/xml-rpc-api2cpp.1
   freeswitch/branches/seven/libs/xmlrpc-c/tools/xml-rpc-api2cpp/xml-rpc-api2cpp.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/xml-rpc-api2cpp/xml-rpc-api2cpp.cpp
   freeswitch/branches/seven/libs/xmlrpc-c/tools/xml-rpc-api2txt
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/xml-rpc-api2txt
   freeswitch/branches/seven/libs/xmlrpc-c/tools/xml-rpc-api2txt.1
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/xml-rpc-api2txt.1
   freeswitch/branches/seven/libs/xmlrpc-c/tools/xmlrpc/
      - copied from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/xmlrpc/
   freeswitch/branches/seven/libs/xmlrpc-c/tools/xmlrpc/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/xmlrpc/.cvsignore
   freeswitch/branches/seven/libs/xmlrpc-c/tools/xmlrpc/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/xmlrpc/Makefile
   freeswitch/branches/seven/libs/xmlrpc-c/tools/xmlrpc/Makefile.depend
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/xmlrpc/Makefile.depend
   freeswitch/branches/seven/libs/xmlrpc-c/tools/xmlrpc/xmlrpc.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/xmlrpc/xmlrpc.c
   freeswitch/branches/seven/libs/xmlrpc-c/tools/xmlrpc/xmlrpc.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/xmlrpc/xmlrpc.html
   freeswitch/branches/seven/libs/xmlrpc-c/tools/xmlrpc_cpp_proxy/
      - copied from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/xmlrpc_cpp_proxy/
   freeswitch/branches/seven/libs/xmlrpc-c/tools/xmlrpc_cpp_proxy/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/xmlrpc_cpp_proxy/Makefile
   freeswitch/branches/seven/libs/xmlrpc-c/tools/xmlrpc_cpp_proxy/proxyClass.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/xmlrpc_cpp_proxy/proxyClass.cpp
   freeswitch/branches/seven/libs/xmlrpc-c/tools/xmlrpc_cpp_proxy/proxyClass.hpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/xmlrpc_cpp_proxy/proxyClass.hpp
   freeswitch/branches/seven/libs/xmlrpc-c/tools/xmlrpc_cpp_proxy/systemProxy.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/xmlrpc_cpp_proxy/systemProxy.cpp
   freeswitch/branches/seven/libs/xmlrpc-c/tools/xmlrpc_cpp_proxy/systemProxy.hpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/xmlrpc_cpp_proxy/systemProxy.hpp
   freeswitch/branches/seven/libs/xmlrpc-c/tools/xmlrpc_cpp_proxy/xmlrpcMethod.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/xmlrpc_cpp_proxy/xmlrpcMethod.cpp
   freeswitch/branches/seven/libs/xmlrpc-c/tools/xmlrpc_cpp_proxy/xmlrpcMethod.hpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/xmlrpc_cpp_proxy/xmlrpcMethod.hpp
   freeswitch/branches/seven/libs/xmlrpc-c/tools/xmlrpc_cpp_proxy/xmlrpcType.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/xmlrpc_cpp_proxy/xmlrpcType.cpp
   freeswitch/branches/seven/libs/xmlrpc-c/tools/xmlrpc_cpp_proxy/xmlrpcType.hpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/xmlrpc_cpp_proxy/xmlrpcType.hpp
   freeswitch/branches/seven/libs/xmlrpc-c/tools/xmlrpc_cpp_proxy/xmlrpc_cpp_proxy.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/xmlrpc_cpp_proxy/xmlrpc_cpp_proxy.cpp
   freeswitch/branches/seven/libs/xmlrpc-c/tools/xmlrpc_pstream/
      - copied from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/xmlrpc_pstream/
   freeswitch/branches/seven/libs/xmlrpc-c/tools/xmlrpc_pstream/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/xmlrpc_pstream/Makefile
   freeswitch/branches/seven/libs/xmlrpc-c/tools/xmlrpc_pstream/test
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/xmlrpc_pstream/test
   freeswitch/branches/seven/libs/xmlrpc-c/tools/xmlrpc_pstream/xmlrpc_pstream.cpp
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/xmlrpc_pstream/xmlrpc_pstream.cpp
   freeswitch/branches/seven/libs/xmlrpc-c/tools/xmlrpc_pstream/xmlrpc_pstream.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/xmlrpc_pstream/xmlrpc_pstream.html
   freeswitch/branches/seven/libs/xmlrpc-c/tools/xmlrpc_transport/
      - copied from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/xmlrpc_transport/
   freeswitch/branches/seven/libs/xmlrpc-c/tools/xmlrpc_transport/.cvsignore
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/xmlrpc_transport/.cvsignore
   freeswitch/branches/seven/libs/xmlrpc-c/tools/xmlrpc_transport/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/xmlrpc_transport/Makefile
   freeswitch/branches/seven/libs/xmlrpc-c/tools/xmlrpc_transport/Makefile.depend
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/xmlrpc_transport/Makefile.depend
   freeswitch/branches/seven/libs/xmlrpc-c/tools/xmlrpc_transport/xmlrpc_transport
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/xmlrpc_transport/xmlrpc_transport
   freeswitch/branches/seven/libs/xmlrpc-c/tools/xmlrpc_transport/xmlrpc_transport.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/xmlrpc_transport/xmlrpc_transport.c
   freeswitch/branches/seven/libs/xmlrpc-c/tools/xmlrpc_transport/xmlrpc_transport.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/tools/xmlrpc_transport/xmlrpc_transport.html
   freeswitch/branches/seven/libs/xmlrpc-c/transport_config.make
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/transport_config.make
   freeswitch/branches/seven/libs/xmlrpc-c/unix-common.make
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/unix-common.make
   freeswitch/branches/seven/libs/xmlrpc-c/version.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/version.h
   freeswitch/branches/seven/libs/xmlrpc-c/xmlrpc-c-config.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/xmlrpc-c-config.in
   freeswitch/branches/seven/libs/xmlrpc-c/xmlrpc-c-config.main
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/xmlrpc-c-config.main
   freeswitch/branches/seven/libs/xmlrpc-c/xmlrpc-c-config.test.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/xmlrpc-c-config.test.in
   freeswitch/branches/seven/libs/xmlrpc-c/xmlrpc-c-config.test.main
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/xmlrpc-c-config.test.main
   freeswitch/branches/seven/libs/xmlrpc-c/xmlrpc_amconfig.h.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/xmlrpc_amconfig.h.in
   freeswitch/branches/seven/libs/xmlrpc-c/xmlrpc_config.h.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/xmlrpc-c/xmlrpc_config.h.in
   freeswitch/branches/seven/libs/yaml/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/yaml/
   freeswitch/branches/seven/libs/yaml/LICENSE
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/LICENSE
   freeswitch/branches/seven/libs/yaml/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/Makefile.am
   freeswitch/branches/seven/libs/yaml/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/Makefile.in
   freeswitch/branches/seven/libs/yaml/README
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/README
   freeswitch/branches/seven/libs/yaml/aclocal.m4
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/aclocal.m4
   freeswitch/branches/seven/libs/yaml/config/
      - copied from r11459, /freeswitch/trunk/libs/yaml/config/
   freeswitch/branches/seven/libs/yaml/config.h.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/config.h.in
   freeswitch/branches/seven/libs/yaml/config/config.guess
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/config/config.guess
   freeswitch/branches/seven/libs/yaml/config/config.sub
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/config/config.sub
   freeswitch/branches/seven/libs/yaml/config/depcomp
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/config/depcomp
   freeswitch/branches/seven/libs/yaml/config/install-sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/config/install-sh
   freeswitch/branches/seven/libs/yaml/config/ltmain.sh
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/config/ltmain.sh
   freeswitch/branches/seven/libs/yaml/config/missing
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/config/missing
   freeswitch/branches/seven/libs/yaml/configure
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/configure
   freeswitch/branches/seven/libs/yaml/configure.ac
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/configure.ac
   freeswitch/branches/seven/libs/yaml/doc/
      - copied from r11459, /freeswitch/trunk/libs/yaml/doc/
   freeswitch/branches/seven/libs/yaml/doc/doxygen.cfg
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/doxygen.cfg
   freeswitch/branches/seven/libs/yaml/doc/html/
      - copied from r11459, /freeswitch/trunk/libs/yaml/doc/html/
   freeswitch/branches/seven/libs/yaml/doc/html/annotated.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/annotated.html
   freeswitch/branches/seven/libs/yaml/doc/html/doxygen.css
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/doxygen.css
   freeswitch/branches/seven/libs/yaml/doc/html/doxygen.png
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/doxygen.png
   freeswitch/branches/seven/libs/yaml/doc/html/files.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/files.html
   freeswitch/branches/seven/libs/yaml/doc/html/functions.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/functions.html
   freeswitch/branches/seven/libs/yaml/doc/html/functions_0x62.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/functions_0x62.html
   freeswitch/branches/seven/libs/yaml/doc/html/functions_0x63.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/functions_0x63.html
   freeswitch/branches/seven/libs/yaml/doc/html/functions_0x64.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/functions_0x64.html
   freeswitch/branches/seven/libs/yaml/doc/html/functions_0x65.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/functions_0x65.html
   freeswitch/branches/seven/libs/yaml/doc/html/functions_0x66.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/functions_0x66.html
   freeswitch/branches/seven/libs/yaml/doc/html/functions_0x68.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/functions_0x68.html
   freeswitch/branches/seven/libs/yaml/doc/html/functions_0x69.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/functions_0x69.html
   freeswitch/branches/seven/libs/yaml/doc/html/functions_0x6b.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/functions_0x6b.html
   freeswitch/branches/seven/libs/yaml/doc/html/functions_0x6c.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/functions_0x6c.html
   freeswitch/branches/seven/libs/yaml/doc/html/functions_0x6d.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/functions_0x6d.html
   freeswitch/branches/seven/libs/yaml/doc/html/functions_0x6e.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/functions_0x6e.html
   freeswitch/branches/seven/libs/yaml/doc/html/functions_0x6f.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/functions_0x6f.html
   freeswitch/branches/seven/libs/yaml/doc/html/functions_0x70.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/functions_0x70.html
   freeswitch/branches/seven/libs/yaml/doc/html/functions_0x71.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/functions_0x71.html
   freeswitch/branches/seven/libs/yaml/doc/html/functions_0x72.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/functions_0x72.html
   freeswitch/branches/seven/libs/yaml/doc/html/functions_0x73.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/functions_0x73.html
   freeswitch/branches/seven/libs/yaml/doc/html/functions_0x74.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/functions_0x74.html
   freeswitch/branches/seven/libs/yaml/doc/html/functions_0x75.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/functions_0x75.html
   freeswitch/branches/seven/libs/yaml/doc/html/functions_0x76.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/functions_0x76.html
   freeswitch/branches/seven/libs/yaml/doc/html/functions_0x77.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/functions_0x77.html
   freeswitch/branches/seven/libs/yaml/doc/html/functions_vars.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/functions_vars.html
   freeswitch/branches/seven/libs/yaml/doc/html/functions_vars_0x62.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/functions_vars_0x62.html
   freeswitch/branches/seven/libs/yaml/doc/html/functions_vars_0x63.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/functions_vars_0x63.html
   freeswitch/branches/seven/libs/yaml/doc/html/functions_vars_0x64.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/functions_vars_0x64.html
   freeswitch/branches/seven/libs/yaml/doc/html/functions_vars_0x65.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/functions_vars_0x65.html
   freeswitch/branches/seven/libs/yaml/doc/html/functions_vars_0x66.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/functions_vars_0x66.html
   freeswitch/branches/seven/libs/yaml/doc/html/functions_vars_0x68.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/functions_vars_0x68.html
   freeswitch/branches/seven/libs/yaml/doc/html/functions_vars_0x69.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/functions_vars_0x69.html
   freeswitch/branches/seven/libs/yaml/doc/html/functions_vars_0x6b.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/functions_vars_0x6b.html
   freeswitch/branches/seven/libs/yaml/doc/html/functions_vars_0x6c.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/functions_vars_0x6c.html
   freeswitch/branches/seven/libs/yaml/doc/html/functions_vars_0x6d.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/functions_vars_0x6d.html
   freeswitch/branches/seven/libs/yaml/doc/html/functions_vars_0x6e.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/functions_vars_0x6e.html
   freeswitch/branches/seven/libs/yaml/doc/html/functions_vars_0x6f.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/functions_vars_0x6f.html
   freeswitch/branches/seven/libs/yaml/doc/html/functions_vars_0x70.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/functions_vars_0x70.html
   freeswitch/branches/seven/libs/yaml/doc/html/functions_vars_0x71.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/functions_vars_0x71.html
   freeswitch/branches/seven/libs/yaml/doc/html/functions_vars_0x72.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/functions_vars_0x72.html
   freeswitch/branches/seven/libs/yaml/doc/html/functions_vars_0x73.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/functions_vars_0x73.html
   freeswitch/branches/seven/libs/yaml/doc/html/functions_vars_0x74.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/functions_vars_0x74.html
   freeswitch/branches/seven/libs/yaml/doc/html/functions_vars_0x75.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/functions_vars_0x75.html
   freeswitch/branches/seven/libs/yaml/doc/html/functions_vars_0x76.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/functions_vars_0x76.html
   freeswitch/branches/seven/libs/yaml/doc/html/functions_vars_0x77.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/functions_vars_0x77.html
   freeswitch/branches/seven/libs/yaml/doc/html/globals.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/globals.html
   freeswitch/branches/seven/libs/yaml/doc/html/globals_eval.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/globals_eval.html
   freeswitch/branches/seven/libs/yaml/doc/html/globals_func.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/globals_func.html
   freeswitch/branches/seven/libs/yaml/doc/html/globals_type.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/globals_type.html
   freeswitch/branches/seven/libs/yaml/doc/html/group__basic.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/group__basic.html
   freeswitch/branches/seven/libs/yaml/doc/html/group__emitter.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/group__emitter.html
   freeswitch/branches/seven/libs/yaml/doc/html/group__events.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/group__events.html
   freeswitch/branches/seven/libs/yaml/doc/html/group__export.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/group__export.html
   freeswitch/branches/seven/libs/yaml/doc/html/group__nodes.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/group__nodes.html
   freeswitch/branches/seven/libs/yaml/doc/html/group__parser.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/group__parser.html
   freeswitch/branches/seven/libs/yaml/doc/html/group__styles.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/group__styles.html
   freeswitch/branches/seven/libs/yaml/doc/html/group__tokens.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/group__tokens.html
   freeswitch/branches/seven/libs/yaml/doc/html/group__version.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/group__version.html
   freeswitch/branches/seven/libs/yaml/doc/html/index.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/index.html
   freeswitch/branches/seven/libs/yaml/doc/html/modules.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/modules.html
   freeswitch/branches/seven/libs/yaml/doc/html/structyaml__alias__data__s.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/structyaml__alias__data__s.html
   freeswitch/branches/seven/libs/yaml/doc/html/structyaml__document__s.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/structyaml__document__s.html
   freeswitch/branches/seven/libs/yaml/doc/html/structyaml__emitter__s.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/structyaml__emitter__s.html
   freeswitch/branches/seven/libs/yaml/doc/html/structyaml__event__s.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/structyaml__event__s.html
   freeswitch/branches/seven/libs/yaml/doc/html/structyaml__mark__s.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/structyaml__mark__s.html
   freeswitch/branches/seven/libs/yaml/doc/html/structyaml__node__pair__s.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/structyaml__node__pair__s.html
   freeswitch/branches/seven/libs/yaml/doc/html/structyaml__node__s.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/structyaml__node__s.html
   freeswitch/branches/seven/libs/yaml/doc/html/structyaml__parser__s.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/structyaml__parser__s.html
   freeswitch/branches/seven/libs/yaml/doc/html/structyaml__simple__key__s.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/structyaml__simple__key__s.html
   freeswitch/branches/seven/libs/yaml/doc/html/structyaml__tag__directive__s.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/structyaml__tag__directive__s.html
   freeswitch/branches/seven/libs/yaml/doc/html/structyaml__token__s.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/structyaml__token__s.html
   freeswitch/branches/seven/libs/yaml/doc/html/structyaml__version__directive__s.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/structyaml__version__directive__s.html
   freeswitch/branches/seven/libs/yaml/doc/html/tab_b.gif
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/tab_b.gif
   freeswitch/branches/seven/libs/yaml/doc/html/tab_l.gif
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/tab_l.gif
   freeswitch/branches/seven/libs/yaml/doc/html/tab_r.gif
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/tab_r.gif
   freeswitch/branches/seven/libs/yaml/doc/html/tabs.css
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/tabs.css
   freeswitch/branches/seven/libs/yaml/doc/html/yaml_8h.html
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/doc/html/yaml_8h.html
   freeswitch/branches/seven/libs/yaml/include/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/yaml/include/
   freeswitch/branches/seven/libs/yaml/include/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/include/Makefile.am
   freeswitch/branches/seven/libs/yaml/include/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/include/Makefile.in
   freeswitch/branches/seven/libs/yaml/include/yaml.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/include/yaml.h
   freeswitch/branches/seven/libs/yaml/src/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/yaml/src/
   freeswitch/branches/seven/libs/yaml/src/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/src/Makefile.am
   freeswitch/branches/seven/libs/yaml/src/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/src/Makefile.in
   freeswitch/branches/seven/libs/yaml/src/api.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/src/api.c
   freeswitch/branches/seven/libs/yaml/src/dumper.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/src/dumper.c
   freeswitch/branches/seven/libs/yaml/src/emitter.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/src/emitter.c
   freeswitch/branches/seven/libs/yaml/src/loader.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/src/loader.c
   freeswitch/branches/seven/libs/yaml/src/parser.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/src/parser.c
   freeswitch/branches/seven/libs/yaml/src/reader.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/src/reader.c
   freeswitch/branches/seven/libs/yaml/src/scanner.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/src/scanner.c
   freeswitch/branches/seven/libs/yaml/src/writer.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/src/writer.c
   freeswitch/branches/seven/libs/yaml/src/yaml_private.h
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/src/yaml_private.h
   freeswitch/branches/seven/libs/yaml/tests/   (props changed)
      - copied from r11459, /freeswitch/trunk/libs/yaml/tests/
   freeswitch/branches/seven/libs/yaml/tests/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/tests/Makefile.am
   freeswitch/branches/seven/libs/yaml/tests/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/tests/Makefile.in
   freeswitch/branches/seven/libs/yaml/tests/example-deconstructor-alt.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/tests/example-deconstructor-alt.c
   freeswitch/branches/seven/libs/yaml/tests/example-deconstructor.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/tests/example-deconstructor.c
   freeswitch/branches/seven/libs/yaml/tests/example-reformatter-alt.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/tests/example-reformatter-alt.c
   freeswitch/branches/seven/libs/yaml/tests/example-reformatter.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/tests/example-reformatter.c
   freeswitch/branches/seven/libs/yaml/tests/run-dumper.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/tests/run-dumper.c
   freeswitch/branches/seven/libs/yaml/tests/run-emitter.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/tests/run-emitter.c
   freeswitch/branches/seven/libs/yaml/tests/run-loader.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/tests/run-loader.c
   freeswitch/branches/seven/libs/yaml/tests/run-parser.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/tests/run-parser.c
   freeswitch/branches/seven/libs/yaml/tests/run-scanner.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/tests/run-scanner.c
   freeswitch/branches/seven/libs/yaml/tests/test-reader.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/tests/test-reader.c
   freeswitch/branches/seven/libs/yaml/tests/test-version.c
      - copied unchanged from r11459, /freeswitch/trunk/libs/yaml/tests/test-version.c
   freeswitch/branches/seven/patches/
      - copied from r11459, /freeswitch/trunk/patches/
   freeswitch/branches/seven/scripts/   (props changed)
      - copied from r11459, /freeswitch/trunk/scripts/
   freeswitch/branches/seven/scripts/FreeSWITCH-GizmoConfig.pl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/FreeSWITCH-GizmoConfig.pl
   freeswitch/branches/seven/scripts/Makefile.gram
      - copied unchanged from r11459, /freeswitch/trunk/scripts/Makefile.gram
   freeswitch/branches/seven/scripts/POE-Filter-FSSocket/
      - copied from r11459, /freeswitch/trunk/scripts/POE-Filter-FSSocket/
   freeswitch/branches/seven/scripts/POE-Filter-FSSocket/CHANGES
      - copied unchanged from r11459, /freeswitch/trunk/scripts/POE-Filter-FSSocket/CHANGES
   freeswitch/branches/seven/scripts/POE-Filter-FSSocket/INSTALL
      - copied unchanged from r11459, /freeswitch/trunk/scripts/POE-Filter-FSSocket/INSTALL
   freeswitch/branches/seven/scripts/POE-Filter-FSSocket/LICENSE
      - copied unchanged from r11459, /freeswitch/trunk/scripts/POE-Filter-FSSocket/LICENSE
   freeswitch/branches/seven/scripts/POE-Filter-FSSocket/Makefile.PL
      - copied unchanged from r11459, /freeswitch/trunk/scripts/POE-Filter-FSSocket/Makefile.PL
   freeswitch/branches/seven/scripts/POE-Filter-FSSocket/README
      - copied unchanged from r11459, /freeswitch/trunk/scripts/POE-Filter-FSSocket/README
   freeswitch/branches/seven/scripts/POE-Filter-FSSocket/TODO
      - copied unchanged from r11459, /freeswitch/trunk/scripts/POE-Filter-FSSocket/TODO
   freeswitch/branches/seven/scripts/POE-Filter-FSSocket/examples/
      - copied from r11459, /freeswitch/trunk/scripts/POE-Filter-FSSocket/examples/
   freeswitch/branches/seven/scripts/POE-Filter-FSSocket/examples/fsconsole.pl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/POE-Filter-FSSocket/examples/fsconsole.pl
   freeswitch/branches/seven/scripts/POE-Filter-FSSocket/examples/poetest.pl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/POE-Filter-FSSocket/examples/poetest.pl
   freeswitch/branches/seven/scripts/POE-Filter-FSSocket/lib/
      - copied from r11459, /freeswitch/trunk/scripts/POE-Filter-FSSocket/lib/
   freeswitch/branches/seven/scripts/POE-Filter-FSSocket/lib/POE/
      - copied from r11459, /freeswitch/trunk/scripts/POE-Filter-FSSocket/lib/POE/
   freeswitch/branches/seven/scripts/POE-Filter-FSSocket/lib/POE/Filter/
      - copied from r11459, /freeswitch/trunk/scripts/POE-Filter-FSSocket/lib/POE/Filter/
   freeswitch/branches/seven/scripts/POE-Filter-FSSocket/lib/POE/Filter/FSSocket.pm
      - copied unchanged from r11459, /freeswitch/trunk/scripts/POE-Filter-FSSocket/lib/POE/Filter/FSSocket.pm
   freeswitch/branches/seven/scripts/POE-Filter-FSSocket/t/
      - copied from r11459, /freeswitch/trunk/scripts/POE-Filter-FSSocket/t/
   freeswitch/branches/seven/scripts/POE-Filter-FSSocket/t/01_basic.t
      - copied unchanged from r11459, /freeswitch/trunk/scripts/POE-Filter-FSSocket/t/01_basic.t
   freeswitch/branches/seven/scripts/aadir/
      - copied from r11459, /freeswitch/trunk/scripts/aadir/
   freeswitch/branches/seven/scripts/aadir/README
      - copied unchanged from r11459, /freeswitch/trunk/scripts/aadir/README
   freeswitch/branches/seven/scripts/aadir/aadir.js
      - copied unchanged from r11459, /freeswitch/trunk/scripts/aadir/aadir.js
   freeswitch/branches/seven/scripts/api.js
      - copied unchanged from r11459, /freeswitch/trunk/scripts/api.js
   freeswitch/branches/seven/scripts/api.lua
      - copied unchanged from r11459, /freeswitch/trunk/scripts/api.lua
   freeswitch/branches/seven/scripts/build_freeswitch_svn
      - copied unchanged from r11459, /freeswitch/trunk/scripts/build_freeswitch_svn
   freeswitch/branches/seven/scripts/cdr.sql
      - copied unchanged from r11459, /freeswitch/trunk/scripts/cdr.sql
   freeswitch/branches/seven/scripts/combineconf.pl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/combineconf.pl
   freeswitch/branches/seven/scripts/contrib/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/
   freeswitch/branches/seven/scripts/contrib/Phil/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/Phil/
   freeswitch/branches/seven/scripts/contrib/Phil/pylons/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/Phil/pylons/
   freeswitch/branches/seven/scripts/contrib/dschreiber/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/dschreiber/
   freeswitch/branches/seven/scripts/contrib/dschreiber/mod_nibblebill/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/dschreiber/mod_nibblebill/
   freeswitch/branches/seven/scripts/contrib/dschreiber/mod_nibblebill/mod_nibblebill.c
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/dschreiber/mod_nibblebill/mod_nibblebill.c
   freeswitch/branches/seven/scripts/contrib/dschreiber/mod_nibblebill/nibblebill.conf.xml
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/dschreiber/mod_nibblebill/nibblebill.conf.xml
   freeswitch/branches/seven/scripts/contrib/evildeshi/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/evildeshi/
   freeswitch/branches/seven/scripts/contrib/intralanman/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/intralanman/
   freeswitch/branches/seven/scripts/contrib/intralanman/C/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/intralanman/C/
   freeswitch/branches/seven/scripts/contrib/intralanman/C/lcr/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/intralanman/C/lcr/
   freeswitch/branches/seven/scripts/contrib/intralanman/C/lcr/sql/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/intralanman/C/lcr/sql/
   freeswitch/branches/seven/scripts/contrib/intralanman/C/lcr/sql/mysql-5.0.sql
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/intralanman/C/lcr/sql/mysql-5.0.sql
   freeswitch/branches/seven/scripts/contrib/intralanman/C/lcr/sql/postgres-8.3.sql
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/intralanman/C/lcr/sql/postgres-8.3.sql
   freeswitch/branches/seven/scripts/contrib/intralanman/PHP/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/intralanman/PHP/
   freeswitch/branches/seven/scripts/contrib/intralanman/PHP/fs_curl/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/
   freeswitch/branches/seven/scripts/contrib/intralanman/PHP/fs_curl/configuration/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/
   freeswitch/branches/seven/scripts/contrib/intralanman/PHP/fs_curl/configuration/acl.conf.php
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/acl.conf.php
   freeswitch/branches/seven/scripts/contrib/intralanman/PHP/fs_curl/configuration/conference.conf.php
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/conference.conf.php
   freeswitch/branches/seven/scripts/contrib/intralanman/PHP/fs_curl/configuration/console.conf.php
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/console.conf.php
   freeswitch/branches/seven/scripts/contrib/intralanman/PHP/fs_curl/configuration/dingaling.conf.php
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/dingaling.conf.php
   freeswitch/branches/seven/scripts/contrib/intralanman/PHP/fs_curl/configuration/iax.conf.php
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/iax.conf.php
   freeswitch/branches/seven/scripts/contrib/intralanman/PHP/fs_curl/configuration/ivr.conf.php
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/ivr.conf.php
   freeswitch/branches/seven/scripts/contrib/intralanman/PHP/fs_curl/configuration/limit.conf.php
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/limit.conf.php
   freeswitch/branches/seven/scripts/contrib/intralanman/PHP/fs_curl/configuration/local_stream.conf.php
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/local_stream.conf.php
   freeswitch/branches/seven/scripts/contrib/intralanman/PHP/fs_curl/configuration/post_load_modules.conf.php
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/post_load_modules.conf.php
   freeswitch/branches/seven/scripts/contrib/intralanman/PHP/fs_curl/configuration/rss.conf.php
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/rss.conf.php
   freeswitch/branches/seven/scripts/contrib/intralanman/PHP/fs_curl/configuration/sofia.conf.php
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/sofia.conf.php
   freeswitch/branches/seven/scripts/contrib/intralanman/PHP/fs_curl/configuration/spidermonkey.conf.php
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/spidermonkey.conf.php
   freeswitch/branches/seven/scripts/contrib/intralanman/PHP/fs_curl/configuration/voicemail.conf.php
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/voicemail.conf.php
   freeswitch/branches/seven/scripts/contrib/intralanman/PHP/fs_curl/configuration/xml_cdr.conf.php
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/configuration/xml_cdr.conf.php
   freeswitch/branches/seven/scripts/contrib/intralanman/PHP/fs_curl/dialplan_importer.php
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/dialplan_importer.php
   freeswitch/branches/seven/scripts/contrib/intralanman/PHP/fs_curl/dialplans/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/dialplans/
   freeswitch/branches/seven/scripts/contrib/intralanman/PHP/fs_curl/dialplans/lcr.php
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/dialplans/lcr.php
   freeswitch/branches/seven/scripts/contrib/intralanman/PHP/fs_curl/fs_configuration.php
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/fs_configuration.php
   freeswitch/branches/seven/scripts/contrib/intralanman/PHP/fs_curl/fs_curl.php
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/fs_curl.php
   freeswitch/branches/seven/scripts/contrib/intralanman/PHP/fs_curl/fs_dialplan.php
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/fs_dialplan.php
   freeswitch/branches/seven/scripts/contrib/intralanman/PHP/fs_curl/fs_directory.php
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/fs_directory.php
   freeswitch/branches/seven/scripts/contrib/intralanman/PHP/fs_curl/global_defines.php
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/global_defines.php
   freeswitch/branches/seven/scripts/contrib/intralanman/PHP/fs_curl/index.php
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/index.php
   freeswitch/branches/seven/scripts/contrib/intralanman/PHP/fs_curl/sql/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/sql/
   freeswitch/branches/seven/scripts/contrib/intralanman/PHP/fs_curl/sql/mysql-4.0-with-samples.sql
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/sql/mysql-4.0-with-samples.sql
   freeswitch/branches/seven/scripts/contrib/intralanman/PHP/fs_curl/sql/mysql-4.0.sql
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/sql/mysql-4.0.sql
   freeswitch/branches/seven/scripts/contrib/intralanman/PHP/fs_curl/sql/mysql-5.0-with-samples.sql
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/sql/mysql-5.0-with-samples.sql
   freeswitch/branches/seven/scripts/contrib/intralanman/PHP/fs_curl/sql/mysql-5.0.sql
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_curl/sql/mysql-5.0.sql
   freeswitch/branches/seven/scripts/contrib/intralanman/PHP/fs_sock/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_sock/
   freeswitch/branches/seven/scripts/contrib/intralanman/PHP/fs_sock/fs_sock.php
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_sock/fs_sock.php
   freeswitch/branches/seven/scripts/contrib/intralanman/PHP/fs_sock/socktest.php
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/intralanman/PHP/fs_sock/socktest.php
   freeswitch/branches/seven/scripts/contrib/intralanman/javascript/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/intralanman/javascript/
   freeswitch/branches/seven/scripts/contrib/intralanman/javascript/cnam.js
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/intralanman/javascript/cnam.js
   freeswitch/branches/seven/scripts/contrib/intralanman/perl/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/intralanman/perl/
   freeswitch/branches/seven/scripts/contrib/intralanman/perl/fspb
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/intralanman/perl/fspb
   freeswitch/branches/seven/scripts/contrib/jpalley/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/jpalley/
   freeswitch/branches/seven/scripts/contrib/jpalley/telegraph/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/jpalley/telegraph/
   freeswitch/branches/seven/scripts/contrib/jpalley/telegraph/trunk/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/jpalley/telegraph/trunk/
   freeswitch/branches/seven/scripts/contrib/jpalley/telegraph/trunk/README
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/jpalley/telegraph/trunk/README
   freeswitch/branches/seven/scripts/contrib/jpalley/telegraph/trunk/Rakefile
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/jpalley/telegraph/trunk/Rakefile
   freeswitch/branches/seven/scripts/contrib/jpalley/telegraph/trunk/generators/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/jpalley/telegraph/trunk/generators/
   freeswitch/branches/seven/scripts/contrib/jpalley/telegraph/trunk/generators/voice_events_controller/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/jpalley/telegraph/trunk/generators/voice_events_controller/
   freeswitch/branches/seven/scripts/contrib/jpalley/telegraph/trunk/generators/voice_events_controller/templates/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/jpalley/telegraph/trunk/generators/voice_events_controller/templates/
   freeswitch/branches/seven/scripts/contrib/jpalley/telegraph/trunk/generators/voice_events_controller/templates/routes.rb
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/jpalley/telegraph/trunk/generators/voice_events_controller/templates/routes.rb
   freeswitch/branches/seven/scripts/contrib/jpalley/telegraph/trunk/generators/voice_events_controller/templates/voice_events.rb
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/jpalley/telegraph/trunk/generators/voice_events_controller/templates/voice_events.rb
   freeswitch/branches/seven/scripts/contrib/jpalley/telegraph/trunk/generators/voice_events_controller/voice_events_controller_generator.rb
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/jpalley/telegraph/trunk/generators/voice_events_controller/voice_events_controller_generator.rb
   freeswitch/branches/seven/scripts/contrib/jpalley/telegraph/trunk/generators/voice_model/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/jpalley/telegraph/trunk/generators/voice_model/
   freeswitch/branches/seven/scripts/contrib/jpalley/telegraph/trunk/generators/voice_model/templates/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/jpalley/telegraph/trunk/generators/voice_model/templates/
   freeswitch/branches/seven/scripts/contrib/jpalley/telegraph/trunk/generators/voice_model/templates/model.rb
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/jpalley/telegraph/trunk/generators/voice_model/templates/model.rb
   freeswitch/branches/seven/scripts/contrib/jpalley/telegraph/trunk/generators/voice_model/voice_model_generator.rb
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/jpalley/telegraph/trunk/generators/voice_model/voice_model_generator.rb
   freeswitch/branches/seven/scripts/contrib/jpalley/telegraph/trunk/init.rb
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/jpalley/telegraph/trunk/init.rb
   freeswitch/branches/seven/scripts/contrib/jpalley/telegraph/trunk/install.rb
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/jpalley/telegraph/trunk/install.rb
   freeswitch/branches/seven/scripts/contrib/jpalley/telegraph/trunk/lib/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/jpalley/telegraph/trunk/lib/
   freeswitch/branches/seven/scripts/contrib/jpalley/telegraph/trunk/lib/core/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/jpalley/telegraph/trunk/lib/core/
   freeswitch/branches/seven/scripts/contrib/jpalley/telegraph/trunk/lib/core/logger_overide.rb
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/jpalley/telegraph/trunk/lib/core/logger_overide.rb
   freeswitch/branches/seven/scripts/contrib/jpalley/telegraph/trunk/lib/core/script_base.rb
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/jpalley/telegraph/trunk/lib/core/script_base.rb
   freeswitch/branches/seven/scripts/contrib/jpalley/telegraph/trunk/lib/core/telegraph.rb
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/jpalley/telegraph/trunk/lib/core/telegraph.rb
   freeswitch/branches/seven/scripts/contrib/jpalley/telegraph/trunk/lib/core/voice_events/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/jpalley/telegraph/trunk/lib/core/voice_events/
   freeswitch/branches/seven/scripts/contrib/jpalley/telegraph/trunk/lib/core/voice_events/router.rb
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/jpalley/telegraph/trunk/lib/core/voice_events/router.rb
   freeswitch/branches/seven/scripts/contrib/jpalley/telegraph/trunk/lib/core/voice_events/voice_events_base.rb
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/jpalley/telegraph/trunk/lib/core/voice_events/voice_events_base.rb
   freeswitch/branches/seven/scripts/contrib/jpalley/telegraph/trunk/lib/core/voice_view/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/jpalley/telegraph/trunk/lib/core/voice_view/
   freeswitch/branches/seven/scripts/contrib/jpalley/telegraph/trunk/lib/core/voice_view/action_controller_extensions.rb
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/jpalley/telegraph/trunk/lib/core/voice_view/action_controller_extensions.rb
   freeswitch/branches/seven/scripts/contrib/jpalley/telegraph/trunk/lib/core/voice_view/dispatcher.rb
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/jpalley/telegraph/trunk/lib/core/voice_view/dispatcher.rb
   freeswitch/branches/seven/scripts/contrib/jpalley/telegraph/trunk/lib/core/voice_view/interface.rb
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/jpalley/telegraph/trunk/lib/core/voice_view/interface.rb
   freeswitch/branches/seven/scripts/contrib/jpalley/telegraph/trunk/lib/core/voice_view/request.rb
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/jpalley/telegraph/trunk/lib/core/voice_view/request.rb
   freeswitch/branches/seven/scripts/contrib/jpalley/telegraph/trunk/lib/core/voice_view/response.rb
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/jpalley/telegraph/trunk/lib/core/voice_view/response.rb
   freeswitch/branches/seven/scripts/contrib/jpalley/telegraph/trunk/lib/core/voice_view/template.rb
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/jpalley/telegraph/trunk/lib/core/voice_view/template.rb
   freeswitch/branches/seven/scripts/contrib/jpalley/telegraph/trunk/lib/freeswitch/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/jpalley/telegraph/trunk/lib/freeswitch/
   freeswitch/branches/seven/scripts/contrib/jpalley/telegraph/trunk/lib/freeswitch/voice_events_server.rb
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/jpalley/telegraph/trunk/lib/freeswitch/voice_events_server.rb
   freeswitch/branches/seven/scripts/contrib/jpalley/telegraph/trunk/lib/freeswitch/voice_model/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/jpalley/telegraph/trunk/lib/freeswitch/voice_model/
   freeswitch/branches/seven/scripts/contrib/jpalley/telegraph/trunk/lib/freeswitch/voice_model/voice_channel_model.rb
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/jpalley/telegraph/trunk/lib/freeswitch/voice_model/voice_channel_model.rb
   freeswitch/branches/seven/scripts/contrib/jpalley/telegraph/trunk/lib/freeswitch/voice_model/voice_conference_model.rb
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/jpalley/telegraph/trunk/lib/freeswitch/voice_model/voice_conference_model.rb
   freeswitch/branches/seven/scripts/contrib/jpalley/telegraph/trunk/lib/freeswitch/voice_model/voice_connector.rb
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/jpalley/telegraph/trunk/lib/freeswitch/voice_model/voice_connector.rb
   freeswitch/branches/seven/scripts/contrib/jpalley/telegraph/trunk/lib/freeswitch/voice_model/voice_sip_model.rb
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/jpalley/telegraph/trunk/lib/freeswitch/voice_model/voice_sip_model.rb
   freeswitch/branches/seven/scripts/contrib/jpalley/telegraph/trunk/lib/freeswitch/voice_view_interface.rb
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/jpalley/telegraph/trunk/lib/freeswitch/voice_view_interface.rb
   freeswitch/branches/seven/scripts/contrib/jpalley/telegraph/trunk/lib/freeswitch/voice_view_server.rb
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/jpalley/telegraph/trunk/lib/freeswitch/voice_view_server.rb
   freeswitch/branches/seven/scripts/contrib/jpalley/telegraph/trunk/lib/telegraph.yml
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/jpalley/telegraph/trunk/lib/telegraph.yml
   freeswitch/branches/seven/scripts/contrib/jpalley/telegraph/trunk/lib/voice_events
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/jpalley/telegraph/trunk/lib/voice_events
   freeswitch/branches/seven/scripts/contrib/jpalley/telegraph/trunk/lib/voice_view
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/jpalley/telegraph/trunk/lib/voice_view
   freeswitch/branches/seven/scripts/contrib/jpalley/telegraph/trunk/license.txt
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/jpalley/telegraph/trunk/license.txt
   freeswitch/branches/seven/scripts/contrib/jpalley/telegraph/trunk/test/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/jpalley/telegraph/trunk/test/
   freeswitch/branches/seven/scripts/contrib/jpalley/telegraph/trunk/test/ami_test.rb
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/jpalley/telegraph/trunk/test/ami_test.rb
   freeswitch/branches/seven/scripts/contrib/jpalley/telegraph/trunk/test/rai_test.rb
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/jpalley/telegraph/trunk/test/rai_test.rb
   freeswitch/branches/seven/scripts/contrib/mcollins/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/mcollins/
   freeswitch/branches/seven/scripts/contrib/mcollins/uuid_send_dtmf.lua
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/mcollins/uuid_send_dtmf.lua
   freeswitch/branches/seven/scripts/contrib/mrene/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/mrene/
   freeswitch/branches/seven/scripts/contrib/seven/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/seven/
   freeswitch/branches/seven/scripts/contrib/seven/README
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/seven/README
   freeswitch/branches/seven/scripts/contrib/trixter/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/trixter/
   freeswitch/branches/seven/scripts/contrib/trixter/README
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/README
   freeswitch/branches/seven/scripts/contrib/trixter/asyncsock.pl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/asyncsock.pl
   freeswitch/branches/seven/scripts/contrib/trixter/call-progress.pl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/call-progress.pl
   freeswitch/branches/seven/scripts/contrib/trixter/callcredit.pl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/callcredit.pl
   freeswitch/branches/seven/scripts/contrib/trixter/calls.pl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/calls.pl
   freeswitch/branches/seven/scripts/contrib/trixter/conf-dtmf.pl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/conf-dtmf.pl
   freeswitch/branches/seven/scripts/contrib/trixter/dialplan/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/trixter/dialplan/
   freeswitch/branches/seven/scripts/contrib/trixter/dialplan/README
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/dialplan/README
   freeswitch/branches/seven/scripts/contrib/trixter/dialplan/dialplan.be.xml
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/dialplan/dialplan.be.xml
   freeswitch/branches/seven/scripts/contrib/trixter/dialplan/dialplan.de.xml
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/dialplan/dialplan.de.xml
   freeswitch/branches/seven/scripts/contrib/trixter/dialplan/dialplan.es.xml
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/dialplan/dialplan.es.xml
   freeswitch/branches/seven/scripts/contrib/trixter/dialplan/dialplan.ie.xml
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/dialplan/dialplan.ie.xml
   freeswitch/branches/seven/scripts/contrib/trixter/dialplan/dialplan.nanpa.xml
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/dialplan/dialplan.nanpa.xml
   freeswitch/branches/seven/scripts/contrib/trixter/dialplan/dialplan.nl.xml
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/dialplan/dialplan.nl.xml
   freeswitch/branches/seven/scripts/contrib/trixter/dialplan/dialplan.ve.xml
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/dialplan/dialplan.ve.xml
   freeswitch/branches/seven/scripts/contrib/trixter/dialplan/localized.dialplan.xml
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/dialplan/localized.dialplan.xml
   freeswitch/branches/seven/scripts/contrib/trixter/disa.js
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/disa.js
   freeswitch/branches/seven/scripts/contrib/trixter/faxlib.jm
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/faxlib.jm
   freeswitch/branches/seven/scripts/contrib/trixter/gcccpuopt
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/gcccpuopt
   freeswitch/branches/seven/scripts/contrib/trixter/jp.pl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/jp.pl
   freeswitch/branches/seven/scripts/contrib/trixter/makecombinedfsxml.pl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/makecombinedfsxml.pl
   freeswitch/branches/seven/scripts/contrib/trixter/regexptest.pl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/regexptest.pl
   freeswitch/branches/seven/scripts/contrib/trixter/softphone.pl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/softphone.pl
   freeswitch/branches/seven/scripts/contrib/trixter/validate-ivr.pl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/validate-ivr.pl
   freeswitch/branches/seven/scripts/contrib/trixter/xml-cdr/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-cdr/
   freeswitch/branches/seven/scripts/contrib/trixter/xml-cdr/Parse_XML_CDR.php
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-cdr/Parse_XML_CDR.php
   freeswitch/branches/seven/scripts/contrib/trixter/xml-cdr/README
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-cdr/README
   freeswitch/branches/seven/scripts/contrib/trixter/xml-cdr/cdr.php
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-cdr/cdr.php
   freeswitch/branches/seven/scripts/contrib/trixter/xml-cdr/testcdr.php
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-cdr/testcdr.php
   freeswitch/branches/seven/scripts/contrib/trixter/xml-cdr/testcdr.xml
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-cdr/testcdr.xml
   freeswitch/branches/seven/scripts/contrib/trixter/xml-curl/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-curl/
   freeswitch/branches/seven/scripts/contrib/trixter/xml-curl/.htaccess
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-curl/.htaccess
   freeswitch/branches/seven/scripts/contrib/trixter/xml-curl/.htpasswd
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-curl/.htpasswd
   freeswitch/branches/seven/scripts/contrib/trixter/xml-curl/README
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-curl/README
   freeswitch/branches/seven/scripts/contrib/trixter/xml-curl/curlrouting.php
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-curl/curlrouting.php
   freeswitch/branches/seven/scripts/contrib/trixter/xml-curl/freeswitch.xml
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-curl/freeswitch.xml
   freeswitch/branches/seven/scripts/contrib/trixter/xml-curl/modules/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-curl/modules/
   freeswitch/branches/seven/scripts/contrib/trixter/xml-curl/modules/configuration.php
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-curl/modules/configuration.php
   freeswitch/branches/seven/scripts/contrib/trixter/xml-curl/modules/dialplan.php
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-curl/modules/dialplan.php
   freeswitch/branches/seven/scripts/contrib/trixter/xml-curl/modules/directory.php
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-curl/modules/directory.php
   freeswitch/branches/seven/scripts/contrib/trixter/xml-curl/modules/phrases.php
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-curl/modules/phrases.php
   freeswitch/branches/seven/scripts/contrib/trixter/xml-curl/templates/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-curl/templates/
   freeswitch/branches/seven/scripts/contrib/trixter/xml-curl/templates/switch1/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-curl/templates/switch1/
   freeswitch/branches/seven/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/
   freeswitch/branches/seven/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/alsa.conf.tpl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/alsa.conf.tpl
   freeswitch/branches/seven/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/conference.conf.tpl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/conference.conf.tpl
   freeswitch/branches/seven/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/console.conf.tpl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/console.conf.tpl
   freeswitch/branches/seven/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/default_context.tpl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/default_context.tpl
   freeswitch/branches/seven/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/dialplan_directory.conf.tpl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/dialplan_directory.conf.tpl
   freeswitch/branches/seven/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/dingaling.conf.tpl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/dingaling.conf.tpl
   freeswitch/branches/seven/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/directory.tpl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/directory.tpl
   freeswitch/branches/seven/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/enum.conf.tpl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/enum.conf.tpl
   freeswitch/branches/seven/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/event_multicast.conf.tpl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/event_multicast.conf.tpl
   freeswitch/branches/seven/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/event_socket.conf.tpl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/event_socket.conf.tpl
   freeswitch/branches/seven/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/freeswitch.tpl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/freeswitch.tpl
   freeswitch/branches/seven/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/iax.conf.tpl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/iax.conf.tpl
   freeswitch/branches/seven/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/ivr.conf.tpl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/ivr.conf.tpl
   freeswitch/branches/seven/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/mod_cdr.conf.tpl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/mod_cdr.conf.tpl
   freeswitch/branches/seven/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/portaudio.conf.tpl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/portaudio.conf.tpl
   freeswitch/branches/seven/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/post_load_modules.conf.tpl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/post_load_modules.conf.tpl
   freeswitch/branches/seven/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/rss.conf.tpl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/rss.conf.tpl
   freeswitch/branches/seven/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/sofia.conf.tpl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/sofia.conf.tpl
   freeswitch/branches/seven/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/spidermonkey.conf.tpl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/spidermonkey.conf.tpl
   freeswitch/branches/seven/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/switch.conf.tpl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/switch.conf.tpl
   freeswitch/branches/seven/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/syslog.conf.tpl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/syslog.conf.tpl
   freeswitch/branches/seven/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/voicemail.conf.tpl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/voicemail.conf.tpl
   freeswitch/branches/seven/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/wanpipe.conf.tpl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/wanpipe.conf.tpl
   freeswitch/branches/seven/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/woomera.conf.tpl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/woomera.conf.tpl
   freeswitch/branches/seven/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/xml_cdr.conf.tpl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/xml_cdr.conf.tpl
   freeswitch/branches/seven/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/xml_curl.conf.tpl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/xml_curl.conf.tpl
   freeswitch/branches/seven/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/xml_rpc.conf.tpl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/xml_rpc.conf.tpl
   freeswitch/branches/seven/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/xmpp_event.conf.tpl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/xmpp_event.conf.tpl
   freeswitch/branches/seven/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/zeroconf.conf.tpl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-curl/templates/switch1/configuration/zeroconf.conf.tpl
   freeswitch/branches/seven/scripts/contrib/trixter/xml-curl/templates/switch1/dialplan/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-curl/templates/switch1/dialplan/
   freeswitch/branches/seven/scripts/contrib/trixter/xml-curl/templates/switch1/dialplan/fail.tpl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-curl/templates/switch1/dialplan/fail.tpl
   freeswitch/branches/seven/scripts/contrib/trixter/xml-curl/templates/switch1/dialplan/frompstn.tpl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-curl/templates/switch1/dialplan/frompstn.tpl
   freeswitch/branches/seven/scripts/contrib/trixter/xml-curl/templates/switch1/directory/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-curl/templates/switch1/directory/
   freeswitch/branches/seven/scripts/contrib/trixter/xml-curl/templates/switch1/directory/192.168.153.128.tpl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-curl/templates/switch1/directory/192.168.153.128.tpl
   freeswitch/branches/seven/scripts/contrib/trixter/xml-curl/templates/switch1/phrases/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-curl/templates/switch1/phrases/
   freeswitch/branches/seven/scripts/contrib/trixter/xml-curl/templates/switch1/phrases/lang_en.tpl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-curl/templates/switch1/phrases/lang_en.tpl
   freeswitch/branches/seven/scripts/contrib/trixter/xml-curl/templates/switch1/phrases/lang_fr.tpl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-curl/templates/switch1/phrases/lang_fr.tpl
   freeswitch/branches/seven/scripts/contrib/trixter/xml-rpc/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-rpc/
   freeswitch/branches/seven/scripts/contrib/trixter/xml-rpc/README
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-rpc/README
   freeswitch/branches/seven/scripts/contrib/trixter/xml-rpc/fsxmlrpc.inc
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-rpc/fsxmlrpc.inc
   freeswitch/branches/seven/scripts/contrib/trixter/xml-rpc/index.php
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-rpc/index.php
   freeswitch/branches/seven/scripts/contrib/trixter/xml-rpc/templates_c/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-rpc/templates_c/
   freeswitch/branches/seven/scripts/contrib/trixter/xml-rpc/themes/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-rpc/themes/
   freeswitch/branches/seven/scripts/contrib/trixter/xml-rpc/themes/default/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-rpc/themes/default/
   freeswitch/branches/seven/scripts/contrib/trixter/xml-rpc/themes/default/channels.tpl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-rpc/themes/default/channels.tpl
   freeswitch/branches/seven/scripts/contrib/trixter/xml-rpc/themes/default/conference.tpl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-rpc/themes/default/conference.tpl
   freeswitch/branches/seven/scripts/contrib/trixter/xml-rpc/themes/default/errors.inc
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-rpc/themes/default/errors.inc
   freeswitch/branches/seven/scripts/contrib/trixter/xml-rpc/themes/default/errors.tpl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-rpc/themes/default/errors.tpl
   freeswitch/branches/seven/scripts/contrib/trixter/xml-rpc/themes/default/images/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-rpc/themes/default/images/
   freeswitch/branches/seven/scripts/contrib/trixter/xml-rpc/themes/default/images/submit.gif
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-rpc/themes/default/images/submit.gif
   freeswitch/branches/seven/scripts/contrib/trixter/xml-rpc/themes/default/index.tpl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-rpc/themes/default/index.tpl
   freeswitch/branches/seven/scripts/contrib/trixter/xml-rpc/themes/default/style.css
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-rpc/themes/default/style.css
   freeswitch/branches/seven/scripts/contrib/trixter/xml-rpc/themes/es/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-rpc/themes/es/
   freeswitch/branches/seven/scripts/contrib/trixter/xml-rpc/themes/es/channels.tpl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-rpc/themes/es/channels.tpl
   freeswitch/branches/seven/scripts/contrib/trixter/xml-rpc/themes/es/conference.tpl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-rpc/themes/es/conference.tpl
   freeswitch/branches/seven/scripts/contrib/trixter/xml-rpc/themes/es/errors.inc
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-rpc/themes/es/errors.inc
   freeswitch/branches/seven/scripts/contrib/trixter/xml-rpc/themes/es/errors.tpl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-rpc/themes/es/errors.tpl
   freeswitch/branches/seven/scripts/contrib/trixter/xml-rpc/themes/es/images/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-rpc/themes/es/images/
   freeswitch/branches/seven/scripts/contrib/trixter/xml-rpc/themes/es/images/submit.gif
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-rpc/themes/es/images/submit.gif
   freeswitch/branches/seven/scripts/contrib/trixter/xml-rpc/themes/es/index.tpl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-rpc/themes/es/index.tpl
   freeswitch/branches/seven/scripts/contrib/trixter/xml-rpc/themes/es/style.css
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-rpc/themes/es/style.css
   freeswitch/branches/seven/scripts/contrib/trixter/xml-rpc/xmlrpc.inc
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/trixter/xml-rpc/xmlrpc.inc
   freeswitch/branches/seven/scripts/contrib/verifier/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/verifier/
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/Call.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/Call.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/CallManager.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/CallManager.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/CallStateEvent.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/CallStateEvent.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/ChannelWatcher.Designer.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/ChannelWatcher.Designer.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/ChannelWatcher.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/ChannelWatcher.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/ChannelWatcher.resx
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/ChannelWatcher.resx
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/EventWatcher.csproj
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/EventWatcher.csproj
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/Extension.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/Extension.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/Form1.Designer.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/Form1.Designer.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/Form1.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/Form1.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/Form1.resx
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/Form1.resx
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/LabelTextBox.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/LabelTextBox.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/Program.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/Program.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/Properties/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/Properties/
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/Properties/AssemblyInfo.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/Properties/AssemblyInfo.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/Properties/Resources.Designer.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/Properties/Resources.Designer.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/Properties/Resources.resx
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/Properties/Resources.resx
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/Properties/Settings.Designer.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/Properties/Settings.Designer.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/Properties/Settings.settings
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/Properties/Settings.settings
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/ReadMePlease.txt
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/EventWatcher/ReadMePlease.txt
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitch.EventSocket.Test/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitch.EventSocket.Test/
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitch.EventSocket.Test/EventSocket.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitch.EventSocket.Test/EventSocket.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitch.EventSocket.Test/FreeSwitch.EventSocket.Test.csproj
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitch.EventSocket.Test/FreeSwitch.EventSocket.Test.csproj
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitch.EventSocket.Test/ParserTest.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitch.EventSocket.Test/ParserTest.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitch.EventSocket.Test/Program.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitch.EventSocket.Test/Program.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitch.EventSocket.Test/Properties/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitch.EventSocket.Test/Properties/
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitch.EventSocket.Test/Properties/AssemblyInfo.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitch.EventSocket.Test/Properties/AssemblyInfo.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitch.EventSocket.sln
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitch.EventSocket.sln
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/ChannelEvent.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/ChannelEvent.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelAnswer.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelAnswer.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelApplication.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelApplication.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelBridge.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelBridge.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelCreate.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelCreate.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelDestroy.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelDestroy.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelExecute.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelExecute.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelExecuteComplete.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelExecuteComplete.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelHangup.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelHangup.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelOriginate.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelOriginate.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelOutgoing.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelOutgoing.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelPark.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelPark.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelProgress.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelProgress.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelState.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelState.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelUnbridge.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelUnbridge.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelUnpark.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelUnpark.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventCodec.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventCodec.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventDtmf.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventDtmf.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventDtmfStatus.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventDtmfStatus.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventSessionCrash.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventSessionCrash.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelInfo.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelInfo.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/AnyCommand.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/AnyCommand.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/Api.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/Api.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/AuthCommand.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/AuthCommand.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/CmdBase.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/CmdBase.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/CommandReply.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/CommandReply.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/DeflectCmd.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/DeflectCmd.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/ExecuteJavascript.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/ExecuteJavascript.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/GetVariable.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/GetVariable.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/HoldCmd.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/HoldCmd.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/Originate.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/Originate.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/ParkCmd.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/ParkCmd.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/Playback.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/Playback.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/RecordCmd.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/RecordCmd.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/SendEventCmd.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/SendEventCmd.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/SendMsg.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/SendMsg.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/SetVariable.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/SetVariable.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/SleepCmd.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/SleepCmd.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/TransferCmd.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/TransferCmd.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/EventManager.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/EventManager.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/EventParser.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/EventParser.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/EventSocket.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/EventSocket.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/EventSocket.pfx
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/EventSocket.pfx
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Events/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Events/
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Events.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Events.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Events/EventApiCommand.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Events/EventApiCommand.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Events/EventBase.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Events/EventBase.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Events/EventHeartbeat.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Events/EventHeartbeat.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Events/EventMessageQuery.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Events/EventMessageQuery.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Events/EventMessageWaiting.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Events/EventMessageWaiting.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Events/EventReSchedule.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Events/EventReSchedule.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/FreeSwitch.EventSocket.csproj
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/FreeSwitch.EventSocket.csproj
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/General/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/General/
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/General/Address.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/General/Address.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/General/ChannelVariable.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/General/ChannelVariable.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/General/SipAddress.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/General/SipAddress.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/General/SofiaSipAddress.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/General/SofiaSipAddress.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Ivr/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Ivr/
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Ivr/DtmfEventArgs.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Ivr/DtmfEventArgs.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Ivr/IvrInterface.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Ivr/IvrInterface.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Ivr/IvrQueue.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Ivr/IvrQueue.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Ivr/PrivateWaitDtmf.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Ivr/PrivateWaitDtmf.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/LogWriterHandler.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/LogWriterHandler.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/PartyInfo.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/PartyInfo.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/PlainEventMsg.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/PlainEventMsg.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Program.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Program.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Properties/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Properties/
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Properties/AssemblyInfo.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Properties/AssemblyInfo.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/SipEvents/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/SipEvents/
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/SipEvents/EventPresence.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/SipEvents/EventPresence.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/SipEvents/EventPresenceIn.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/SipEvents/EventPresenceIn.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/SipEvents/EventPresenceOut.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/SipEvents/EventPresenceOut.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/SipEvents/EventPresenceProbe.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/SipEvents/EventPresenceProbe.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/SipEvents/EventRoster.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/SipEvents/EventRoster.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/SipEvents/EventSofiaExpire.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/SipEvents/EventSofiaExpire.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/SipEvents/EventSofiaRegister.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/SipEvents/EventSofiaRegister.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/SipEvents/SipEvent.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/SipEvents/SipEvent.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/StringHelper.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/StringHelper.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/StringParser.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/StringParser.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/IvrSocket/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/IvrSocket/
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/IvrSocket/IvrSocket.csproj
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/IvrSocket/IvrSocket.csproj
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/IvrSocket/Program.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/IvrSocket/Program.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/IvrSocket/Properties/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/IvrSocket/Properties/
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/IvrSocket/Properties/AssemblyInfo.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/IvrSocket/Properties/AssemblyInfo.cs
   freeswitch/branches/seven/scripts/contrib/verifier/EventSocket/trunk/IvrSocket/Voicemail.cs
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/IvrSocket/Voicemail.cs
   freeswitch/branches/seven/scripts/contrib/vile/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/vile/
   freeswitch/branches/seven/scripts/contrib/vile/fnd762863yG.html
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/vile/fnd762863yG.html
   freeswitch/branches/seven/scripts/contrib/vile/fsconsole.c
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/vile/fsconsole.c
   freeswitch/branches/seven/scripts/contrib/wasim/
      - copied from r11459, /freeswitch/trunk/scripts/contrib/wasim/
   freeswitch/branches/seven/scripts/contrib/wasim/cFS.pl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/wasim/cFS.pl
   freeswitch/branches/seven/scripts/contrib/wasim/cdrload.pl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/wasim/cdrload.pl
   freeswitch/branches/seven/scripts/contrib/wasim/fshour.pl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/contrib/wasim/fshour.pl
   freeswitch/branches/seven/scripts/debug_sofia.sh
      - copied unchanged from r11459, /freeswitch/trunk/scripts/debug_sofia.sh
   freeswitch/branches/seven/scripts/dtmftest.js
      - copied unchanged from r11459, /freeswitch/trunk/scripts/dtmftest.js
   freeswitch/branches/seven/scripts/easyroute_mysql.sql
      - copied unchanged from r11459, /freeswitch/trunk/scripts/easyroute_mysql.sql
   freeswitch/branches/seven/scripts/extract_log_range.pl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/extract_log_range.pl
   freeswitch/branches/seven/scripts/freeswitch-gcore
      - copied unchanged from r11459, /freeswitch/trunk/scripts/freeswitch-gcore
   freeswitch/branches/seven/scripts/freeswitch-reporter
      - copied unchanged from r11459, /freeswitch/trunk/scripts/freeswitch-reporter
   freeswitch/branches/seven/scripts/freeswitch.sh
      - copied unchanged from r11459, /freeswitch/trunk/scripts/freeswitch.sh
   freeswitch/branches/seven/scripts/fsxs.in
      - copied unchanged from r11459, /freeswitch/trunk/scripts/fsxs.in
   freeswitch/branches/seven/scripts/gentls_cert.in
      - copied unchanged from r11459, /freeswitch/trunk/scripts/gentls_cert.in
   freeswitch/branches/seven/scripts/js_modules/
      - copied from r11459, /freeswitch/trunk/scripts/js_modules/
   freeswitch/branches/seven/scripts/js_modules/SpeechTools.jm
      - copied unchanged from r11459, /freeswitch/trunk/scripts/js_modules/SpeechTools.jm
   freeswitch/branches/seven/scripts/lua/
      - copied from r11459, /freeswitch/trunk/scripts/lua/
   freeswitch/branches/seven/scripts/lua/callback.lua
      - copied unchanged from r11459, /freeswitch/trunk/scripts/lua/callback.lua
   freeswitch/branches/seven/scripts/lua/helloworld.lua
      - copied unchanged from r11459, /freeswitch/trunk/scripts/lua/helloworld.lua
   freeswitch/branches/seven/scripts/lua/mwi_event.lua
      - copied unchanged from r11459, /freeswitch/trunk/scripts/lua/mwi_event.lua
   freeswitch/branches/seven/scripts/lua/originate.lua
      - copied unchanged from r11459, /freeswitch/trunk/scripts/lua/originate.lua
   freeswitch/branches/seven/scripts/m4a-to-wav.sh
      - copied unchanged from r11459, /freeswitch/trunk/scripts/m4a-to-wav.sh
   freeswitch/branches/seven/scripts/mklm
      - copied unchanged from r11459, /freeswitch/trunk/scripts/mklm
   freeswitch/branches/seven/scripts/multicast/
      - copied from r11459, /freeswitch/trunk/scripts/multicast/
   freeswitch/branches/seven/scripts/multicast/recv.pl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/multicast/recv.pl
   freeswitch/branches/seven/scripts/multicast/send.pl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/multicast/send.pl
   freeswitch/branches/seven/scripts/mytest.py
      - copied unchanged from r11459, /freeswitch/trunk/scripts/mytest.py
   freeswitch/branches/seven/scripts/perl/
      - copied from r11459, /freeswitch/trunk/scripts/perl/
   freeswitch/branches/seven/scripts/perl/mwi_event.pl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/perl/mwi_event.pl
   freeswitch/branches/seven/scripts/perl/originate.pl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/perl/originate.pl
   freeswitch/branches/seven/scripts/pizza.js
      - copied unchanged from r11459, /freeswitch/trunk/scripts/pizza.js
   freeswitch/branches/seven/scripts/ps_pizza.js
      - copied unchanged from r11459, /freeswitch/trunk/scripts/ps_pizza.js
   freeswitch/branches/seven/scripts/py_modules/
      - copied from r11459, /freeswitch/trunk/scripts/py_modules/
   freeswitch/branches/seven/scripts/py_modules/__init__.py
      - copied unchanged from r11459, /freeswitch/trunk/scripts/py_modules/__init__.py
   freeswitch/branches/seven/scripts/py_modules/speechtools.py
      - copied unchanged from r11459, /freeswitch/trunk/scripts/py_modules/speechtools.py
   freeswitch/branches/seven/scripts/quick_lm.pl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/quick_lm.pl
   freeswitch/branches/seven/scripts/recipewizard.py
      - copied unchanged from r11459, /freeswitch/trunk/scripts/recipewizard.py
   freeswitch/branches/seven/scripts/rss/
      - copied from r11459, /freeswitch/trunk/scripts/rss/
   freeswitch/branches/seven/scripts/rss/rss2ivr.pl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/rss/rss2ivr.pl
   freeswitch/branches/seven/scripts/rss/syncrss.pl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/rss/syncrss.pl
   freeswitch/branches/seven/scripts/s25vmail/
      - copied from r11459, /freeswitch/trunk/scripts/s25vmail/
   freeswitch/branches/seven/scripts/s25vmail/README
      - copied unchanged from r11459, /freeswitch/trunk/scripts/s25vmail/README
   freeswitch/branches/seven/scripts/s25vmail/s25vmail.js
      - copied unchanged from r11459, /freeswitch/trunk/scripts/s25vmail/s25vmail.js
   freeswitch/branches/seven/scripts/s25vmail/s25vmail_mwi.c
      - copied unchanged from r11459, /freeswitch/trunk/scripts/s25vmail/s25vmail_mwi.c
   freeswitch/branches/seven/scripts/scenario/
      - copied from r11459, /freeswitch/trunk/scripts/scenario/
   freeswitch/branches/seven/scripts/scenario/attended_transfer.button
      - copied unchanged from r11459, /freeswitch/trunk/scripts/scenario/attended_transfer.button
   freeswitch/branches/seven/scripts/scenario/blind_transfer.button
      - copied unchanged from r11459, /freeswitch/trunk/scripts/scenario/blind_transfer.button
   freeswitch/branches/seven/scripts/scenario/offhook.button
      - copied unchanged from r11459, /freeswitch/trunk/scripts/scenario/offhook.button
   freeswitch/branches/seven/scripts/scenario/phones.cfg
      - copied unchanged from r11459, /freeswitch/trunk/scripts/scenario/phones.cfg
   freeswitch/branches/seven/scripts/scenario/runscenario.pl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/scenario/runscenario.pl
   freeswitch/branches/seven/scripts/sendmail
      - copied unchanged from r11459, /freeswitch/trunk/scripts/sendmail
   freeswitch/branches/seven/scripts/sipsetup
      - copied unchanged from r11459, /freeswitch/trunk/scripts/sipsetup
   freeswitch/branches/seven/scripts/socket/   (props changed)
      - copied from r11459, /freeswitch/trunk/scripts/socket/
   freeswitch/branches/seven/scripts/socket/FreeSWITCH/
      - copied from r11459, /freeswitch/trunk/scripts/socket/FreeSWITCH/
   freeswitch/branches/seven/scripts/socket/FreeSWITCH/ChangeLog
      - copied unchanged from r11459, /freeswitch/trunk/scripts/socket/FreeSWITCH/ChangeLog
   freeswitch/branches/seven/scripts/socket/FreeSWITCH/Client.pm
      - copied unchanged from r11459, /freeswitch/trunk/scripts/socket/FreeSWITCH/Client.pm
   freeswitch/branches/seven/scripts/socket/FreeSWITCH/Makefile.PL
      - copied unchanged from r11459, /freeswitch/trunk/scripts/socket/FreeSWITCH/Makefile.PL
   freeswitch/branches/seven/scripts/socket/FreeSWITCH/README
      - copied unchanged from r11459, /freeswitch/trunk/scripts/socket/FreeSWITCH/README
   freeswitch/branches/seven/scripts/socket/FreeSWITCH/debian/
      - copied from r11459, /freeswitch/trunk/scripts/socket/FreeSWITCH/debian/
   freeswitch/branches/seven/scripts/socket/FreeSWITCH/debian/changelog
      - copied unchanged from r11459, /freeswitch/trunk/scripts/socket/FreeSWITCH/debian/changelog
   freeswitch/branches/seven/scripts/socket/FreeSWITCH/debian/compat
      - copied unchanged from r11459, /freeswitch/trunk/scripts/socket/FreeSWITCH/debian/compat
   freeswitch/branches/seven/scripts/socket/FreeSWITCH/debian/control
      - copied unchanged from r11459, /freeswitch/trunk/scripts/socket/FreeSWITCH/debian/control
   freeswitch/branches/seven/scripts/socket/FreeSWITCH/debian/copyright
      - copied unchanged from r11459, /freeswitch/trunk/scripts/socket/FreeSWITCH/debian/copyright
   freeswitch/branches/seven/scripts/socket/FreeSWITCH/debian/rules
      - copied unchanged from r11459, /freeswitch/trunk/scripts/socket/FreeSWITCH/debian/rules
   freeswitch/branches/seven/scripts/socket/freepy/
      - copied from r11459, /freeswitch/trunk/scripts/socket/freepy/
   freeswitch/branches/seven/scripts/socket/freepy/INSTALL
      - copied unchanged from r11459, /freeswitch/trunk/scripts/socket/freepy/INSTALL
   freeswitch/branches/seven/scripts/socket/freepy/README
      - copied unchanged from r11459, /freeswitch/trunk/scripts/socket/freepy/README
   freeswitch/branches/seven/scripts/socket/freepy/__init__.py
      - copied unchanged from r11459, /freeswitch/trunk/scripts/socket/freepy/__init__.py
   freeswitch/branches/seven/scripts/socket/freepy/apirequest.sm
      - copied unchanged from r11459, /freeswitch/trunk/scripts/socket/freepy/apirequest.sm
   freeswitch/branches/seven/scripts/socket/freepy/apirequest_sm.py
      - copied unchanged from r11459, /freeswitch/trunk/scripts/socket/freepy/apirequest_sm.py
   freeswitch/branches/seven/scripts/socket/freepy/bgapirequest.sm
      - copied unchanged from r11459, /freeswitch/trunk/scripts/socket/freepy/bgapirequest.sm
   freeswitch/branches/seven/scripts/socket/freepy/bgapirequest_sm.py
      - copied unchanged from r11459, /freeswitch/trunk/scripts/socket/freepy/bgapirequest_sm.py
   freeswitch/branches/seven/scripts/socket/freepy/fseventlistener.py
      - copied unchanged from r11459, /freeswitch/trunk/scripts/socket/freepy/fseventlistener.py
   freeswitch/branches/seven/scripts/socket/freepy/fshelper.py
      - copied unchanged from r11459, /freeswitch/trunk/scripts/socket/freepy/fshelper.py
   freeswitch/branches/seven/scripts/socket/freepy/globals.py
      - copied unchanged from r11459, /freeswitch/trunk/scripts/socket/freepy/globals.py
   freeswitch/branches/seven/scripts/socket/freepy/loginrequest.sm
      - copied unchanged from r11459, /freeswitch/trunk/scripts/socket/freepy/loginrequest.sm
   freeswitch/branches/seven/scripts/socket/freepy/loginrequest_sm.py
      - copied unchanged from r11459, /freeswitch/trunk/scripts/socket/freepy/loginrequest_sm.py
   freeswitch/branches/seven/scripts/socket/freepy/models.py
      - copied unchanged from r11459, /freeswitch/trunk/scripts/socket/freepy/models.py
   freeswitch/branches/seven/scripts/socket/freepy/request.py
      - copied unchanged from r11459, /freeswitch/trunk/scripts/socket/freepy/request.py
   freeswitch/branches/seven/scripts/socket/fs.pl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/socket/fs.pl
   freeswitch/branches/seven/scripts/socket/fsconsole.pl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/socket/fsconsole.pl
   freeswitch/branches/seven/scripts/socket/sock.pl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/socket/sock.pl
   freeswitch/branches/seven/scripts/socket/socket2me/   (props changed)
      - copied from r11459, /freeswitch/trunk/scripts/socket/socket2me/
   freeswitch/branches/seven/scripts/socket/socket2me/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/scripts/socket/socket2me/Makefile
   freeswitch/branches/seven/scripts/socket/socket2me/README
      - copied unchanged from r11459, /freeswitch/trunk/scripts/socket/socket2me/README
   freeswitch/branches/seven/scripts/socket/socket2me/socket2me.c
      - copied unchanged from r11459, /freeswitch/trunk/scripts/socket/socket2me/socket2me.c
   freeswitch/branches/seven/scripts/tonegen/
      - copied from r11459, /freeswitch/trunk/scripts/tonegen/
   freeswitch/branches/seven/scripts/tonegen/rtttl2tgml.pl
      - copied unchanged from r11459, /freeswitch/trunk/scripts/tonegen/rtttl2tgml.pl
   freeswitch/branches/seven/scripts/trace/
      - copied from r11459, /freeswitch/trunk/scripts/trace/
   freeswitch/branches/seven/scripts/trace/sipgrep
      - copied unchanged from r11459, /freeswitch/trunk/scripts/trace/sipgrep
   freeswitch/branches/seven/src/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/
   freeswitch/branches/seven/src/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/src/Makefile.am
   freeswitch/branches/seven/src/g711.c
      - copied unchanged from r11459, /freeswitch/trunk/src/g711.c
   freeswitch/branches/seven/src/include/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/include/
   freeswitch/branches/seven/src/include/SimpleGlob.h
      - copied unchanged from r11459, /freeswitch/trunk/src/include/SimpleGlob.h
   freeswitch/branches/seven/src/include/g711.h
      - copied unchanged from r11459, /freeswitch/trunk/src/include/g711.h
   freeswitch/branches/seven/src/include/private/
      - copied from r11459, /freeswitch/trunk/src/include/private/
   freeswitch/branches/seven/src/include/private/switch_core_pvt.h
      - copied unchanged from r11459, /freeswitch/trunk/src/include/private/switch_core_pvt.h
   freeswitch/branches/seven/src/include/switch.h
      - copied unchanged from r11459, /freeswitch/trunk/src/include/switch.h
   freeswitch/branches/seven/src/include/switch_am_config.h.in
      - copied unchanged from r11459, /freeswitch/trunk/src/include/switch_am_config.h.in
   freeswitch/branches/seven/src/include/switch_apr.h
      - copied unchanged from r11459, /freeswitch/trunk/src/include/switch_apr.h
   freeswitch/branches/seven/src/include/switch_bitpack.h
      - copied unchanged from r11459, /freeswitch/trunk/src/include/switch_bitpack.h
   freeswitch/branches/seven/src/include/switch_buffer.h
      - copied unchanged from r11459, /freeswitch/trunk/src/include/switch_buffer.h
   freeswitch/branches/seven/src/include/switch_caller.h
      - copied unchanged from r11459, /freeswitch/trunk/src/include/switch_caller.h
   freeswitch/branches/seven/src/include/switch_channel.h
      - copied unchanged from r11459, /freeswitch/trunk/src/include/switch_channel.h
   freeswitch/branches/seven/src/include/switch_config.h
      - copied unchanged from r11459, /freeswitch/trunk/src/include/switch_config.h
   freeswitch/branches/seven/src/include/switch_console.h
      - copied unchanged from r11459, /freeswitch/trunk/src/include/switch_console.h
   freeswitch/branches/seven/src/include/switch_core.h
      - copied unchanged from r11459, /freeswitch/trunk/src/include/switch_core.h
   freeswitch/branches/seven/src/include/switch_core_db.h
      - copied unchanged from r11459, /freeswitch/trunk/src/include/switch_core_db.h
   freeswitch/branches/seven/src/include/switch_core_event_hook.h
      - copied unchanged from r11459, /freeswitch/trunk/src/include/switch_core_event_hook.h
   freeswitch/branches/seven/src/include/switch_cpp.h
      - copied unchanged from r11459, /freeswitch/trunk/src/include/switch_cpp.h
   freeswitch/branches/seven/src/include/switch_dso.h
      - copied unchanged from r11459, /freeswitch/trunk/src/include/switch_dso.h
   freeswitch/branches/seven/src/include/switch_event.h
      - copied unchanged from r11459, /freeswitch/trunk/src/include/switch_event.h
   freeswitch/branches/seven/src/include/switch_frame.h
      - copied unchanged from r11459, /freeswitch/trunk/src/include/switch_frame.h
   freeswitch/branches/seven/src/include/switch_ivr.h
      - copied unchanged from r11459, /freeswitch/trunk/src/include/switch_ivr.h
   freeswitch/branches/seven/src/include/switch_loadable_module.h
      - copied unchanged from r11459, /freeswitch/trunk/src/include/switch_loadable_module.h
   freeswitch/branches/seven/src/include/switch_log.h
      - copied unchanged from r11459, /freeswitch/trunk/src/include/switch_log.h
   freeswitch/branches/seven/src/include/switch_module_interfaces.h
      - copied unchanged from r11459, /freeswitch/trunk/src/include/switch_module_interfaces.h
   freeswitch/branches/seven/src/include/switch_odbc.h
      - copied unchanged from r11459, /freeswitch/trunk/src/include/switch_odbc.h
   freeswitch/branches/seven/src/include/switch_platform.h
      - copied unchanged from r11459, /freeswitch/trunk/src/include/switch_platform.h
   freeswitch/branches/seven/src/include/switch_regex.h
      - copied unchanged from r11459, /freeswitch/trunk/src/include/switch_regex.h
   freeswitch/branches/seven/src/include/switch_resample.h
      - copied unchanged from r11459, /freeswitch/trunk/src/include/switch_resample.h
   freeswitch/branches/seven/src/include/switch_rtp.h
      - copied unchanged from r11459, /freeswitch/trunk/src/include/switch_rtp.h
   freeswitch/branches/seven/src/include/switch_scheduler.h
      - copied unchanged from r11459, /freeswitch/trunk/src/include/switch_scheduler.h
   freeswitch/branches/seven/src/include/switch_stun.h
      - copied unchanged from r11459, /freeswitch/trunk/src/include/switch_stun.h
   freeswitch/branches/seven/src/include/switch_types.h
      - copied unchanged from r11459, /freeswitch/trunk/src/include/switch_types.h
   freeswitch/branches/seven/src/include/switch_utils.h
      - copied unchanged from r11459, /freeswitch/trunk/src/include/switch_utils.h
   freeswitch/branches/seven/src/include/switch_version.h.template
      - copied unchanged from r11459, /freeswitch/trunk/src/include/switch_version.h.template
   freeswitch/branches/seven/src/include/switch_xml.h
      - copied unchanged from r11459, /freeswitch/trunk/src/include/switch_xml.h
   freeswitch/branches/seven/src/inet_pton.c
      - copied unchanged from r11459, /freeswitch/trunk/src/inet_pton.c
   freeswitch/branches/seven/src/mod/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/
   freeswitch/branches/seven/src/mod/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/Makefile.am
   freeswitch/branches/seven/src/mod/applications/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/applications/
   freeswitch/branches/seven/src/mod/applications/mod_commands/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/applications/mod_commands/
   freeswitch/branches/seven/src/mod/applications/mod_commands/mod_commands.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_commands/mod_commands.2008.vcproj
   freeswitch/branches/seven/src/mod/applications/mod_commands/mod_commands.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_commands/mod_commands.c
   freeswitch/branches/seven/src/mod/applications/mod_commands/mod_commands.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_commands/mod_commands.vcproj
   freeswitch/branches/seven/src/mod/applications/mod_conference/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/applications/mod_conference/
   freeswitch/branches/seven/src/mod/applications/mod_conference/mod_conference.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.2008.vcproj
   freeswitch/branches/seven/src/mod/applications/mod_conference/mod_conference.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c
   freeswitch/branches/seven/src/mod/applications/mod_conference/mod_conference.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.vcproj
   freeswitch/branches/seven/src/mod/applications/mod_dptools/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/applications/mod_dptools/
   freeswitch/branches/seven/src/mod/applications/mod_dptools/mod_dptools.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_dptools/mod_dptools.2008.vcproj
   freeswitch/branches/seven/src/mod/applications/mod_dptools/mod_dptools.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_dptools/mod_dptools.c
   freeswitch/branches/seven/src/mod/applications/mod_dptools/mod_dptools.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_dptools/mod_dptools.vcproj
   freeswitch/branches/seven/src/mod/applications/mod_easyroute/
      - copied from r11459, /freeswitch/trunk/src/mod/applications/mod_easyroute/
   freeswitch/branches/seven/src/mod/applications/mod_easyroute/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_easyroute/Makefile
   freeswitch/branches/seven/src/mod/applications/mod_easyroute/mod_easyroute.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_easyroute/mod_easyroute.c
   freeswitch/branches/seven/src/mod/applications/mod_enum/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/applications/mod_enum/
   freeswitch/branches/seven/src/mod/applications/mod_enum/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_enum/Makefile
   freeswitch/branches/seven/src/mod/applications/mod_enum/mod_enum.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_enum/mod_enum.2008.vcproj
   freeswitch/branches/seven/src/mod/applications/mod_enum/mod_enum.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_enum/mod_enum.c
   freeswitch/branches/seven/src/mod/applications/mod_enum/mod_enum.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_enum/mod_enum.vcproj
   freeswitch/branches/seven/src/mod/applications/mod_esf/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/applications/mod_esf/
   freeswitch/branches/seven/src/mod/applications/mod_esf/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_esf/Makefile
   freeswitch/branches/seven/src/mod/applications/mod_esf/mod_esf.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_esf/mod_esf.2008.vcproj
   freeswitch/branches/seven/src/mod/applications/mod_esf/mod_esf.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_esf/mod_esf.c
   freeswitch/branches/seven/src/mod/applications/mod_esf/mod_esf.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_esf/mod_esf.vcproj
   freeswitch/branches/seven/src/mod/applications/mod_expr/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/applications/mod_expr/
   freeswitch/branches/seven/src/mod/applications/mod_expr/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_expr/Makefile
   freeswitch/branches/seven/src/mod/applications/mod_expr/conio.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_expr/conio.h
   freeswitch/branches/seven/src/mod/applications/mod_expr/exprconf.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_expr/exprconf.h
   freeswitch/branches/seven/src/mod/applications/mod_expr/expreval.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_expr/expreval.c
   freeswitch/branches/seven/src/mod/applications/mod_expr/expreval.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_expr/expreval.h
   freeswitch/branches/seven/src/mod/applications/mod_expr/expreval.html
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_expr/expreval.html
   freeswitch/branches/seven/src/mod/applications/mod_expr/exprfunc.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_expr/exprfunc.c
   freeswitch/branches/seven/src/mod/applications/mod_expr/exprilfs.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_expr/exprilfs.h
   freeswitch/branches/seven/src/mod/applications/mod_expr/exprincl.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_expr/exprincl.h
   freeswitch/branches/seven/src/mod/applications/mod_expr/exprinit.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_expr/exprinit.c
   freeswitch/branches/seven/src/mod/applications/mod_expr/exprmem.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_expr/exprmem.c
   freeswitch/branches/seven/src/mod/applications/mod_expr/exprmem.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_expr/exprmem.h
   freeswitch/branches/seven/src/mod/applications/mod_expr/exprobj.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_expr/exprobj.c
   freeswitch/branches/seven/src/mod/applications/mod_expr/exprpars.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_expr/exprpars.c
   freeswitch/branches/seven/src/mod/applications/mod_expr/exprpriv.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_expr/exprpriv.h
   freeswitch/branches/seven/src/mod/applications/mod_expr/exprtmpl.html
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_expr/exprtmpl.html
   freeswitch/branches/seven/src/mod/applications/mod_expr/exprutil.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_expr/exprutil.c
   freeswitch/branches/seven/src/mod/applications/mod_expr/exprval.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_expr/exprval.c
   freeswitch/branches/seven/src/mod/applications/mod_expr/license.txt
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_expr/license.txt
   freeswitch/branches/seven/src/mod/applications/mod_expr/mod_expr.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_expr/mod_expr.2008.vcproj
   freeswitch/branches/seven/src/mod/applications/mod_expr/mod_expr.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_expr/mod_expr.c
   freeswitch/branches/seven/src/mod/applications/mod_expr/mod_expr.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_expr/mod_expr.vcproj
   freeswitch/branches/seven/src/mod/applications/mod_expr/readme.txt
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_expr/readme.txt
   freeswitch/branches/seven/src/mod/applications/mod_fax/
      - copied from r11459, /freeswitch/trunk/src/mod/applications/mod_fax/
   freeswitch/branches/seven/src/mod/applications/mod_fax/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_fax/Makefile
   freeswitch/branches/seven/src/mod/applications/mod_fax/mod_fax.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_fax/mod_fax.c
   freeswitch/branches/seven/src/mod/applications/mod_fifo/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/applications/mod_fifo/
   freeswitch/branches/seven/src/mod/applications/mod_fifo/mod_fifo.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_fifo/mod_fifo.2008.vcproj
   freeswitch/branches/seven/src/mod/applications/mod_fifo/mod_fifo.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_fifo/mod_fifo.c
   freeswitch/branches/seven/src/mod/applications/mod_fifo/mod_fifo.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_fifo/mod_fifo.vcproj
   freeswitch/branches/seven/src/mod/applications/mod_fsv/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/applications/mod_fsv/
   freeswitch/branches/seven/src/mod/applications/mod_fsv/mod_fsv.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_fsv/mod_fsv.2008.vcproj
   freeswitch/branches/seven/src/mod/applications/mod_fsv/mod_fsv.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_fsv/mod_fsv.c
   freeswitch/branches/seven/src/mod/applications/mod_fsv/mod_fsv.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_fsv/mod_fsv.vcproj
   freeswitch/branches/seven/src/mod/applications/mod_http/
      - copied from r11459, /freeswitch/trunk/src/mod/applications/mod_http/
   freeswitch/branches/seven/src/mod/applications/mod_http/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_http/Makefile
   freeswitch/branches/seven/src/mod/applications/mod_http/arraylist.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_http/arraylist.c
   freeswitch/branches/seven/src/mod/applications/mod_http/arraylist.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_http/arraylist.h
   freeswitch/branches/seven/src/mod/applications/mod_http/bits.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_http/bits.h
   freeswitch/branches/seven/src/mod/applications/mod_http/config.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_http/config.h
   freeswitch/branches/seven/src/mod/applications/mod_http/debug.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_http/debug.c
   freeswitch/branches/seven/src/mod/applications/mod_http/debug.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_http/debug.h
   freeswitch/branches/seven/src/mod/applications/mod_http/http_req.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_http/http_req.c
   freeswitch/branches/seven/src/mod/applications/mod_http/http_req.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_http/http_req.h
   freeswitch/branches/seven/src/mod/applications/mod_http/json.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_http/json.h
   freeswitch/branches/seven/src/mod/applications/mod_http/json_object.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_http/json_object.c
   freeswitch/branches/seven/src/mod/applications/mod_http/json_object.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_http/json_object.h
   freeswitch/branches/seven/src/mod/applications/mod_http/json_object_private.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_http/json_object_private.h
   freeswitch/branches/seven/src/mod/applications/mod_http/json_tokener.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_http/json_tokener.c
   freeswitch/branches/seven/src/mod/applications/mod_http/json_tokener.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_http/json_tokener.h
   freeswitch/branches/seven/src/mod/applications/mod_http/json_util.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_http/json_util.c
   freeswitch/branches/seven/src/mod/applications/mod_http/json_util.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_http/json_util.h
   freeswitch/branches/seven/src/mod/applications/mod_http/linkhash.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_http/linkhash.c
   freeswitch/branches/seven/src/mod/applications/mod_http/linkhash.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_http/linkhash.h
   freeswitch/branches/seven/src/mod/applications/mod_http/mod_http.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_http/mod_http.c
   freeswitch/branches/seven/src/mod/applications/mod_http/printbuf.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_http/printbuf.c
   freeswitch/branches/seven/src/mod/applications/mod_http/printbuf.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_http/printbuf.h
   freeswitch/branches/seven/src/mod/applications/mod_http/url_encoding.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_http/url_encoding.c
   freeswitch/branches/seven/src/mod/applications/mod_http/url_encoding.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_http/url_encoding.h
   freeswitch/branches/seven/src/mod/applications/mod_lcr/
      - copied from r11459, /freeswitch/trunk/src/mod/applications/mod_lcr/
   freeswitch/branches/seven/src/mod/applications/mod_lcr/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_lcr/Makefile
   freeswitch/branches/seven/src/mod/applications/mod_lcr/mod_lcr.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_lcr/mod_lcr.c
   freeswitch/branches/seven/src/mod/applications/mod_limit/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/applications/mod_limit/
   freeswitch/branches/seven/src/mod/applications/mod_limit/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_limit/Makefile
   freeswitch/branches/seven/src/mod/applications/mod_limit/mod_limit.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_limit/mod_limit.2008.vcproj
   freeswitch/branches/seven/src/mod/applications/mod_limit/mod_limit.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_limit/mod_limit.c
   freeswitch/branches/seven/src/mod/applications/mod_limit/mod_limit.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_limit/mod_limit.vcproj
   freeswitch/branches/seven/src/mod/applications/mod_rss/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/applications/mod_rss/
   freeswitch/branches/seven/src/mod/applications/mod_rss/mod_rss.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_rss/mod_rss.2008.vcproj
   freeswitch/branches/seven/src/mod/applications/mod_rss/mod_rss.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_rss/mod_rss.c
   freeswitch/branches/seven/src/mod/applications/mod_rss/mod_rss.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_rss/mod_rss.vcproj
   freeswitch/branches/seven/src/mod/applications/mod_skel/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/applications/mod_skel/
   freeswitch/branches/seven/src/mod/applications/mod_skel/mod_skel.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_skel/mod_skel.c
   freeswitch/branches/seven/src/mod/applications/mod_snom/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/applications/mod_snom/
   freeswitch/branches/seven/src/mod/applications/mod_snom/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_snom/Makefile
   freeswitch/branches/seven/src/mod/applications/mod_snom/mod_snom.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_snom/mod_snom.2008.vcproj
   freeswitch/branches/seven/src/mod/applications/mod_snom/mod_snom.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_snom/mod_snom.c
   freeswitch/branches/seven/src/mod/applications/mod_soundtouch/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/applications/mod_soundtouch/
   freeswitch/branches/seven/src/mod/applications/mod_soundtouch/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_soundtouch/Makefile
   freeswitch/branches/seven/src/mod/applications/mod_soundtouch/mod_soundtouch.cpp
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_soundtouch/mod_soundtouch.cpp
   freeswitch/branches/seven/src/mod/applications/mod_stress/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/applications/mod_stress/
   freeswitch/branches/seven/src/mod/applications/mod_stress/FFTReal.cpp
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_stress/FFTReal.cpp
   freeswitch/branches/seven/src/mod/applications/mod_stress/FFTReal.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_stress/FFTReal.h
   freeswitch/branches/seven/src/mod/applications/mod_stress/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_stress/Makefile
   freeswitch/branches/seven/src/mod/applications/mod_stress/mod_stress.cpp
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_stress/mod_stress.cpp
   freeswitch/branches/seven/src/mod/applications/mod_vmd/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/applications/mod_vmd/
   freeswitch/branches/seven/src/mod/applications/mod_vmd/mod_vmd.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_vmd/mod_vmd.2008.vcproj
   freeswitch/branches/seven/src/mod/applications/mod_vmd/mod_vmd.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_vmd/mod_vmd.c
   freeswitch/branches/seven/src/mod/applications/mod_voicemail/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/applications/mod_voicemail/
   freeswitch/branches/seven/src/mod/applications/mod_voicemail/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_voicemail/Makefile
   freeswitch/branches/seven/src/mod/applications/mod_voicemail/mod_voicemail.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_voicemail/mod_voicemail.2008.vcproj
   freeswitch/branches/seven/src/mod/applications/mod_voicemail/mod_voicemail.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_voicemail/mod_voicemail.c
   freeswitch/branches/seven/src/mod/applications/mod_voicemail/mod_voicemail.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/applications/mod_voicemail/mod_voicemail.vcproj
   freeswitch/branches/seven/src/mod/asr_tts/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/asr_tts/
   freeswitch/branches/seven/src/mod/asr_tts/mod_cepstral/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/asr_tts/mod_cepstral/
   freeswitch/branches/seven/src/mod/asr_tts/mod_cepstral/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/asr_tts/mod_cepstral/Makefile
   freeswitch/branches/seven/src/mod/asr_tts/mod_cepstral/mod_cepstral.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/asr_tts/mod_cepstral/mod_cepstral.2008.vcproj
   freeswitch/branches/seven/src/mod/asr_tts/mod_cepstral/mod_cepstral.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/asr_tts/mod_cepstral/mod_cepstral.c
   freeswitch/branches/seven/src/mod/asr_tts/mod_cepstral/mod_cepstral.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/asr_tts/mod_cepstral/mod_cepstral.vcproj
   freeswitch/branches/seven/src/mod/asr_tts/mod_flite/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/asr_tts/mod_flite/
   freeswitch/branches/seven/src/mod/asr_tts/mod_flite/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/asr_tts/mod_flite/Makefile
   freeswitch/branches/seven/src/mod/asr_tts/mod_flite/mod_flite.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/asr_tts/mod_flite/mod_flite.2008.vcproj
   freeswitch/branches/seven/src/mod/asr_tts/mod_flite/mod_flite.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/asr_tts/mod_flite/mod_flite.c
   freeswitch/branches/seven/src/mod/asr_tts/mod_pocketsphinx/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/asr_tts/mod_pocketsphinx/
   freeswitch/branches/seven/src/mod/asr_tts/mod_pocketsphinx/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/asr_tts/mod_pocketsphinx/Makefile
   freeswitch/branches/seven/src/mod/asr_tts/mod_pocketsphinx/mod_pocketsphinx.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/asr_tts/mod_pocketsphinx/mod_pocketsphinx.2008.vcproj
   freeswitch/branches/seven/src/mod/asr_tts/mod_pocketsphinx/mod_pocketsphinx.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/asr_tts/mod_pocketsphinx/mod_pocketsphinx.c
   freeswitch/branches/seven/src/mod/codecs/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/codecs/
   freeswitch/branches/seven/src/mod/codecs/mod_amr/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/codecs/mod_amr/
   freeswitch/branches/seven/src/mod/codecs/mod_amr/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/codecs/mod_amr/Makefile
   freeswitch/branches/seven/src/mod/codecs/mod_amr/mod_amr.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/codecs/mod_amr/mod_amr.2008.vcproj
   freeswitch/branches/seven/src/mod/codecs/mod_amr/mod_amr.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/codecs/mod_amr/mod_amr.c
   freeswitch/branches/seven/src/mod/codecs/mod_amr/mod_amr.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/codecs/mod_amr/mod_amr.vcproj
   freeswitch/branches/seven/src/mod/codecs/mod_celt/
      - copied from r11459, /freeswitch/trunk/src/mod/codecs/mod_celt/
   freeswitch/branches/seven/src/mod/codecs/mod_celt/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/codecs/mod_celt/Makefile
   freeswitch/branches/seven/src/mod/codecs/mod_celt/mod_celt.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/codecs/mod_celt/mod_celt.c
   freeswitch/branches/seven/src/mod/codecs/mod_g723_1/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/codecs/mod_g723_1/
   freeswitch/branches/seven/src/mod/codecs/mod_g723_1/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/codecs/mod_g723_1/Makefile
   freeswitch/branches/seven/src/mod/codecs/mod_g723_1/mod_g723_1.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/codecs/mod_g723_1/mod_g723_1.2008.vcproj
   freeswitch/branches/seven/src/mod/codecs/mod_g723_1/mod_g723_1.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/codecs/mod_g723_1/mod_g723_1.c
   freeswitch/branches/seven/src/mod/codecs/mod_g723_1/mod_g723_1.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/codecs/mod_g723_1/mod_g723_1.vcproj
   freeswitch/branches/seven/src/mod/codecs/mod_g729/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/codecs/mod_g729/
   freeswitch/branches/seven/src/mod/codecs/mod_g729/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/codecs/mod_g729/Makefile
   freeswitch/branches/seven/src/mod/codecs/mod_g729/mod_g729.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/codecs/mod_g729/mod_g729.2008.vcproj
   freeswitch/branches/seven/src/mod/codecs/mod_g729/mod_g729.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/codecs/mod_g729/mod_g729.c
   freeswitch/branches/seven/src/mod/codecs/mod_g729/mod_g729.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/codecs/mod_g729/mod_g729.vcproj
   freeswitch/branches/seven/src/mod/codecs/mod_h26x/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/codecs/mod_h26x/
   freeswitch/branches/seven/src/mod/codecs/mod_h26x/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/codecs/mod_h26x/Makefile
   freeswitch/branches/seven/src/mod/codecs/mod_h26x/mod_h26x.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/codecs/mod_h26x/mod_h26x.2008.vcproj
   freeswitch/branches/seven/src/mod/codecs/mod_h26x/mod_h26x.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/codecs/mod_h26x/mod_h26x.c
   freeswitch/branches/seven/src/mod/codecs/mod_h26x/mod_h26x.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/codecs/mod_h26x/mod_h26x.vcproj
   freeswitch/branches/seven/src/mod/codecs/mod_ilbc/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/codecs/mod_ilbc/
   freeswitch/branches/seven/src/mod/codecs/mod_ilbc/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/codecs/mod_ilbc/Makefile
   freeswitch/branches/seven/src/mod/codecs/mod_ilbc/mod_ilbc.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/codecs/mod_ilbc/mod_ilbc.2008.vcproj
   freeswitch/branches/seven/src/mod/codecs/mod_ilbc/mod_ilbc.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/codecs/mod_ilbc/mod_ilbc.c
   freeswitch/branches/seven/src/mod/codecs/mod_ilbc/mod_ilbc.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/codecs/mod_ilbc/mod_ilbc.vcproj
   freeswitch/branches/seven/src/mod/codecs/mod_siren/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/codecs/mod_siren/
   freeswitch/branches/seven/src/mod/codecs/mod_siren/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/codecs/mod_siren/Makefile
   freeswitch/branches/seven/src/mod/codecs/mod_siren/mod_siren.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/codecs/mod_siren/mod_siren.2008.vcproj
   freeswitch/branches/seven/src/mod/codecs/mod_siren/mod_siren.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/codecs/mod_siren/mod_siren.c
   freeswitch/branches/seven/src/mod/codecs/mod_speex/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/codecs/mod_speex/
   freeswitch/branches/seven/src/mod/codecs/mod_speex/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/codecs/mod_speex/Makefile
   freeswitch/branches/seven/src/mod/codecs/mod_speex/mod_speex.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/codecs/mod_speex/mod_speex.2008.vcproj
   freeswitch/branches/seven/src/mod/codecs/mod_speex/mod_speex.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/codecs/mod_speex/mod_speex.c
   freeswitch/branches/seven/src/mod/codecs/mod_speex/mod_speex.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/codecs/mod_speex/mod_speex.vcproj
   freeswitch/branches/seven/src/mod/codecs/mod_voipcodecs/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/codecs/mod_voipcodecs/
   freeswitch/branches/seven/src/mod/codecs/mod_voipcodecs/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/codecs/mod_voipcodecs/Makefile
   freeswitch/branches/seven/src/mod/codecs/mod_voipcodecs/mod_voipcodecs.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/codecs/mod_voipcodecs/mod_voipcodecs.2008.vcproj
   freeswitch/branches/seven/src/mod/codecs/mod_voipcodecs/mod_voipcodecs.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/codecs/mod_voipcodecs/mod_voipcodecs.c
   freeswitch/branches/seven/src/mod/codecs/mod_voipcodecs/mod_voipcodecs.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/codecs/mod_voipcodecs/mod_voipcodecs.vcproj
   freeswitch/branches/seven/src/mod/dialplans/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/dialplans/
   freeswitch/branches/seven/src/mod/dialplans/mod_dialplan_asterisk/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/dialplans/mod_dialplan_asterisk/
   freeswitch/branches/seven/src/mod/dialplans/mod_dialplan_asterisk/mod_dialplan_asterisk.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/dialplans/mod_dialplan_asterisk/mod_dialplan_asterisk.2008.vcproj
   freeswitch/branches/seven/src/mod/dialplans/mod_dialplan_asterisk/mod_dialplan_asterisk.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/dialplans/mod_dialplan_asterisk/mod_dialplan_asterisk.c
   freeswitch/branches/seven/src/mod/dialplans/mod_dialplan_asterisk/mod_dialplan_asterisk.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/dialplans/mod_dialplan_asterisk/mod_dialplan_asterisk.vcproj
   freeswitch/branches/seven/src/mod/dialplans/mod_dialplan_directory/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/dialplans/mod_dialplan_directory/
   freeswitch/branches/seven/src/mod/dialplans/mod_dialplan_directory/mod_dialplan_directory.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/dialplans/mod_dialplan_directory/mod_dialplan_directory.2008.vcproj
   freeswitch/branches/seven/src/mod/dialplans/mod_dialplan_directory/mod_dialplan_directory.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/dialplans/mod_dialplan_directory/mod_dialplan_directory.c
   freeswitch/branches/seven/src/mod/dialplans/mod_dialplan_directory/mod_dialplan_directory.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/dialplans/mod_dialplan_directory/mod_dialplan_directory.vcproj
   freeswitch/branches/seven/src/mod/dialplans/mod_dialplan_xml/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/dialplans/mod_dialplan_xml/
   freeswitch/branches/seven/src/mod/dialplans/mod_dialplan_xml/mod_dialplan_xml.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/dialplans/mod_dialplan_xml/mod_dialplan_xml.2008.vcproj
   freeswitch/branches/seven/src/mod/dialplans/mod_dialplan_xml/mod_dialplan_xml.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/dialplans/mod_dialplan_xml/mod_dialplan_xml.c
   freeswitch/branches/seven/src/mod/dialplans/mod_dialplan_xml/mod_dialplan_xml.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/dialplans/mod_dialplan_xml/mod_dialplan_xml.vcproj
   freeswitch/branches/seven/src/mod/directories/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/directories/
   freeswitch/branches/seven/src/mod/directories/mod_ldap/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/directories/mod_ldap/
   freeswitch/branches/seven/src/mod/directories/mod_ldap/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/directories/mod_ldap/Makefile
   freeswitch/branches/seven/src/mod/directories/mod_ldap/mod_ldap.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/directories/mod_ldap/mod_ldap.2008.vcproj
   freeswitch/branches/seven/src/mod/directories/mod_ldap/mod_ldap.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/directories/mod_ldap/mod_ldap.c
   freeswitch/branches/seven/src/mod/directories/mod_ldap/mod_ldap.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/directories/mod_ldap/mod_ldap.vcproj
   freeswitch/branches/seven/src/mod/endpoints/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/endpoints/
   freeswitch/branches/seven/src/mod/endpoints/mod_alsa/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/endpoints/mod_alsa/
   freeswitch/branches/seven/src/mod/endpoints/mod_alsa/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/endpoints/mod_alsa/Makefile
   freeswitch/branches/seven/src/mod/endpoints/mod_alsa/mod_alsa.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/endpoints/mod_alsa/mod_alsa.c
   freeswitch/branches/seven/src/mod/endpoints/mod_dingaling/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/endpoints/mod_dingaling/
   freeswitch/branches/seven/src/mod/endpoints/mod_dingaling/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/endpoints/mod_dingaling/Makefile
   freeswitch/branches/seven/src/mod/endpoints/mod_dingaling/mod_dingaling.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/endpoints/mod_dingaling/mod_dingaling.2008.vcproj
   freeswitch/branches/seven/src/mod/endpoints/mod_dingaling/mod_dingaling.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/endpoints/mod_dingaling/mod_dingaling.c
   freeswitch/branches/seven/src/mod/endpoints/mod_dingaling/mod_dingaling.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/endpoints/mod_dingaling/mod_dingaling.vcproj
   freeswitch/branches/seven/src/mod/endpoints/mod_iax/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/endpoints/mod_iax/
   freeswitch/branches/seven/src/mod/endpoints/mod_iax/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/endpoints/mod_iax/Makefile
   freeswitch/branches/seven/src/mod/endpoints/mod_iax/answer.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/endpoints/mod_iax/answer.h
   freeswitch/branches/seven/src/mod/endpoints/mod_iax/frame.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/endpoints/mod_iax/frame.h
   freeswitch/branches/seven/src/mod/endpoints/mod_iax/iax-client.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/endpoints/mod_iax/iax-client.h
   freeswitch/branches/seven/src/mod/endpoints/mod_iax/iax-mutex.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/endpoints/mod_iax/iax-mutex.c
   freeswitch/branches/seven/src/mod/endpoints/mod_iax/iax-mutex.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/endpoints/mod_iax/iax-mutex.h
   freeswitch/branches/seven/src/mod/endpoints/mod_iax/iax.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/endpoints/mod_iax/iax.c
   freeswitch/branches/seven/src/mod/endpoints/mod_iax/iax.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/endpoints/mod_iax/iax.h
   freeswitch/branches/seven/src/mod/endpoints/mod_iax/iax2-parser.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/endpoints/mod_iax/iax2-parser.c
   freeswitch/branches/seven/src/mod/endpoints/mod_iax/iax2-parser.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/endpoints/mod_iax/iax2-parser.h
   freeswitch/branches/seven/src/mod/endpoints/mod_iax/iax2.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/endpoints/mod_iax/iax2.h
   freeswitch/branches/seven/src/mod/endpoints/mod_iax/jitterbuf.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/endpoints/mod_iax/jitterbuf.c
   freeswitch/branches/seven/src/mod/endpoints/mod_iax/jitterbuf.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/endpoints/mod_iax/jitterbuf.h
   freeswitch/branches/seven/src/mod/endpoints/mod_iax/md5.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/endpoints/mod_iax/md5.c
   freeswitch/branches/seven/src/mod/endpoints/mod_iax/md5.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/endpoints/mod_iax/md5.h
   freeswitch/branches/seven/src/mod/endpoints/mod_iax/mod_iax.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/endpoints/mod_iax/mod_iax.2008.vcproj
   freeswitch/branches/seven/src/mod/endpoints/mod_iax/mod_iax.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/endpoints/mod_iax/mod_iax.c
   freeswitch/branches/seven/src/mod/endpoints/mod_iax/mod_iax.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/endpoints/mod_iax/mod_iax.vcproj
   freeswitch/branches/seven/src/mod/endpoints/mod_iax/winpoop.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/endpoints/mod_iax/winpoop.h
   freeswitch/branches/seven/src/mod/endpoints/mod_loopback/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/endpoints/mod_loopback/
   freeswitch/branches/seven/src/mod/endpoints/mod_loopback/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/endpoints/mod_loopback/Makefile
   freeswitch/branches/seven/src/mod/endpoints/mod_loopback/mod_loopback.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/endpoints/mod_loopback/mod_loopback.2008.vcproj
   freeswitch/branches/seven/src/mod/endpoints/mod_loopback/mod_loopback.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/endpoints/mod_loopback/mod_loopback.c
   freeswitch/branches/seven/src/mod/endpoints/mod_opal/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/endpoints/mod_opal/
   freeswitch/branches/seven/src/mod/endpoints/mod_opal/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/endpoints/mod_opal/Makefile
   freeswitch/branches/seven/src/mod/endpoints/mod_opal/mod_opal.cpp
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/endpoints/mod_opal/mod_opal.cpp
   freeswitch/branches/seven/src/mod/endpoints/mod_opal/mod_opal.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/endpoints/mod_opal/mod_opal.h
   freeswitch/branches/seven/src/mod/endpoints/mod_opal/mod_opal_2005.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/endpoints/mod_opal/mod_opal_2005.vcproj
   freeswitch/branches/seven/src/mod/endpoints/mod_opal/mod_opal_2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/endpoints/mod_opal/mod_opal_2008.vcproj
   freeswitch/branches/seven/src/mod/endpoints/mod_portaudio/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/endpoints/mod_portaudio/
   freeswitch/branches/seven/src/mod/endpoints/mod_portaudio/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/endpoints/mod_portaudio/Makefile
   freeswitch/branches/seven/src/mod/endpoints/mod_portaudio/mod_PortAudio.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/endpoints/mod_portaudio/mod_PortAudio.2008.vcproj
   freeswitch/branches/seven/src/mod/endpoints/mod_portaudio/mod_PortAudio.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/endpoints/mod_portaudio/mod_PortAudio.vcproj
   freeswitch/branches/seven/src/mod/endpoints/mod_portaudio/mod_portaudio.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/endpoints/mod_portaudio/mod_portaudio.c
   freeswitch/branches/seven/src/mod/endpoints/mod_portaudio/pa_ringbuffer.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/endpoints/mod_portaudio/pa_ringbuffer.c
   freeswitch/branches/seven/src/mod/endpoints/mod_portaudio/pa_ringbuffer.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/endpoints/mod_portaudio/pa_ringbuffer.h
   freeswitch/branches/seven/src/mod/endpoints/mod_portaudio/pablio.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/endpoints/mod_portaudio/pablio.c
   freeswitch/branches/seven/src/mod/endpoints/mod_portaudio/pablio.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/endpoints/mod_portaudio/pablio.h
   freeswitch/branches/seven/src/mod/endpoints/mod_reference/
      - copied from r11459, /freeswitch/trunk/src/mod/endpoints/mod_reference/
   freeswitch/branches/seven/src/mod/endpoints/mod_reference/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/endpoints/mod_reference/Makefile
   freeswitch/branches/seven/src/mod/endpoints/mod_reference/mod_reference.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/endpoints/mod_reference/mod_reference.c
   freeswitch/branches/seven/src/mod/endpoints/mod_sofia/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/endpoints/mod_sofia/
   freeswitch/branches/seven/src/mod/endpoints/mod_sofia/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/endpoints/mod_sofia/Makefile.am
   freeswitch/branches/seven/src/mod/endpoints/mod_sofia/mod_sofia.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.2008.vcproj
   freeswitch/branches/seven/src/mod/endpoints/mod_sofia/mod_sofia.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c
   freeswitch/branches/seven/src/mod/endpoints/mod_sofia/mod_sofia.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.h
   freeswitch/branches/seven/src/mod/endpoints/mod_sofia/mod_sofia.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.vcproj
   freeswitch/branches/seven/src/mod/endpoints/mod_sofia/sofia.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c
   freeswitch/branches/seven/src/mod/endpoints/mod_sofia/sofia_glue.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_glue.c
   freeswitch/branches/seven/src/mod/endpoints/mod_sofia/sofia_presence.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_presence.c
   freeswitch/branches/seven/src/mod/endpoints/mod_sofia/sofia_reg.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_reg.c
   freeswitch/branches/seven/src/mod/endpoints/mod_unicall/
      - copied from r11459, /freeswitch/trunk/src/mod/endpoints/mod_unicall/
   freeswitch/branches/seven/src/mod/endpoints/mod_unicall/mod_unicall.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/endpoints/mod_unicall/mod_unicall.c
   freeswitch/branches/seven/src/mod/event_handlers/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/event_handlers/
   freeswitch/branches/seven/src/mod/event_handlers/mod_cdr_csv/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/event_handlers/mod_cdr_csv/
   freeswitch/branches/seven/src/mod/event_handlers/mod_cdr_csv/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/event_handlers/mod_cdr_csv/Makefile
   freeswitch/branches/seven/src/mod/event_handlers/mod_cdr_csv/mod_cdr_csv.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/event_handlers/mod_cdr_csv/mod_cdr_csv.2008.vcproj
   freeswitch/branches/seven/src/mod/event_handlers/mod_cdr_csv/mod_cdr_csv.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/event_handlers/mod_cdr_csv/mod_cdr_csv.c
   freeswitch/branches/seven/src/mod/event_handlers/mod_cdr_csv/mod_cdr_csv.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/event_handlers/mod_cdr_csv/mod_cdr_csv.vcproj
   freeswitch/branches/seven/src/mod/event_handlers/mod_erlang_event/
      - copied from r11459, /freeswitch/trunk/src/mod/event_handlers/mod_erlang_event/
   freeswitch/branches/seven/src/mod/event_handlers/mod_erlang_event/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/event_handlers/mod_erlang_event/Makefile
   freeswitch/branches/seven/src/mod/event_handlers/mod_erlang_event/ei_helpers.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/event_handlers/mod_erlang_event/ei_helpers.c
   freeswitch/branches/seven/src/mod/event_handlers/mod_erlang_event/erlang_event.conf.xml
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/event_handlers/mod_erlang_event/erlang_event.conf.xml
   freeswitch/branches/seven/src/mod/event_handlers/mod_erlang_event/handle_msg.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/event_handlers/mod_erlang_event/handle_msg.c
   freeswitch/branches/seven/src/mod/event_handlers/mod_erlang_event/mod_erlang_event.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/event_handlers/mod_erlang_event/mod_erlang_event.c
   freeswitch/branches/seven/src/mod/event_handlers/mod_erlang_event/mod_erlang_event.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/event_handlers/mod_erlang_event/mod_erlang_event.h
   freeswitch/branches/seven/src/mod/event_handlers/mod_event_multicast/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/event_handlers/mod_event_multicast/
   freeswitch/branches/seven/src/mod/event_handlers/mod_event_multicast/mod_event_multicast.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/event_handlers/mod_event_multicast/mod_event_multicast.2008.vcproj
   freeswitch/branches/seven/src/mod/event_handlers/mod_event_multicast/mod_event_multicast.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/event_handlers/mod_event_multicast/mod_event_multicast.c
   freeswitch/branches/seven/src/mod/event_handlers/mod_event_multicast/mod_event_multicast.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/event_handlers/mod_event_multicast/mod_event_multicast.vcproj
   freeswitch/branches/seven/src/mod/event_handlers/mod_event_socket/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/event_handlers/mod_event_socket/
   freeswitch/branches/seven/src/mod/event_handlers/mod_event_socket/mod_event_socket.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/event_handlers/mod_event_socket/mod_event_socket.2008.vcproj
   freeswitch/branches/seven/src/mod/event_handlers/mod_event_socket/mod_event_socket.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/event_handlers/mod_event_socket/mod_event_socket.c
   freeswitch/branches/seven/src/mod/event_handlers/mod_event_socket/mod_event_socket.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/event_handlers/mod_event_socket/mod_event_socket.vcproj
   freeswitch/branches/seven/src/mod/event_handlers/mod_event_test/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/event_handlers/mod_event_test/
   freeswitch/branches/seven/src/mod/event_handlers/mod_event_test/mod_event_test.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/event_handlers/mod_event_test/mod_event_test.c
   freeswitch/branches/seven/src/mod/event_handlers/mod_event_test/mod_event_test.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/event_handlers/mod_event_test/mod_event_test.vcproj
   freeswitch/branches/seven/src/mod/event_handlers/mod_radius_cdr/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/event_handlers/mod_radius_cdr/
   freeswitch/branches/seven/src/mod/event_handlers/mod_radius_cdr/Makefile.am
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/event_handlers/mod_radius_cdr/Makefile.am
   freeswitch/branches/seven/src/mod/event_handlers/mod_radius_cdr/README
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/event_handlers/mod_radius_cdr/README
   freeswitch/branches/seven/src/mod/event_handlers/mod_radius_cdr/mod_radius_cdr.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/event_handlers/mod_radius_cdr/mod_radius_cdr.c
   freeswitch/branches/seven/src/mod/event_handlers/mod_radius_cdr/mod_radius_cdr.conf.xml
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/event_handlers/mod_radius_cdr/mod_radius_cdr.conf.xml
   freeswitch/branches/seven/src/mod/event_handlers/mod_radius_cdr/mod_radius_cdr.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/event_handlers/mod_radius_cdr/mod_radius_cdr.h
   freeswitch/branches/seven/src/mod/event_handlers/mod_radius_cdr/radius/
      - copied from r11459, /freeswitch/trunk/src/mod/event_handlers/mod_radius_cdr/radius/
   freeswitch/branches/seven/src/mod/event_handlers/mod_radius_cdr/radius/dictionary
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/event_handlers/mod_radius_cdr/radius/dictionary
   freeswitch/branches/seven/src/mod/event_handlers/mod_zeroconf/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/event_handlers/mod_zeroconf/
   freeswitch/branches/seven/src/mod/event_handlers/mod_zeroconf/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/event_handlers/mod_zeroconf/Makefile
   freeswitch/branches/seven/src/mod/event_handlers/mod_zeroconf/mod_zeroconf.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/event_handlers/mod_zeroconf/mod_zeroconf.2008.vcproj
   freeswitch/branches/seven/src/mod/event_handlers/mod_zeroconf/mod_zeroconf.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/event_handlers/mod_zeroconf/mod_zeroconf.c
   freeswitch/branches/seven/src/mod/event_handlers/mod_zeroconf/mod_zeroconf.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/event_handlers/mod_zeroconf/mod_zeroconf.vcproj
   freeswitch/branches/seven/src/mod/formats/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/formats/
   freeswitch/branches/seven/src/mod/formats/mod_local_stream/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/formats/mod_local_stream/
   freeswitch/branches/seven/src/mod/formats/mod_local_stream/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/formats/mod_local_stream/Makefile
   freeswitch/branches/seven/src/mod/formats/mod_local_stream/mod_local_stream.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/formats/mod_local_stream/mod_local_stream.2008.vcproj
   freeswitch/branches/seven/src/mod/formats/mod_local_stream/mod_local_stream.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/formats/mod_local_stream/mod_local_stream.c
   freeswitch/branches/seven/src/mod/formats/mod_local_stream/mod_local_stream.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/formats/mod_local_stream/mod_local_stream.vcproj
   freeswitch/branches/seven/src/mod/formats/mod_native_file/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/formats/mod_native_file/
   freeswitch/branches/seven/src/mod/formats/mod_native_file/mod_native_file.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/formats/mod_native_file/mod_native_file.2008.vcproj
   freeswitch/branches/seven/src/mod/formats/mod_native_file/mod_native_file.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/formats/mod_native_file/mod_native_file.c
   freeswitch/branches/seven/src/mod/formats/mod_native_file/mod_native_file.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/formats/mod_native_file/mod_native_file.vcproj
   freeswitch/branches/seven/src/mod/formats/mod_shout/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/formats/mod_shout/
   freeswitch/branches/seven/src/mod/formats/mod_shout/MPGLIB_README
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/formats/mod_shout/MPGLIB_README
   freeswitch/branches/seven/src/mod/formats/mod_shout/MPGLIB_TODO
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/formats/mod_shout/MPGLIB_TODO
   freeswitch/branches/seven/src/mod/formats/mod_shout/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/formats/mod_shout/Makefile
   freeswitch/branches/seven/src/mod/formats/mod_shout/mod_shout.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/formats/mod_shout/mod_shout.c
   freeswitch/branches/seven/src/mod/formats/mod_shout/mod_shout.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/formats/mod_shout/mod_shout.vcproj
   freeswitch/branches/seven/src/mod/formats/mod_sndfile/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/formats/mod_sndfile/
   freeswitch/branches/seven/src/mod/formats/mod_sndfile/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/formats/mod_sndfile/Makefile
   freeswitch/branches/seven/src/mod/formats/mod_sndfile/mod_sndfile.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/formats/mod_sndfile/mod_sndfile.2008.vcproj
   freeswitch/branches/seven/src/mod/formats/mod_sndfile/mod_sndfile.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/formats/mod_sndfile/mod_sndfile.c
   freeswitch/branches/seven/src/mod/formats/mod_sndfile/mod_sndfile.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/formats/mod_sndfile/mod_sndfile.vcproj
   freeswitch/branches/seven/src/mod/formats/mod_tone_stream/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/formats/mod_tone_stream/
   freeswitch/branches/seven/src/mod/formats/mod_tone_stream/mod_tone_stream.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/formats/mod_tone_stream/mod_tone_stream.2008.vcproj
   freeswitch/branches/seven/src/mod/formats/mod_tone_stream/mod_tone_stream.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/formats/mod_tone_stream/mod_tone_stream.c
   freeswitch/branches/seven/src/mod/formats/mod_tone_stream/mod_tone_stream.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/formats/mod_tone_stream/mod_tone_stream.vcproj
   freeswitch/branches/seven/src/mod/languages/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/languages/
   freeswitch/branches/seven/src/mod/languages/mod_java/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/languages/mod_java/
   freeswitch/branches/seven/src/mod/languages/mod_java/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_java/Makefile.in
   freeswitch/branches/seven/src/mod/languages/mod_java/freeswitch_java.cpp
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_java/freeswitch_java.cpp
   freeswitch/branches/seven/src/mod/languages/mod_java/freeswitch_java.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_java/freeswitch_java.h
   freeswitch/branches/seven/src/mod/languages/mod_java/mod_java.cpp
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_java/mod_java.cpp
   freeswitch/branches/seven/src/mod/languages/mod_java/mod_java.i
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_java/mod_java.i
   freeswitch/branches/seven/src/mod/languages/mod_java/modjava.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_java/modjava.c
   freeswitch/branches/seven/src/mod/languages/mod_java/src/
      - copied from r11459, /freeswitch/trunk/src/mod/languages/mod_java/src/
   freeswitch/branches/seven/src/mod/languages/mod_java/src/org/
      - copied from r11459, /freeswitch/trunk/src/mod/languages/mod_java/src/org/
   freeswitch/branches/seven/src/mod/languages/mod_java/src/org/freeswitch/
      - copied from r11459, /freeswitch/trunk/src/mod/languages/mod_java/src/org/freeswitch/
   freeswitch/branches/seven/src/mod/languages/mod_java/src/org/freeswitch/DTMFCallback.java
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_java/src/org/freeswitch/DTMFCallback.java
   freeswitch/branches/seven/src/mod/languages/mod_java/src/org/freeswitch/Event.java
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_java/src/org/freeswitch/Event.java
   freeswitch/branches/seven/src/mod/languages/mod_java/src/org/freeswitch/FreeswitchScript.java
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_java/src/org/freeswitch/FreeswitchScript.java
   freeswitch/branches/seven/src/mod/languages/mod_java/src/org/freeswitch/HangupHook.java
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_java/src/org/freeswitch/HangupHook.java
   freeswitch/branches/seven/src/mod/languages/mod_java/src/org/freeswitch/Launcher.java
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_java/src/org/freeswitch/Launcher.java
   freeswitch/branches/seven/src/mod/languages/mod_java/src/org/freeswitch/swig/
      - copied from r11459, /freeswitch/trunk/src/mod/languages/mod_java/src/org/freeswitch/swig/
   freeswitch/branches/seven/src/mod/languages/mod_java/src/org/freeswitch/swig/API.java
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_java/src/org/freeswitch/swig/API.java
   freeswitch/branches/seven/src/mod/languages/mod_java/src/org/freeswitch/swig/CoreSession.java
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_java/src/org/freeswitch/swig/CoreSession.java
   freeswitch/branches/seven/src/mod/languages/mod_java/src/org/freeswitch/swig/DTMF.java
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_java/src/org/freeswitch/swig/DTMF.java
   freeswitch/branches/seven/src/mod/languages/mod_java/src/org/freeswitch/swig/Event.java
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_java/src/org/freeswitch/swig/Event.java
   freeswitch/branches/seven/src/mod/languages/mod_java/src/org/freeswitch/swig/EventConsumer.java
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_java/src/org/freeswitch/swig/EventConsumer.java
   freeswitch/branches/seven/src/mod/languages/mod_java/src/org/freeswitch/swig/IVRMenu.java
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_java/src/org/freeswitch/swig/IVRMenu.java
   freeswitch/branches/seven/src/mod/languages/mod_java/src/org/freeswitch/swig/JavaSession.java
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_java/src/org/freeswitch/swig/JavaSession.java
   freeswitch/branches/seven/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_JavaVM.java
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_JavaVM.java
   freeswitch/branches/seven/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_channel_state_t.java
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_channel_state_t.java
   freeswitch/branches/seven/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_channel_t.java
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_channel_t.java
   freeswitch/branches/seven/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_core_session_t.java
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_core_session_t.java
   freeswitch/branches/seven/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_event_node_t.java
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_event_node_t.java
   freeswitch/branches/seven/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_event_t.java
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_event_t.java
   freeswitch/branches/seven/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_event_types_t.java
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_event_types_t.java
   freeswitch/branches/seven/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_input_args_t.java
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_input_args_t.java
   freeswitch/branches/seven/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_input_type_t.java
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_input_type_t.java
   freeswitch/branches/seven/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_priority_t.java
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_priority_t.java
   freeswitch/branches/seven/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_queue_t.java
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_queue_t.java
   freeswitch/branches/seven/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_size_t.java
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_size_t.java
   freeswitch/branches/seven/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_status_t.java
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_status_t.java
   freeswitch/branches/seven/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_stream_handle_t.java
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_switch_stream_handle_t.java
   freeswitch/branches/seven/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_uint32_t.java
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_uint32_t.java
   freeswitch/branches/seven/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_void.java
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_java/src/org/freeswitch/swig/SWIGTYPE_p_void.java
   freeswitch/branches/seven/src/mod/languages/mod_java/src/org/freeswitch/swig/Stream.java
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_java/src/org/freeswitch/swig/Stream.java
   freeswitch/branches/seven/src/mod/languages/mod_java/src/org/freeswitch/swig/freeswitch.java
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_java/src/org/freeswitch/swig/freeswitch.java
   freeswitch/branches/seven/src/mod/languages/mod_java/src/org/freeswitch/swig/freeswitchJNI.java
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_java/src/org/freeswitch/swig/freeswitchJNI.java
   freeswitch/branches/seven/src/mod/languages/mod_java/src/org/freeswitch/swig/input_callback_state_t.java
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_java/src/org/freeswitch/swig/input_callback_state_t.java
   freeswitch/branches/seven/src/mod/languages/mod_java/src/org/freeswitch/swig/session_flag_t.java
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_java/src/org/freeswitch/swig/session_flag_t.java
   freeswitch/branches/seven/src/mod/languages/mod_java/switch_swig_wrap.cpp
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_java/switch_swig_wrap.cpp
   freeswitch/branches/seven/src/mod/languages/mod_lua/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/
   freeswitch/branches/seven/src/mod/languages/mod_lua/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/Makefile
   freeswitch/branches/seven/src/mod/languages/mod_lua/freeswitch.i
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/freeswitch.i
   freeswitch/branches/seven/src/mod/languages/mod_lua/freeswitch_lua.cpp
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/freeswitch_lua.cpp
   freeswitch/branches/seven/src/mod/languages/mod_lua/freeswitch_lua.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/freeswitch_lua.h
   freeswitch/branches/seven/src/mod/languages/mod_lua/hack.diff
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/hack.diff
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua-mode.el
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua-mode.el
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/Makefile
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/lapi.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/lapi.c
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/lapi.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/lapi.h
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/lauxlib.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/lauxlib.c
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/lauxlib.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/lauxlib.h
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/lbaselib.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/lbaselib.c
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/lcode.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/lcode.c
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/lcode.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/lcode.h
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/ldblib.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/ldblib.c
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/ldebug.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/ldebug.c
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/ldebug.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/ldebug.h
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/ldo.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/ldo.c
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/ldo.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/ldo.h
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/ldump.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/ldump.c
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/lfunc.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/lfunc.c
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/lfunc.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/lfunc.h
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/lgc.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/lgc.c
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/lgc.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/lgc.h
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/linit.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/linit.c
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/liolib.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/liolib.c
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/llex.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/llex.c
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/llex.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/llex.h
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/llimits.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/llimits.h
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/lmathlib.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/lmathlib.c
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/lmem.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/lmem.c
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/lmem.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/lmem.h
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/loadlib.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/loadlib.c
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/lobject.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/lobject.c
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/lobject.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/lobject.h
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/lopcodes.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/lopcodes.c
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/lopcodes.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/lopcodes.h
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/loslib.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/loslib.c
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/lparser.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/lparser.c
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/lparser.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/lparser.h
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/lstate.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/lstate.c
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/lstate.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/lstate.h
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/lstring.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/lstring.c
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/lstring.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/lstring.h
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/lstrlib.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/lstrlib.c
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/ltable.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/ltable.c
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/ltable.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/ltable.h
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/ltablib.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/ltablib.c
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/ltm.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/ltm.c
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/ltm.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/ltm.h
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/lua.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/lua.c
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/lua.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/lua.h
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/luac.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/luac.c
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/luaconf.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/luaconf.h
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/lualib.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/lualib.h
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/lundump.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/lundump.c
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/lundump.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/lundump.h
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/lvm.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/lvm.c
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/lvm.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/lvm.h
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/lzio.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/lzio.c
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/lzio.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/lzio.h
   freeswitch/branches/seven/src/mod/languages/mod_lua/lua/print.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/lua/print.c
   freeswitch/branches/seven/src/mod/languages/mod_lua/mod_lua.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/mod_lua.2008.vcproj
   freeswitch/branches/seven/src/mod/languages/mod_lua/mod_lua.cpp
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/mod_lua.cpp
   freeswitch/branches/seven/src/mod/languages/mod_lua/mod_lua.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/mod_lua.vcproj
   freeswitch/branches/seven/src/mod/languages/mod_lua/mod_lua_extra.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/mod_lua_extra.c
   freeswitch/branches/seven/src/mod/languages/mod_lua/mod_lua_extra.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/mod_lua_extra.h
   freeswitch/branches/seven/src/mod/languages/mod_lua/mod_lua_wrap.cpp
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/mod_lua_wrap.cpp
   freeswitch/branches/seven/src/mod/languages/mod_lua/my_swigable_cpp.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_lua/my_swigable_cpp.h
   freeswitch/branches/seven/src/mod/languages/mod_managed/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/languages/mod_managed/
   freeswitch/branches/seven/src/mod/languages/mod_managed/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_managed/Makefile
   freeswitch/branches/seven/src/mod/languages/mod_managed/freeswitch.i
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_managed/freeswitch.i
   freeswitch/branches/seven/src/mod/languages/mod_managed/freeswitch_managed.cpp
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_managed/freeswitch_managed.cpp
   freeswitch/branches/seven/src/mod/languages/mod_managed/freeswitch_managed.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_managed/freeswitch_managed.h
   freeswitch/branches/seven/src/mod/languages/mod_managed/freeswitch_wrap.cxx
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_managed/freeswitch_wrap.cxx
   freeswitch/branches/seven/src/mod/languages/mod_managed/managed/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/languages/mod_managed/managed/
   freeswitch/branches/seven/src/mod/languages/mod_managed/managed/ApiFunction.cs
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_managed/managed/ApiFunction.cs
   freeswitch/branches/seven/src/mod/languages/mod_managed/managed/AppFunction.cs
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_managed/managed/AppFunction.cs
   freeswitch/branches/seven/src/mod/languages/mod_managed/managed/AssemblyInfo.cs
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_managed/managed/AssemblyInfo.cs
   freeswitch/branches/seven/src/mod/languages/mod_managed/managed/Demo.cs
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_managed/managed/Demo.cs
   freeswitch/branches/seven/src/mod/languages/mod_managed/managed/Extensions.cs
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_managed/managed/Extensions.cs
   freeswitch/branches/seven/src/mod/languages/mod_managed/managed/FreeSWITCH.Managed.csproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_managed/managed/FreeSWITCH.Managed.csproj
   freeswitch/branches/seven/src/mod/languages/mod_managed/managed/Loader.cs
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_managed/managed/Loader.cs
   freeswitch/branches/seven/src/mod/languages/mod_managed/managed/Log.cs
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_managed/managed/Log.cs
   freeswitch/branches/seven/src/mod/languages/mod_managed/managed/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_managed/managed/Makefile
   freeswitch/branches/seven/src/mod/languages/mod_managed/managed/ManagedSession.cs
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_managed/managed/ManagedSession.cs
   freeswitch/branches/seven/src/mod/languages/mod_managed/managed/swig.cs
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_managed/managed/swig.cs
   freeswitch/branches/seven/src/mod/languages/mod_managed/mod_managed.cpp
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_managed/mod_managed.cpp
   freeswitch/branches/seven/src/mod/languages/mod_managed/mod_managed.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_managed/mod_managed.vcproj
   freeswitch/branches/seven/src/mod/languages/mod_managed/mono.def
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_managed/mono.def
   freeswitch/branches/seven/src/mod/languages/mod_managed/monolibx86.cmd
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_managed/monolibx86.cmd
   freeswitch/branches/seven/src/mod/languages/mod_managed/runswig.cmd
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_managed/runswig.cmd
   freeswitch/branches/seven/src/mod/languages/mod_managed/switch_platform.i
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_managed/switch_platform.i
   freeswitch/branches/seven/src/mod/languages/mod_mono/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/languages/mod_mono/
   freeswitch/branches/seven/src/mod/languages/mod_mono/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_mono/Makefile
   freeswitch/branches/seven/src/mod/languages/mod_mono/freeswitch.i
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_mono/freeswitch.i
   freeswitch/branches/seven/src/mod/languages/mod_mono/freeswitch_mono.cpp
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_mono/freeswitch_mono.cpp
   freeswitch/branches/seven/src/mod/languages/mod_mono/freeswitch_mono.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_mono/freeswitch_mono.h
   freeswitch/branches/seven/src/mod/languages/mod_mono/freeswitch_wrap.cxx
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_mono/freeswitch_wrap.cxx
   freeswitch/branches/seven/src/mod/languages/mod_mono/mod_mono.cpp
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_mono/mod_mono.cpp
   freeswitch/branches/seven/src/mod/languages/mod_mono/mod_mono.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_mono/mod_mono.vcproj
   freeswitch/branches/seven/src/mod/languages/mod_mono/mono.def
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_mono/mono.def
   freeswitch/branches/seven/src/mod/languages/mod_mono/monolibx86.cmd
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_mono/monolibx86.cmd
   freeswitch/branches/seven/src/mod/languages/mod_mono/runswig.cmd
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_mono/runswig.cmd
   freeswitch/branches/seven/src/mod/languages/mod_mono/runswig.sh
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_mono/runswig.sh
   freeswitch/branches/seven/src/mod/languages/mod_mono/switch_platform.i
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_mono/switch_platform.i
   freeswitch/branches/seven/src/mod/languages/mod_mono_managed/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/languages/mod_mono_managed/
   freeswitch/branches/seven/src/mod/languages/mod_mono_managed/ApiFunction.cs
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_mono_managed/ApiFunction.cs
   freeswitch/branches/seven/src/mod/languages/mod_mono_managed/AppFunction.cs
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_mono_managed/AppFunction.cs
   freeswitch/branches/seven/src/mod/languages/mod_mono_managed/Demo.cs
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_mono_managed/Demo.cs
   freeswitch/branches/seven/src/mod/languages/mod_mono_managed/Extensions.cs
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_mono_managed/Extensions.cs
   freeswitch/branches/seven/src/mod/languages/mod_mono_managed/Loader.cs
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_mono_managed/Loader.cs
   freeswitch/branches/seven/src/mod/languages/mod_mono_managed/Log.cs
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_mono_managed/Log.cs
   freeswitch/branches/seven/src/mod/languages/mod_mono_managed/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_mono_managed/Makefile
   freeswitch/branches/seven/src/mod/languages/mod_mono_managed/MonoSession.cs
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_mono_managed/MonoSession.cs
   freeswitch/branches/seven/src/mod/languages/mod_mono_managed/Properties/
      - copied from r11459, /freeswitch/trunk/src/mod/languages/mod_mono_managed/Properties/
   freeswitch/branches/seven/src/mod/languages/mod_mono_managed/Properties/AssemblyInfo.cs
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_mono_managed/Properties/AssemblyInfo.cs
   freeswitch/branches/seven/src/mod/languages/mod_mono_managed/mod_mono_managed.csproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_mono_managed/mod_mono_managed.csproj
   freeswitch/branches/seven/src/mod/languages/mod_mono_managed/swig/
      - copied from r11459, /freeswitch/trunk/src/mod/languages/mod_mono_managed/swig/
   freeswitch/branches/seven/src/mod/languages/mod_mono_managed/swig.cs
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_mono_managed/swig.cs
   freeswitch/branches/seven/src/mod/languages/mod_perl/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/languages/mod_perl/
   freeswitch/branches/seven/src/mod/languages/mod_perl/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_perl/Makefile
   freeswitch/branches/seven/src/mod/languages/mod_perl/compiler.opts
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_perl/compiler.opts
   freeswitch/branches/seven/src/mod/languages/mod_perl/compiler.opts.in
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_perl/compiler.opts.in
   freeswitch/branches/seven/src/mod/languages/mod_perl/freeswitch.i
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_perl/freeswitch.i
   freeswitch/branches/seven/src/mod/languages/mod_perl/freeswitch.pm
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_perl/freeswitch.pm
   freeswitch/branches/seven/src/mod/languages/mod_perl/freeswitch_perl.cpp
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_perl/freeswitch_perl.cpp
   freeswitch/branches/seven/src/mod/languages/mod_perl/freeswitch_perl.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_perl/freeswitch_perl.h
   freeswitch/branches/seven/src/mod/languages/mod_perl/hack.diff
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_perl/hack.diff
   freeswitch/branches/seven/src/mod/languages/mod_perl/mod_perl.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_perl/mod_perl.c
   freeswitch/branches/seven/src/mod/languages/mod_perl/mod_perl.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_perl/mod_perl.vcproj
   freeswitch/branches/seven/src/mod/languages/mod_perl/mod_perl_extra.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_perl/mod_perl_extra.c
   freeswitch/branches/seven/src/mod/languages/mod_perl/mod_perl_extra.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_perl/mod_perl_extra.h
   freeswitch/branches/seven/src/mod/languages/mod_perl/mod_perl_wrap.cpp
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_perl/mod_perl_wrap.cpp
   freeswitch/branches/seven/src/mod/languages/mod_perl/perlibs.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_perl/perlibs.h
   freeswitch/branches/seven/src/mod/languages/mod_perl/perlibs.h.in
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_perl/perlibs.h.in
   freeswitch/branches/seven/src/mod/languages/mod_perl/perlxsi.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_perl/perlxsi.c
   freeswitch/branches/seven/src/mod/languages/mod_python/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/languages/mod_python/
   freeswitch/branches/seven/src/mod/languages/mod_python/Makefile.in
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_python/Makefile.in
   freeswitch/branches/seven/src/mod/languages/mod_python/freeswitch.py
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_python/freeswitch.py
   freeswitch/branches/seven/src/mod/languages/mod_python/freeswitch_python.cpp
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_python/freeswitch_python.cpp
   freeswitch/branches/seven/src/mod/languages/mod_python/freeswitch_python.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_python/freeswitch_python.h
   freeswitch/branches/seven/src/mod/languages/mod_python/hack.diff
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_python/hack.diff
   freeswitch/branches/seven/src/mod/languages/mod_python/mod_python.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_python/mod_python.c
   freeswitch/branches/seven/src/mod/languages/mod_python/mod_python.i
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_python/mod_python.i
   freeswitch/branches/seven/src/mod/languages/mod_python/mod_python_extra.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_python/mod_python_extra.c
   freeswitch/branches/seven/src/mod/languages/mod_python/mod_python_extra.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_python/mod_python_extra.h
   freeswitch/branches/seven/src/mod/languages/mod_python/mod_python_wrap.cpp
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_python/mod_python_wrap.cpp
   freeswitch/branches/seven/src/mod/languages/mod_python/python_example.py
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_python/python_example.py
   freeswitch/branches/seven/src/mod/languages/mod_spidermonkey/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/languages/mod_spidermonkey/
   freeswitch/branches/seven/src/mod/languages/mod_spidermonkey/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_spidermonkey/Makefile
   freeswitch/branches/seven/src/mod/languages/mod_spidermonkey/mod_spidermonkey.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.2008.vcproj
   freeswitch/branches/seven/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c
   freeswitch/branches/seven/src/mod/languages/mod_spidermonkey/mod_spidermonkey.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.h
   freeswitch/branches/seven/src/mod/languages/mod_spidermonkey/mod_spidermonkey.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.vcproj
   freeswitch/branches/seven/src/mod/languages/mod_spidermonkey/sm.mak
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_spidermonkey/sm.mak
   freeswitch/branches/seven/src/mod/languages/mod_spidermonkey_core_db/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/languages/mod_spidermonkey_core_db/
   freeswitch/branches/seven/src/mod/languages/mod_spidermonkey_core_db/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_spidermonkey_core_db/Makefile
   freeswitch/branches/seven/src/mod/languages/mod_spidermonkey_core_db/mod_spidermonkey_core_db.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_spidermonkey_core_db/mod_spidermonkey_core_db.2008.vcproj
   freeswitch/branches/seven/src/mod/languages/mod_spidermonkey_core_db/mod_spidermonkey_core_db.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_spidermonkey_core_db/mod_spidermonkey_core_db.c
   freeswitch/branches/seven/src/mod/languages/mod_spidermonkey_core_db/mod_spidermonkey_core_db.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_spidermonkey_core_db/mod_spidermonkey_core_db.vcproj
   freeswitch/branches/seven/src/mod/languages/mod_spidermonkey_curl/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/languages/mod_spidermonkey_curl/
   freeswitch/branches/seven/src/mod/languages/mod_spidermonkey_curl/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_spidermonkey_curl/Makefile
   freeswitch/branches/seven/src/mod/languages/mod_spidermonkey_curl/mod_spidermonkey_curl.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_spidermonkey_curl/mod_spidermonkey_curl.2008.vcproj
   freeswitch/branches/seven/src/mod/languages/mod_spidermonkey_curl/mod_spidermonkey_curl.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_spidermonkey_curl/mod_spidermonkey_curl.c
   freeswitch/branches/seven/src/mod/languages/mod_spidermonkey_curl/mod_spidermonkey_curl.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_spidermonkey_curl/mod_spidermonkey_curl.vcproj
   freeswitch/branches/seven/src/mod/languages/mod_spidermonkey_odbc/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/languages/mod_spidermonkey_odbc/
   freeswitch/branches/seven/src/mod/languages/mod_spidermonkey_odbc/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_spidermonkey_odbc/Makefile
   freeswitch/branches/seven/src/mod/languages/mod_spidermonkey_odbc/mod_spidermonkey_odbc.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_spidermonkey_odbc/mod_spidermonkey_odbc.2008.vcproj
   freeswitch/branches/seven/src/mod/languages/mod_spidermonkey_odbc/mod_spidermonkey_odbc.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_spidermonkey_odbc/mod_spidermonkey_odbc.c
   freeswitch/branches/seven/src/mod/languages/mod_spidermonkey_odbc/mod_spidermonkey_odbc.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_spidermonkey_odbc/mod_spidermonkey_odbc.vcproj
   freeswitch/branches/seven/src/mod/languages/mod_spidermonkey_skel/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/languages/mod_spidermonkey_skel/
   freeswitch/branches/seven/src/mod/languages/mod_spidermonkey_skel/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_spidermonkey_skel/Makefile
   freeswitch/branches/seven/src/mod/languages/mod_spidermonkey_skel/mod_spidermonkey_skel.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_spidermonkey_skel/mod_spidermonkey_skel.c
   freeswitch/branches/seven/src/mod/languages/mod_spidermonkey_socket/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/languages/mod_spidermonkey_socket/
   freeswitch/branches/seven/src/mod/languages/mod_spidermonkey_socket/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_spidermonkey_socket/Makefile
   freeswitch/branches/seven/src/mod/languages/mod_spidermonkey_socket/mod_spidermonkey_socket.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_spidermonkey_socket/mod_spidermonkey_socket.2008.vcproj
   freeswitch/branches/seven/src/mod/languages/mod_spidermonkey_socket/mod_spidermonkey_socket.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_spidermonkey_socket/mod_spidermonkey_socket.c
   freeswitch/branches/seven/src/mod/languages/mod_spidermonkey_socket/mod_spidermonkey_socket.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_spidermonkey_socket/mod_spidermonkey_socket.vcproj
   freeswitch/branches/seven/src/mod/languages/mod_spidermonkey_teletone/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/languages/mod_spidermonkey_teletone/
   freeswitch/branches/seven/src/mod/languages/mod_spidermonkey_teletone/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_spidermonkey_teletone/Makefile
   freeswitch/branches/seven/src/mod/languages/mod_spidermonkey_teletone/mod_spidermonkey_teletone.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_spidermonkey_teletone/mod_spidermonkey_teletone.2008.vcproj
   freeswitch/branches/seven/src/mod/languages/mod_spidermonkey_teletone/mod_spidermonkey_teletone.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_spidermonkey_teletone/mod_spidermonkey_teletone.c
   freeswitch/branches/seven/src/mod/languages/mod_spidermonkey_teletone/mod_spidermonkey_teletone.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_spidermonkey_teletone/mod_spidermonkey_teletone.vcproj
   freeswitch/branches/seven/src/mod/languages/mod_yaml/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/languages/mod_yaml/
   freeswitch/branches/seven/src/mod/languages/mod_yaml/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_yaml/Makefile
   freeswitch/branches/seven/src/mod/languages/mod_yaml/mod_yaml.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/languages/mod_yaml/mod_yaml.c
   freeswitch/branches/seven/src/mod/loggers/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/loggers/
   freeswitch/branches/seven/src/mod/loggers/mod_console/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/loggers/mod_console/
   freeswitch/branches/seven/src/mod/loggers/mod_console/mod_console.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/loggers/mod_console/mod_console.2008.vcproj
   freeswitch/branches/seven/src/mod/loggers/mod_console/mod_console.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/loggers/mod_console/mod_console.c
   freeswitch/branches/seven/src/mod/loggers/mod_console/mod_console.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/loggers/mod_console/mod_console.vcproj
   freeswitch/branches/seven/src/mod/loggers/mod_logfile/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/loggers/mod_logfile/
   freeswitch/branches/seven/src/mod/loggers/mod_logfile/mod_logfile.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/loggers/mod_logfile/mod_logfile.2008.vcproj
   freeswitch/branches/seven/src/mod/loggers/mod_logfile/mod_logfile.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/loggers/mod_logfile/mod_logfile.c
   freeswitch/branches/seven/src/mod/loggers/mod_logfile/mod_logfile.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/loggers/mod_logfile/mod_logfile.vcproj
   freeswitch/branches/seven/src/mod/loggers/mod_syslog/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/loggers/mod_syslog/
   freeswitch/branches/seven/src/mod/loggers/mod_syslog/mod_syslog.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/loggers/mod_syslog/mod_syslog.c
   freeswitch/branches/seven/src/mod/say/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/say/
   freeswitch/branches/seven/src/mod/say/mod_say_de/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/say/mod_say_de/
   freeswitch/branches/seven/src/mod/say/mod_say_de/mod_say_de.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/say/mod_say_de/mod_say_de.2008.vcproj
   freeswitch/branches/seven/src/mod/say/mod_say_de/mod_say_de.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/say/mod_say_de/mod_say_de.c
   freeswitch/branches/seven/src/mod/say/mod_say_de/mod_say_de.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/say/mod_say_de/mod_say_de.vcproj
   freeswitch/branches/seven/src/mod/say/mod_say_en/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/say/mod_say_en/
   freeswitch/branches/seven/src/mod/say/mod_say_en/mod_say_en.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/say/mod_say_en/mod_say_en.2008.vcproj
   freeswitch/branches/seven/src/mod/say/mod_say_en/mod_say_en.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/say/mod_say_en/mod_say_en.c
   freeswitch/branches/seven/src/mod/say/mod_say_en/mod_say_en.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/say/mod_say_en/mod_say_en.vcproj
   freeswitch/branches/seven/src/mod/say/mod_say_es/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/say/mod_say_es/
   freeswitch/branches/seven/src/mod/say/mod_say_es/mod_say_es.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/say/mod_say_es/mod_say_es.2008.vcproj
   freeswitch/branches/seven/src/mod/say/mod_say_es/mod_say_es.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/say/mod_say_es/mod_say_es.c
   freeswitch/branches/seven/src/mod/say/mod_say_es/mod_say_es.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/say/mod_say_es/mod_say_es.vcproj
   freeswitch/branches/seven/src/mod/say/mod_say_fr/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/say/mod_say_fr/
   freeswitch/branches/seven/src/mod/say/mod_say_fr/mod_say_fr.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/say/mod_say_fr/mod_say_fr.2008.vcproj
   freeswitch/branches/seven/src/mod/say/mod_say_fr/mod_say_fr.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/say/mod_say_fr/mod_say_fr.c
   freeswitch/branches/seven/src/mod/say/mod_say_fr/mod_say_fr.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/say/mod_say_fr/mod_say_fr.vcproj
   freeswitch/branches/seven/src/mod/say/mod_say_it/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/say/mod_say_it/
   freeswitch/branches/seven/src/mod/say/mod_say_it/mod_say_it.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/say/mod_say_it/mod_say_it.2008.vcproj
   freeswitch/branches/seven/src/mod/say/mod_say_it/mod_say_it.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/say/mod_say_it/mod_say_it.c
   freeswitch/branches/seven/src/mod/say/mod_say_it/mod_say_it.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/say/mod_say_it/mod_say_it.vcproj
   freeswitch/branches/seven/src/mod/say/mod_say_nl/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/say/mod_say_nl/
   freeswitch/branches/seven/src/mod/say/mod_say_nl/mod_say_nl.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/say/mod_say_nl/mod_say_nl.2008.vcproj
   freeswitch/branches/seven/src/mod/say/mod_say_nl/mod_say_nl.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/say/mod_say_nl/mod_say_nl.c
   freeswitch/branches/seven/src/mod/say/mod_say_nl/mod_say_nl.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/say/mod_say_nl/mod_say_nl.vcproj
   freeswitch/branches/seven/src/mod/say/mod_say_zh/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/say/mod_say_zh/
   freeswitch/branches/seven/src/mod/say/mod_say_zh/mod_say_zh.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/say/mod_say_zh/mod_say_zh.2008.vcproj
   freeswitch/branches/seven/src/mod/say/mod_say_zh/mod_say_zh.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/say/mod_say_zh/mod_say_zh.c
   freeswitch/branches/seven/src/mod/say/mod_say_zh/mod_say_zh.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/say/mod_say_zh/mod_say_zh.vcproj
   freeswitch/branches/seven/src/mod/timers/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/timers/
   freeswitch/branches/seven/src/mod/xml_int/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/xml_int/
   freeswitch/branches/seven/src/mod/xml_int/mod_xml_cdr/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/xml_int/mod_xml_cdr/
   freeswitch/branches/seven/src/mod/xml_int/mod_xml_cdr/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/xml_int/mod_xml_cdr/Makefile
   freeswitch/branches/seven/src/mod/xml_int/mod_xml_cdr/mod_xml_cdr.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/xml_int/mod_xml_cdr/mod_xml_cdr.2008.vcproj
   freeswitch/branches/seven/src/mod/xml_int/mod_xml_cdr/mod_xml_cdr.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/xml_int/mod_xml_cdr/mod_xml_cdr.c
   freeswitch/branches/seven/src/mod/xml_int/mod_xml_cdr/mod_xml_cdr.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/xml_int/mod_xml_cdr/mod_xml_cdr.vcproj
   freeswitch/branches/seven/src/mod/xml_int/mod_xml_curl/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/xml_int/mod_xml_curl/
   freeswitch/branches/seven/src/mod/xml_int/mod_xml_curl/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/xml_int/mod_xml_curl/Makefile
   freeswitch/branches/seven/src/mod/xml_int/mod_xml_curl/mod_xml_curl.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/xml_int/mod_xml_curl/mod_xml_curl.2008.vcproj
   freeswitch/branches/seven/src/mod/xml_int/mod_xml_curl/mod_xml_curl.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/xml_int/mod_xml_curl/mod_xml_curl.c
   freeswitch/branches/seven/src/mod/xml_int/mod_xml_curl/mod_xml_curl.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/xml_int/mod_xml_curl/mod_xml_curl.vcproj
   freeswitch/branches/seven/src/mod/xml_int/mod_xml_ldap/
      - copied from r11459, /freeswitch/trunk/src/mod/xml_int/mod_xml_ldap/
   freeswitch/branches/seven/src/mod/xml_int/mod_xml_ldap/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/xml_int/mod_xml_ldap/Makefile
   freeswitch/branches/seven/src/mod/xml_int/mod_xml_ldap/fsv2.schema
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/xml_int/mod_xml_ldap/fsv2.schema
   freeswitch/branches/seven/src/mod/xml_int/mod_xml_ldap/lutil_ldap.h
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/xml_int/mod_xml_ldap/lutil_ldap.h
   freeswitch/branches/seven/src/mod/xml_int/mod_xml_ldap/mod_xml_curl.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/xml_int/mod_xml_ldap/mod_xml_curl.2008.vcproj
   freeswitch/branches/seven/src/mod/xml_int/mod_xml_ldap/mod_xml_curl.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/xml_int/mod_xml_ldap/mod_xml_curl.vcproj
   freeswitch/branches/seven/src/mod/xml_int/mod_xml_ldap/mod_xml_ldap.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/xml_int/mod_xml_ldap/mod_xml_ldap.c
   freeswitch/branches/seven/src/mod/xml_int/mod_xml_ldap/mod_xml_ldapv2.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/xml_int/mod_xml_ldap/mod_xml_ldapv2.c
   freeswitch/branches/seven/src/mod/xml_int/mod_xml_ldap/reallyconfusingslapcat
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/xml_int/mod_xml_ldap/reallyconfusingslapcat
   freeswitch/branches/seven/src/mod/xml_int/mod_xml_rpc/   (props changed)
      - copied from r11459, /freeswitch/trunk/src/mod/xml_int/mod_xml_rpc/
   freeswitch/branches/seven/src/mod/xml_int/mod_xml_rpc/Makefile
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/xml_int/mod_xml_rpc/Makefile
   freeswitch/branches/seven/src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.2008.vcproj
   freeswitch/branches/seven/src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.c
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.c
   freeswitch/branches/seven/src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.vcproj
   freeswitch/branches/seven/src/switch.c
      - copied unchanged from r11459, /freeswitch/trunk/src/switch.c
   freeswitch/branches/seven/src/switch_apr.c
      - copied unchanged from r11459, /freeswitch/trunk/src/switch_apr.c
   freeswitch/branches/seven/src/switch_buffer.c
      - copied unchanged from r11459, /freeswitch/trunk/src/switch_buffer.c
   freeswitch/branches/seven/src/switch_caller.c
      - copied unchanged from r11459, /freeswitch/trunk/src/switch_caller.c
   freeswitch/branches/seven/src/switch_channel.c
      - copied unchanged from r11459, /freeswitch/trunk/src/switch_channel.c
   freeswitch/branches/seven/src/switch_config.c
      - copied unchanged from r11459, /freeswitch/trunk/src/switch_config.c
   freeswitch/branches/seven/src/switch_console.c
      - copied unchanged from r11459, /freeswitch/trunk/src/switch_console.c
   freeswitch/branches/seven/src/switch_core.c
      - copied unchanged from r11459, /freeswitch/trunk/src/switch_core.c
   freeswitch/branches/seven/src/switch_core_asr.c
      - copied unchanged from r11459, /freeswitch/trunk/src/switch_core_asr.c
   freeswitch/branches/seven/src/switch_core_codec.c
      - copied unchanged from r11459, /freeswitch/trunk/src/switch_core_codec.c
   freeswitch/branches/seven/src/switch_core_db.c
      - copied unchanged from r11459, /freeswitch/trunk/src/switch_core_db.c
   freeswitch/branches/seven/src/switch_core_directory.c
      - copied unchanged from r11459, /freeswitch/trunk/src/switch_core_directory.c
   freeswitch/branches/seven/src/switch_core_event_hook.c
      - copied unchanged from r11459, /freeswitch/trunk/src/switch_core_event_hook.c
   freeswitch/branches/seven/src/switch_core_file.c
      - copied unchanged from r11459, /freeswitch/trunk/src/switch_core_file.c
   freeswitch/branches/seven/src/switch_core_hash.c
      - copied unchanged from r11459, /freeswitch/trunk/src/switch_core_hash.c
   freeswitch/branches/seven/src/switch_core_io.c
      - copied unchanged from r11459, /freeswitch/trunk/src/switch_core_io.c
   freeswitch/branches/seven/src/switch_core_media_bug.c
      - copied unchanged from r11459, /freeswitch/trunk/src/switch_core_media_bug.c
   freeswitch/branches/seven/src/switch_core_memory.c
      - copied unchanged from r11459, /freeswitch/trunk/src/switch_core_memory.c
   freeswitch/branches/seven/src/switch_core_port_allocator.c
      - copied unchanged from r11459, /freeswitch/trunk/src/switch_core_port_allocator.c
   freeswitch/branches/seven/src/switch_core_rwlock.c
      - copied unchanged from r11459, /freeswitch/trunk/src/switch_core_rwlock.c
   freeswitch/branches/seven/src/switch_core_session.c
      - copied unchanged from r11459, /freeswitch/trunk/src/switch_core_session.c
   freeswitch/branches/seven/src/switch_core_speech.c
      - copied unchanged from r11459, /freeswitch/trunk/src/switch_core_speech.c
   freeswitch/branches/seven/src/switch_core_sqldb.c
      - copied unchanged from r11459, /freeswitch/trunk/src/switch_core_sqldb.c
   freeswitch/branches/seven/src/switch_core_state_machine.c
      - copied unchanged from r11459, /freeswitch/trunk/src/switch_core_state_machine.c
   freeswitch/branches/seven/src/switch_core_timer.c
      - copied unchanged from r11459, /freeswitch/trunk/src/switch_core_timer.c
   freeswitch/branches/seven/src/switch_cpp.cpp
      - copied unchanged from r11459, /freeswitch/trunk/src/switch_cpp.cpp
   freeswitch/branches/seven/src/switch_dso.c
      - copied unchanged from r11459, /freeswitch/trunk/src/switch_dso.c
   freeswitch/branches/seven/src/switch_event.c
      - copied unchanged from r11459, /freeswitch/trunk/src/switch_event.c
   freeswitch/branches/seven/src/switch_ivr.c
      - copied unchanged from r11459, /freeswitch/trunk/src/switch_ivr.c
   freeswitch/branches/seven/src/switch_ivr_async.c
      - copied unchanged from r11459, /freeswitch/trunk/src/switch_ivr_async.c
   freeswitch/branches/seven/src/switch_ivr_bridge.c
      - copied unchanged from r11459, /freeswitch/trunk/src/switch_ivr_bridge.c
   freeswitch/branches/seven/src/switch_ivr_menu.c
      - copied unchanged from r11459, /freeswitch/trunk/src/switch_ivr_menu.c
   freeswitch/branches/seven/src/switch_ivr_originate.c
      - copied unchanged from r11459, /freeswitch/trunk/src/switch_ivr_originate.c
   freeswitch/branches/seven/src/switch_ivr_play_say.c
      - copied unchanged from r11459, /freeswitch/trunk/src/switch_ivr_play_say.c
   freeswitch/branches/seven/src/switch_loadable_module.c
      - copied unchanged from r11459, /freeswitch/trunk/src/switch_loadable_module.c
   freeswitch/branches/seven/src/switch_log.c
      - copied unchanged from r11459, /freeswitch/trunk/src/switch_log.c
   freeswitch/branches/seven/src/switch_odbc.c
      - copied unchanged from r11459, /freeswitch/trunk/src/switch_odbc.c
   freeswitch/branches/seven/src/switch_pcm.c
      - copied unchanged from r11459, /freeswitch/trunk/src/switch_pcm.c
   freeswitch/branches/seven/src/switch_regex.c
      - copied unchanged from r11459, /freeswitch/trunk/src/switch_regex.c
   freeswitch/branches/seven/src/switch_resample.c
      - copied unchanged from r11459, /freeswitch/trunk/src/switch_resample.c
   freeswitch/branches/seven/src/switch_rtp.c
      - copied unchanged from r11459, /freeswitch/trunk/src/switch_rtp.c
   freeswitch/branches/seven/src/switch_scheduler.c
      - copied unchanged from r11459, /freeswitch/trunk/src/switch_scheduler.c
   freeswitch/branches/seven/src/switch_stun.c
      - copied unchanged from r11459, /freeswitch/trunk/src/switch_stun.c
   freeswitch/branches/seven/src/switch_swig.c
      - copied unchanged from r11459, /freeswitch/trunk/src/switch_swig.c
   freeswitch/branches/seven/src/switch_swig.i
      - copied unchanged from r11459, /freeswitch/trunk/src/switch_swig.i
   freeswitch/branches/seven/src/switch_time.c
      - copied unchanged from r11459, /freeswitch/trunk/src/switch_time.c
   freeswitch/branches/seven/src/switch_utils.c
      - copied unchanged from r11459, /freeswitch/trunk/src/switch_utils.c
   freeswitch/branches/seven/src/switch_xml.c
      - copied unchanged from r11459, /freeswitch/trunk/src/switch_xml.c
   freeswitch/branches/seven/support-d/
      - copied from r11459, /freeswitch/trunk/support-d/
   freeswitch/branches/seven/support-d/.bashrc
      - copied unchanged from r11459, /freeswitch/trunk/support-d/.bashrc
   freeswitch/branches/seven/support-d/.emacs
      - copied unchanged from r11459, /freeswitch/trunk/support-d/.emacs
   freeswitch/branches/seven/support-d/.screenrc
      - copied unchanged from r11459, /freeswitch/trunk/support-d/.screenrc
   freeswitch/branches/seven/support-d/freeswitch.pub
      - copied unchanged from r11459, /freeswitch/trunk/support-d/freeswitch.pub
   freeswitch/branches/seven/support-d/install-cc-mode.sh
      - copied unchanged from r11459, /freeswitch/trunk/support-d/install-cc-mode.sh
   freeswitch/branches/seven/support-d/prereq.sh
      - copied unchanged from r11459, /freeswitch/trunk/support-d/prereq.sh
   freeswitch/branches/seven/support-d/shinzon.pub
      - copied unchanged from r11459, /freeswitch/trunk/support-d/shinzon.pub
   freeswitch/branches/seven/w32/   (props changed)
      - copied from r11459, /freeswitch/trunk/w32/
   freeswitch/branches/seven/w32/Console/   (props changed)
      - copied from r11459, /freeswitch/trunk/w32/Console/
   freeswitch/branches/seven/w32/Console/FreeSwitchConsole.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/w32/Console/FreeSwitchConsole.2008.vcproj
   freeswitch/branches/seven/w32/Console/FreeSwitchConsole.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/w32/Console/FreeSwitchConsole.vcproj
   freeswitch/branches/seven/w32/Console/FreeSwitchConsole.vcproj.user
      - copied unchanged from r11459, /freeswitch/trunk/w32/Console/FreeSwitchConsole.vcproj.user
   freeswitch/branches/seven/w32/Library/   (props changed)
      - copied from r11459, /freeswitch/trunk/w32/Library/
   freeswitch/branches/seven/w32/Library/FreeSwitchCore.2008.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/w32/Library/FreeSwitchCore.2008.vcproj
   freeswitch/branches/seven/w32/Library/FreeSwitchCore.vcproj
      - copied unchanged from r11459, /freeswitch/trunk/w32/Library/FreeSwitchCore.vcproj
   freeswitch/branches/seven/w32/Setup/   (props changed)
      - copied from r11459, /freeswitch/trunk/w32/Setup/
   freeswitch/branches/seven/w32/Setup/Setup.2008.vdproj
      - copied unchanged from r11459, /freeswitch/trunk/w32/Setup/Setup.2008.vdproj
   freeswitch/branches/seven/w32/Setup/Setup.vdproj
      - copied unchanged from r11459, /freeswitch/trunk/w32/Setup/Setup.vdproj
   freeswitch/branches/seven/w32/Setup/freeswitch.aip
      - copied unchanged from r11459, /freeswitch/trunk/w32/Setup/freeswitch.aip
   freeswitch/branches/seven/w32/curl.vsprops
      - copied unchanged from r11459, /freeswitch/trunk/w32/curl.vsprops
   freeswitch/branches/seven/w32/module_debug.vsprops
      - copied unchanged from r11459, /freeswitch/trunk/w32/module_debug.vsprops
   freeswitch/branches/seven/w32/module_release.vsprops
      - copied unchanged from r11459, /freeswitch/trunk/w32/module_release.vsprops
   freeswitch/branches/seven/w32/modules.vsprops
      - copied unchanged from r11459, /freeswitch/trunk/w32/modules.vsprops
   freeswitch/branches/seven/w32/spidermonkey.vsprops
      - copied unchanged from r11459, /freeswitch/trunk/w32/spidermonkey.vsprops
   freeswitch/branches/seven/w32/winlibs.vsprops
      - copied unchanged from r11459, /freeswitch/trunk/w32/winlibs.vsprops
Modified:
   freeswitch/branches/seven/   (props changed)


From ctrix at freeswitch.org  Sat Jan 24 07:50:34 2009
From: ctrix at freeswitch.org (FreeSWITCH SVN)
Date: Sat, 24 Jan 2009 09:50:34 -0600
Subject: [Freeswitch-branches] [commit] r11481 -
	freeswitch/branches/ctrix/mod_airpe
Message-ID: 

Author: ctrix
Date: Sat Jan 24 09:50:34 2009
New Revision: 11481

Log:
Fix this test before complete rework

Modified:
   freeswitch/branches/ctrix/mod_airpe/Makefile
   freeswitch/branches/ctrix/mod_airpe/airpe_if_osx.c

Modified: freeswitch/branches/ctrix/mod_airpe/Makefile
==============================================================================
--- freeswitch/branches/ctrix/mod_airpe/Makefile	(original)
+++ freeswitch/branches/ctrix/mod_airpe/Makefile	Sat Jan 24 09:50:34 2009
@@ -10,7 +10,8 @@
 #LOCAL_LDFLAGS=-lX11
 
 #--------------------------------- OSX
-LOCAL_LDFLAGS=-framework Skype -framework CoreFoundation
+#LOCAL_LDFLAGS=-framework CoreFoundation
+LOCAL_LDFLAGS=-framework Skype -framework CoreFoundation -framework Carbon
 
 
 include ../../../../build/modmake.rules

Modified: freeswitch/branches/ctrix/mod_airpe/airpe_if_osx.c
==============================================================================
--- freeswitch/branches/ctrix/mod_airpe/airpe_if_osx.c	(original)
+++ freeswitch/branches/ctrix/mod_airpe/airpe_if_osx.c	Sat Jan 24 09:50:34 2009
@@ -4,6 +4,7 @@
 #if defined (MACOSX) || defined(DARWIN)
 
 #include "Skype/SkypeAPI-Carbon.h"
+#include 
 
 struct skype_window_handler_s {
     struct SkypeDelegate	delegate;
@@ -43,18 +44,22 @@
     string = CFStringCreateWithCString(NULL, message_P, kCFStringEncodingUTF8 );
     SendSkypeCommand(string);
     CFRelease(string);
+    RunCurrentEventLoop(0.01);
 
     return SWITCH_STATUS_SUCCESS;
 }
 
 switch_status_t airpe_skype_avalaible(skype_window_handler_t *window)
 {
+/*
     if ( IsSkypeAvailable() ) {
 	return SWITCH_STATUS_SUCCESS;
     }
     else {
 	return SWITCH_STATUS_FALSE;
     }
+*/
+	return SWITCH_STATUS_FALSE;
 }
 
 
@@ -62,20 +67,16 @@
 /*****************************************************************************
     THREADS
  *****************************************************************************/
-static void IncomingMessage(CFStringRef aNotificationString) {
+static int attached = -1;
 
+static void IncomingMessage(CFStringRef aNotificationString) {
     ADEBUG("Incoming message");
-
-//    char *string;
-//    airpe_manage_skype_msg( airpe, string);
-
 }
 
 static void AttachResponse(unsigned int aAttachResponseCode) {
     ADEBUG("Attach: %d\n", aAttachResponseCode);
+    attached = aAttachResponseCode;
 }
-
-
 void *SWITCH_THREAD_FUNC airpe_skype_thread(switch_thread_t * thread, void *obj) {
     airpe_interface_t *airpe = NULL;
     struct SkypeDelegate *del;
@@ -85,13 +86,17 @@
 
     if ( !IsSkypeAvailable() ) {
 	ADEBUG("Sorry, not available\n");
-	return NULL;
+	goto done;
     }
-
+    RunCurrentEventLoop(0.1);
+/*
     if ( !IsSkypeRunning() ) {
 	ADEBUG("Sorry, not running\n");
-	return NULL;
+	goto done;
     }
+    RunCurrentEventLoop(0.1);
+*/
+    airpe->running = 1;
 
     del = &airpe->skype_window->delegate;
     del->clientApplicationName=CFSTR("airpe");
@@ -99,26 +104,37 @@
     del->SkypeAttachResponse=AttachResponse;
 
     SetSkypeDelegate(del);
+    RunCurrentEventLoop(0.1);
     ConnectToSkype();
+    RunCurrentEventLoop(0.1);
+
+    while ( airpe->running && attached !=1  ) {
+//	ADEBUG("Sorry, not attached\n");
+	RunCurrentEventLoop(0.01);
+    }
+
+    if ( !attached && airpe->running ) {
+	ADEBUG("Sorry, not attached\n");
+	goto done;
+    }
 
     if ( airpe_on_connect_messages( airpe, 6 ) != SWITCH_STATUS_SUCCESS ) {
 	switch_log_printf(	SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, 
 				"airpe client %s. Failed to send handshake messages\n", 
 				airpe->name);
-    	return NULL;
+	goto done;
     }
 
 
-    airpe->running = 1;
     while ( airpe->running ) {
-	switch_sleep(1000000);
+	RunCurrentEventLoop(0.01);
     }
 
     DisconnectFromSkype();
     RemoveSkypeDelegate();
 
+ done:
     ADEBUG("Exiting\n");
-
     airpe->airpe_thread_skype = NULL;
 
     return NULL;


From gmaruzz at freeswitch.org  Tue Jan 27 04:32:01 2009
From: gmaruzz at freeswitch.org (FreeSWITCH SVN)
Date: Tue, 27 Jan 2009 06:32:01 -0600
Subject: [Freeswitch-branches] [commit] r11503 -
	freeswitch/branches/gmaruzz/mod_skypiax
Message-ID: 

Author: gmaruzz
Date: Tue Jan 27 06:32:01 2009
New Revision: 11503

Log:
skypiax: preparing for standalone module

Added:
   freeswitch/branches/gmaruzz/mod_skypiax/
      - copied from r11502, /freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/


From gmaruzz at freeswitch.org  Tue Jan 27 04:45:27 2009
From: gmaruzz at freeswitch.org (FreeSWITCH SVN)
Date: Tue, 27 Jan 2009 06:45:27 -0600
Subject: [Freeswitch-branches] [commit] r11504 - in
	freeswitch/branches/gmaruzz: . build conf debian docs dtd
	freeswitch.xcodeproj htdocs libs patches scripts src support-d w32
Message-ID: 

Author: gmaruzz
Date: Tue Jan 27 06:45:27 2009
New Revision: 11504

Log:
preparing for standalone module

Removed:
   freeswitch/branches/gmaruzz/Freeswitch.2005.unsupported.sln
   freeswitch/branches/gmaruzz/Freeswitch.2008.express.sln
   freeswitch/branches/gmaruzz/Freeswitch.2008.sln
   freeswitch/branches/gmaruzz/INSTALL
   freeswitch/branches/gmaruzz/Makefile.am
   freeswitch/branches/gmaruzz/acinclude.m4
   freeswitch/branches/gmaruzz/bootstrap.sh
   freeswitch/branches/gmaruzz/build/
   freeswitch/branches/gmaruzz/conf/
   freeswitch/branches/gmaruzz/configure.in
   freeswitch/branches/gmaruzz/debian/
   freeswitch/branches/gmaruzz/docs/
   freeswitch/branches/gmaruzz/dtd/
   freeswitch/branches/gmaruzz/freeswitch.spec
   freeswitch/branches/gmaruzz/freeswitch.xcodeproj/
   freeswitch/branches/gmaruzz/htdocs/
   freeswitch/branches/gmaruzz/libs/
   freeswitch/branches/gmaruzz/modules.conf
   freeswitch/branches/gmaruzz/patches/
   freeswitch/branches/gmaruzz/scripts/
   freeswitch/branches/gmaruzz/src/
   freeswitch/branches/gmaruzz/support-d/
   freeswitch/branches/gmaruzz/w32/


From gmaruzz at freeswitch.org  Tue Jan 27 10:04:52 2009
From: gmaruzz at freeswitch.org (FreeSWITCH SVN)
Date: Tue, 27 Jan 2009 12:04:52 -0600
Subject: [Freeswitch-branches] [commit] r11510 -
	freeswitch/branches/gmaruzz/mod_skypiax
Message-ID: 

Author: gmaruzz
Date: Tue Jan 27 12:04:52 2009
New Revision: 11510

Log:
skypiax: if it do not find the X server or the Skype client at startup, exit with an error

Modified:
   freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c
   freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c

Modified: freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c
==============================================================================
--- freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c	(original)
+++ freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c	Tue Jan 27 12:04:52 2009
@@ -28,7 +28,7 @@
 int option_debug = 100;
 switch_endpoint_interface_t *skypiax_endpoint_interface;
 switch_memory_pool_t *skypiax_module_pool = NULL;
-int running = 1;
+int running = 0;
 
 SWITCH_DECLARE_GLOBAL_STRING_FUNC(set_global_dialplan, globals.dialplan);
 SWITCH_DECLARE_GLOBAL_STRING_FUNC(set_global_context, globals.context);
@@ -880,10 +880,17 @@
 
         skypiax_skypeaudio_init(&globals.SKYPIAX_INTERFACES[interface_id]);
 
-        while (globals.SKYPIAX_INTERFACES[interface_id].SkypiaxHandles.api_connected == 0) {
+	i=0;
+        while (globals.SKYPIAX_INTERFACES[interface_id].SkypiaxHandles.api_connected == 0 && running && i < 6000) { // 60sec
           switch_sleep(1000);
+	  i++;
         }
-        NOTICA("STARTED interface_id=%d\n", SKYPIAX_P_LOG, interface_id);
+	if(globals.SKYPIAX_INTERFACES[interface_id].SkypiaxHandles.api_connected){
+		NOTICA("STARTED interface_id=%d\n", SKYPIAX_P_LOG, interface_id);
+	} else {
+		ERRORA("interface_id=%d has not been started\n", SKYPIAX_P_LOG, interface_id);
+		break;
+	}
 
       } else {
         ERRORA("interface id %d is higher than SKYPIAX_MAX_INTERFACES (%d)\n",
@@ -926,6 +933,8 @@
 
   memset(&globals, '\0', sizeof(globals));
 
+  running = 1;
+
   load_config();
 
   *module_interface = switch_loadable_module_create_module_interface(pool, modname);
@@ -936,8 +945,11 @@
   skypiax_endpoint_interface->state_handler = &skypiax_state_handlers;
 
   DEBUGA_SKYPE("EXITING FUNC!\n", SKYPIAX_P_LOG);
+  if(running)
   /* indicate that the module should continue to be loaded */
   return SWITCH_STATUS_SUCCESS;
+  else
+  return SWITCH_STATUS_FALSE;
 }
 
 SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_skypiax_shutdown)

Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c
==============================================================================
--- freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c	(original)
+++ freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c	Tue Jan 27 12:04:52 2009
@@ -933,6 +933,7 @@
   if (!disp) {
     ERRORA("Cannot open X Display '%s', exiting skype thread\n", SKYPIAX_P_LOG,
            tech_pvt->X11_display);
+    running=0;
     return NULL;
   } else {
     DEBUGA_SKYPE("X Display '%s' opened\n", SKYPIAX_P_LOG, tech_pvt->X11_display);
@@ -963,6 +964,7 @@
         ("Sending message failed - probably Skype crashed. Please run/restart Skype manually and launch Skypiax again\n",
          SKYPIAX_P_LOG);
       DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+    running=0;
       return NULL;
     }
 
@@ -972,6 +974,7 @@
         ("Sending message failed - probably Skype crashed. Please run/restart Skype manually and launch Skypiax again\n",
          SKYPIAX_P_LOG);
       DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+    running=0;
       return NULL;
     }
 
@@ -1019,9 +1022,11 @@
     ERRORA
       ("Skype is not running, maybe crashed. Please run/restart Skype and relaunch Skypiax\n",
        SKYPIAX_P_LOG);
+    running=0;
     return NULL;
   }
   DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+    running=0;
   return NULL;
 
 }


From gmaruzz at freeswitch.org  Tue Jan 27 10:11:30 2009
From: gmaruzz at freeswitch.org (FreeSWITCH SVN)
Date: Tue, 27 Jan 2009 12:11:30 -0600
Subject: [Freeswitch-branches] [commit] r11511 -
	freeswitch/branches/gmaruzz/mod_skypiax
Message-ID: 

Author: gmaruzz
Date: Tue Jan 27 12:11:30 2009
New Revision: 11511

Log:
skypiax: report the svn version of skypiax as part of logging

Modified:
   freeswitch/branches/gmaruzz/mod_skypiax/Makefile
   freeswitch/branches/gmaruzz/mod_skypiax/skypiax.h

Modified: freeswitch/branches/gmaruzz/mod_skypiax/Makefile
==============================================================================
--- freeswitch/branches/gmaruzz/mod_skypiax/Makefile	(original)
+++ freeswitch/branches/gmaruzz/mod_skypiax/Makefile	Tue Jan 27 12:11:30 2009
@@ -1,4 +1,6 @@
 MODNAME=mod_skypiax
+SVNDEF := -D'SKYPIAX_SVN_VERSION="$(shell svnversion -n .)"'
+LOCAL_CFLAGS += $(SVNDEF)
 LOCAL_LDFLAGS=-lX11
 LOCAL_OBJS=skypiax_protocol.o
 include ../../../../build/modmake.rules

Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax.h
==============================================================================
--- freeswitch/branches/gmaruzz/mod_skypiax/skypiax.h	(original)
+++ freeswitch/branches/gmaruzz/mod_skypiax/skypiax.h	Tue Jan 27 12:11:30 2009
@@ -51,7 +51,10 @@
 
 #define SAMPLERATE_SKYPIAX 16000
 #define SAMPLES_PER_FRAME SAMPLERATE_SKYPIAX/50
+
+#ifndef SKYPIAX_SVN_VERSION
 #define SKYPIAX_SVN_VERSION SWITCH_VERSION_REVISION
+#endif /* SKYPIAX_SVN_VERSION */
 
 typedef enum {
   TFLAG_IO = (1 << 0),


From gmaruzz at freeswitch.org  Tue Jan 27 10:20:42 2009
From: gmaruzz at freeswitch.org (FreeSWITCH SVN)
Date: Tue, 27 Jan 2009 12:20:42 -0600
Subject: [Freeswitch-branches] [commit] r11512 -
	freeswitch/branches/gmaruzz/mod_skypiax
Message-ID: 

Author: gmaruzz
Date: Tue Jan 27 12:20:42 2009
New Revision: 11512

Log:
skypiax: cosmetics

Modified:
   freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c

Modified: freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c
==============================================================================
--- freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c	(original)
+++ freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c	Tue Jan 27 12:20:42 2009
@@ -854,7 +854,7 @@
         DEBUGA_SKYPE
           ("interface_id=%d globals.SKYPIAX_INTERFACES[interface_id].context=%s\n",
            SKYPIAX_P_LOG, interface_id, globals.SKYPIAX_INTERFACES[interface_id].context);
-        NOTICA("STARTING interface_id=%d\n", SKYPIAX_P_LOG, interface_id);
+        NOTICA("Trying to START interface_id=%d\n", SKYPIAX_P_LOG, interface_id);
 
         switch_threadattr_create(&skypiax_skypeapi_thread_attr, skypiax_module_pool);
         switch_threadattr_stacksize_set(skypiax_skypeapi_thread_attr,
@@ -888,7 +888,7 @@
 	if(globals.SKYPIAX_INTERFACES[interface_id].SkypiaxHandles.api_connected){
 		NOTICA("STARTED interface_id=%d\n", SKYPIAX_P_LOG, interface_id);
 	} else {
-		ERRORA("interface_id=%d has not been started\n", SKYPIAX_P_LOG, interface_id);
+		ERRORA("FAILED to start interface_id=%d\n", SKYPIAX_P_LOG, interface_id);
 		break;
 	}
 


From gmaruzz at freeswitch.org  Tue Jan 27 13:59:00 2009
From: gmaruzz at freeswitch.org (FreeSWITCH SVN)
Date: Tue, 27 Jan 2009 15:59:00 -0600
Subject: [Freeswitch-branches] [commit] r11517 -
	freeswitch/branches/gmaruzz/mod_skypiax
Message-ID: 

Author: gmaruzz
Date: Tue Jan 27 15:59:00 2009
New Revision: 11517

Log:
skypiax: moving switch specific things out of skypiax_protocol.c

Modified:
   freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c
   freeswitch/branches/gmaruzz/mod_skypiax/skypiax.h
   freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c

Modified: freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c
==============================================================================
--- freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c	(original)
+++ freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c	Tue Jan 27 15:59:00 2009
@@ -293,7 +293,7 @@
   tech_pvt->read_frame.flags = SFF_NONE;
   *frame = NULL;
 
-  if (skypiax_skypeaudio_read(tech_pvt) != SWITCH_STATUS_SUCCESS) {
+  if (!skypiax_skypeaudio_read(tech_pvt)) {
 
     ERRORA("skypiax_skypeaudio_read ERROR\n", SKYPIAX_P_LOG);
 
@@ -861,7 +861,7 @@
                                         SWITCH_THREAD_STACKSIZE);
         switch_thread_create(&globals.SKYPIAX_INTERFACES[interface_id].
                              skypiax_skypeapi_thread, skypiax_skypeapi_thread_attr,
-                             skypiax_skypeapi_thread_func,
+                             skypiax_do_skypeapi_thread,
                              &globals.SKYPIAX_INTERFACES[interface_id],
                              skypiax_module_pool);
 
@@ -1013,6 +1013,23 @@
   return SWITCH_STATUS_SUCCESS;
 }
 
+void *SWITCH_THREAD_FUNC skypiax_do_tcp_srv_thread(switch_thread_t * thread,
+                                                          void *obj)
+{
+	return skypiax_do_tcp_srv_thread_func(obj);
+}
+void *SWITCH_THREAD_FUNC skypiax_do_tcp_cli_thread(switch_thread_t * thread,
+                                                          void *obj)
+{
+	return skypiax_do_tcp_cli_thread_func(obj);
+}
+void *SWITCH_THREAD_FUNC skypiax_do_skypeapi_thread(switch_thread_t * thread,
+                                                          void *obj)
+{
+	return skypiax_do_skypeapi_thread_func(obj);
+}
+
+
 /* For Emacs:
  * Local Variables:
  * mode:c

Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax.h
==============================================================================
--- freeswitch/branches/gmaruzz/mod_skypiax/skypiax.h	(original)
+++ freeswitch/branches/gmaruzz/mod_skypiax/skypiax.h	Tue Jan 27 15:59:00 2009
@@ -237,7 +237,7 @@
 void *SWITCH_THREAD_FUNC skypiax_skypeapi_thread_func(switch_thread_t * thread,
                                                       void *obj);
 void skypiax_tech_init(private_t * tech_pvt, switch_core_session_t * session);
-switch_status_t skypiax_skypeaudio_read(private_t * tech_pvt);
+int skypiax_skypeaudio_read(private_t * tech_pvt);
 int skypiax_skypeaudio_init(private_t * tech_pvt);
 int skypiax_skype_write(private_t * tech_pvt, char *msg_to_skype);
 int skypiax_skype_read(private_t * tech_pvt);
@@ -245,3 +245,13 @@
 int skypiax_skype_call(private_t * tech_pvt, char *idest, int timeout,
                        switch_core_session_t * session);
 int skypiax_skype_senddigit(private_t * tech_pvt, char digit);
+
+#define skypiax_sleep switch_sleep
+void * skypiax_do_tcp_srv_thread_func(void *obj);
+void *SWITCH_THREAD_FUNC skypiax_do_tcp_srv_thread(switch_thread_t * thread, void *obj);
+
+void * skypiax_do_tcp_cli_thread_func(void *obj);
+void *SWITCH_THREAD_FUNC skypiax_do_tcp_cli_thread(switch_thread_t * thread, void *obj);
+
+void * skypiax_do_skypeapi_thread_func(void *obj);
+void *SWITCH_THREAD_FUNC skypiax_do_skypeapi_thread(switch_thread_t * thread, void *obj);

Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c
==============================================================================
--- freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c	(original)
+++ freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c	Tue Jan 27 15:59:00 2009
@@ -12,8 +12,7 @@
 #endif /* WIN32 */
 /*************************************/
 
-static void *SWITCH_THREAD_FUNC skypiax_do_tcp_srv_thread(switch_thread_t * thread,
-                                                          void *obj)
+void * skypiax_do_tcp_srv_thread_func(void *obj)
 {
   private_t *tech_pvt = obj;
   int s;
@@ -155,7 +154,7 @@
 
           } else if (len == 0) {
             DEBUGA_SKYPE("Skype client GONE\n", SKYPIAX_P_LOG);
-            switch_sleep(1000);
+            skypiax_sleep(1000);
           } else {
             ERRORA("len=%d\n", SKYPIAX_P_LOG, len);
             exit = 1;
@@ -205,7 +204,7 @@
 
           } else if (len == 0) {
             DEBUGA_SKYPE("Skype client GONE\n", SKYPIAX_P_LOG);
-            switch_sleep(1000);
+            skypiax_sleep(1000);
           } else {
             ERRORA("SRV len=%d\n", SKYPIAX_P_LOG, len);
             exit = 1;
@@ -218,7 +217,7 @@
       } else {
         if (rt)
           ERRORA("SRV rt=%d\n", SKYPIAX_P_LOG, rt);
-        switch_sleep(10000);
+        skypiax_sleep(10000);
       }
     }
 #ifdef WIN32
@@ -263,8 +262,7 @@
   }
   return NULL;
 }
-static void *SWITCH_THREAD_FUNC skypiax_do_tcp_cli_thread(switch_thread_t * thread,
-                                                          void *obj)
+void * skypiax_do_tcp_cli_thread_func(void *obj)
 {
   private_t *tech_pvt = obj;
   int s;
@@ -383,7 +381,7 @@
               break;
             }
           } else {
-            switch_sleep(1000);
+            skypiax_sleep(1000);
             ERRORA("CLI PIPE give us: %u\n", SKYPIAX_P_LOG, got);
           }
         } else if (SAMPLERATE_SKYPIAX == 16000) {
@@ -412,13 +410,13 @@
               break;
             }
           } else {
-            switch_sleep(1000);
+            skypiax_sleep(1000);
             ERRORA("CLI PIPE give us: %u\n", SKYPIAX_P_LOG, got);
           }
         }
 
       } else {
-        switch_sleep(1000);
+        skypiax_sleep(1000);
         if (rt)
           ERRORA("select give us: %u\n", SKYPIAX_P_LOG, rt);
       }
@@ -473,7 +471,7 @@
   return 0;
 }
 
-switch_status_t skypiax_skypeaudio_read(private_t * tech_pvt)
+int skypiax_skypeaudio_read(private_t * tech_pvt)
 {
   //private_t *p;
   unsigned int samples;
@@ -508,7 +506,7 @@
       //if (samples)
       //ERRORA("SRV PIPE READ=====> NOT GOOD samples=%u expected=%lu\n", SKYPIAX_P_LOG, samples, SAMPLES_PER_FRAME * sizeof(short));
       assert(samples == SAMPLES_PER_FRAME * sizeof(short)); //do a crash, please
-      //do nothing
+      return 0;
     } else {
       /* A real frame */
       tech_pvt->read_frame.datalen = samples;
@@ -516,8 +514,9 @@
   } else {
     if (rt)
       DEBUGA_SKYPE("select returned %d\n", SKYPIAX_P_LOG, rt);
+    //do nothing
   }
-  return SWITCH_STATUS_SUCCESS;
+  return 1;
 }
 
 #ifdef WIN32
@@ -619,7 +618,7 @@
           DEBUGA_SKYPE
             ("\n\n\tIf I do not (almost) immediately connect to Skype API,\n\tplease give the Skype client authorization to be connected \n\tby Asterisk and to not ask you again.\n\n",
              SKYPIAX_P_LOG);
-          switch_sleep(5000);
+          skypiax_sleep(5000);
           if (!tech_pvt->SkypiaxHandles.api_connected) {
             SendMessage(HWND_BROADCAST,
                         tech_pvt->SkypiaxHandles.
@@ -636,7 +635,7 @@
           break;
         case SKYPECONTROLAPI_ATTACH_API_AVAILABLE:
           DEBUGA_SKYPE("Skype API available\n", SKYPIAX_P_LOG);
-          switch_sleep(5000);
+          skypiax_sleep(5000);
           if (!tech_pvt->SkypiaxHandles.api_connected) {
             SendMessage(HWND_BROADCAST,
                         tech_pvt->SkypiaxHandles.
@@ -731,7 +730,7 @@
 
 DWORD win32_dwThreadId;
 
-void *SWITCH_THREAD_FUNC skypiax_skypeapi_thread_func(switch_thread_t * thread, void *obj)
+void * skypiax_do_skypeapi_thread_func(void *obj)
 {
   /*  create window class */
   /*    create dummy/hidden window for processing messages */
@@ -751,7 +750,7 @@
   tech_pvt->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIDiscover =
     RegisterWindowMessage("SkypeControlAPIDiscover");
 
-  switch_sleep(2000000);
+  skypiax_sleep(2000000);
 
   if (tech_pvt->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIAttach != 0
       && tech_pvt->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIDiscover != 0) {
@@ -909,10 +908,10 @@
     DEBUGA_SKYPE("NOT destroyed disp\n", SKYPIAX_P_LOG);
   }
   DEBUGA_SKYPE("OUT destroyed disp\n", SKYPIAX_P_LOG);
-  switch_sleep(1000);
+  skypiax_sleep(1000);
 }
 
-void *SWITCH_THREAD_FUNC skypiax_skypeapi_thread_func(switch_thread_t * thread, void *obj)
+void * skypiax_do_skypeapi_thread_func(void *obj)
 {
 
   private_t *tech_pvt = obj;
@@ -1156,9 +1155,9 @@
             DEBUGA_SKYPE
               ("If I don't connect immediately, please give the Skype client authorization to be connected by Skypiax (and to not ask you again)\n",
                SKYPIAX_P_LOG);
-            switch_sleep(1000000);
+            skypiax_sleep(1000000);
             skypiax_skype_write(tech_pvt, "PROTOCOL 6");
-            switch_sleep(10000);
+            skypiax_sleep(10000);
             return 0;
           }
 
@@ -1400,15 +1399,15 @@
                     tech_pvt->interface_state = SKYPIAX_STATE_RING;
                     /* no owner, no active call, let's answer */
                     skypiax_skype_write(tech_pvt, "SET AGC OFF");
-                    switch_sleep(10000);
+                    skypiax_sleep(10000);
                     skypiax_skype_write(tech_pvt, "SET AEC OFF");
-                    switch_sleep(10000);
+                    skypiax_sleep(10000);
                     sprintf(msg_to_skype, "GET CALL %s PARTNER_DISPNAME", id);
                     skypiax_skype_write(tech_pvt, msg_to_skype);
-                    switch_sleep(10000);
+                    skypiax_sleep(10000);
                     sprintf(msg_to_skype, "GET CALL %s PARTNER_HANDLE", id);
                     skypiax_skype_write(tech_pvt, msg_to_skype);
-                    switch_sleep(10000);
+                    skypiax_sleep(10000);
                     sprintf(msg_to_skype, "ALTER CALL %s ANSWER", id);
                     skypiax_skype_write(tech_pvt, msg_to_skype);
                     if (option_debug)
@@ -1420,7 +1419,7 @@
                     /* we're owned, we're in a call, let's refuse */
                     sprintf(msg_to_skype, "ALTER CALL %s END HANGUP", id);
                     skypiax_skype_write(tech_pvt, msg_to_skype);
-                    switch_sleep(10000);
+                    skypiax_sleep(10000);
                     DEBUGA_SKYPE
                       ("We have NOT answered a Skype RING on skype_call %s, because we are already in a skypiax call\n",
                        SKYPIAX_P_LOG, id);
@@ -1552,15 +1551,15 @@
                                        skypiax_do_tcp_cli_thread, tech_pvt,
                                        skypiax_module_pool);
                   DEBUGA_SKYPE("started tcp_cli_thread thread.\n", SKYPIAX_P_LOG);
-                  switch_sleep(100000);
+                  skypiax_sleep(100000);
                   sprintf(msg_to_skype, "ALTER CALL %s SET_OUTPUT PORT=\"%d\"", id,
                           tech_pvt->tcp_srv_port);
                   skypiax_skype_write(tech_pvt, msg_to_skype);
-                  switch_sleep(100000);
+                  skypiax_sleep(100000);
                   sprintf(msg_to_skype, "ALTER CALL %s SET_INPUT PORT=\"%d\"", id,
                           tech_pvt->tcp_cli_port);
                   skypiax_skype_write(tech_pvt, msg_to_skype);
-                  switch_sleep(100000);
+                  skypiax_sleep(100000);
                 }
 
                 tech_pvt->skype_callflow = SKYPIAX_STATE_UP;
@@ -1698,16 +1697,16 @@
   if (option_debug > 10) {
     DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);
   }
-  switch_sleep(5000);
+  skypiax_sleep(5000);
 
   rdest = strchr(idest, '/');
   *rdest++ = '\0';
 
   DEBUGA_SKYPE("Calling Skype, rdest is: %s\n", SKYPIAX_P_LOG, rdest);
   skypiax_skype_write(tech_pvt, "SET AGC OFF");
-  switch_sleep(10000);
+  skypiax_sleep(10000);
   skypiax_skype_write(tech_pvt, "SET AEC OFF");
-  switch_sleep(10000);
+  skypiax_sleep(10000);
 
   sprintf(msg_to_skype, "CALL %s", rdest);
   if (skypiax_skype_write(tech_pvt, msg_to_skype) < 0) {


From gmaruzz at freeswitch.org  Tue Jan 27 15:00:57 2009
From: gmaruzz at freeswitch.org (FreeSWITCH SVN)
Date: Tue, 27 Jan 2009 17:00:57 -0600
Subject: [Freeswitch-branches] [commit] r11519 -
	freeswitch/branches/gmaruzz/mod_skypiax
Message-ID: 

Author: gmaruzz
Date: Tue Jan 27 17:00:57 2009
New Revision: 11519

Log:
skypiax: moving switch specific things out of skypiax_protocol.c

Modified:
   freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c
   freeswitch/branches/gmaruzz/mod_skypiax/skypiax.h
   freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c

Modified: freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c
==============================================================================
--- freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c	(original)
+++ freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c	Tue Jan 27 17:00:57 2009
@@ -545,7 +545,19 @@
       return SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER;
     }
 
-    skypiax_skype_call(tech_pvt, caller_profile->destination_number, 30, *new_session);
+  char *rdest;
+
+  rdest = strchr(caller_profile->destination_number, '/');
+  *rdest++ = '\0';
+
+
+    skypiax_skype_call(tech_pvt, rdest, 30);
+
+  switch_copy_string(tech_pvt->session_uuid_str, switch_core_session_get_uuid(*new_session),
+                     sizeof(tech_pvt->session_uuid_str));
+  caller_profile = tech_pvt->caller_profile;
+  caller_profile->destination_number = rdest;
+
 
     switch_channel_set_flag(channel, CF_OUTBOUND);
     switch_set_flag_locked(tech_pvt, TFLAG_OUTBOUND);

Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax.h
==============================================================================
--- freeswitch/branches/gmaruzz/mod_skypiax/skypiax.h	(original)
+++ freeswitch/branches/gmaruzz/mod_skypiax/skypiax.h	Tue Jan 27 17:00:57 2009
@@ -242,8 +242,7 @@
 int skypiax_skype_write(private_t * tech_pvt, char *msg_to_skype);
 int skypiax_skype_read(private_t * tech_pvt);
 
-int skypiax_skype_call(private_t * tech_pvt, char *idest, int timeout,
-                       switch_core_session_t * session);
+int skypiax_skype_call(private_t * tech_pvt, char *idest, int timeout);
 int skypiax_skype_senddigit(private_t * tech_pvt, char digit);
 
 #define skypiax_sleep switch_sleep

Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c
==============================================================================
--- freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c	(original)
+++ freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c	Tue Jan 27 17:00:57 2009
@@ -1684,13 +1684,11 @@
   return 0;
 }
 
-int skypiax_skype_call(private_t * tech_pvt, char *idest, int timeout,
-                       switch_core_session_t * session)
+int skypiax_skype_call(private_t * tech_pvt, char *rdest, int timeout)
 {
-  char *rdest;
   char msg_to_skype[1024];
   //private_t *tech_pvt;
-  switch_caller_profile_t *caller_profile;
+  //switch_caller_profile_t *caller_profile;
 
   //tech_pvt = p;
 
@@ -1698,10 +1696,6 @@
     DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);
   }
   skypiax_sleep(5000);
-
-  rdest = strchr(idest, '/');
-  *rdest++ = '\0';
-
   DEBUGA_SKYPE("Calling Skype, rdest is: %s\n", SKYPIAX_P_LOG, rdest);
   skypiax_skype_write(tech_pvt, "SET AGC OFF");
   skypiax_sleep(10000);
@@ -1717,11 +1711,6 @@
     }
     return -1;
   }
-  switch_copy_string(tech_pvt->session_uuid_str, switch_core_session_get_uuid(session),
-                     sizeof(tech_pvt->session_uuid_str));
-  caller_profile = tech_pvt->caller_profile;
-  caller_profile->destination_number = rdest;
-
   //FIXME ast_queue_control(tech_pvt->owner, SKYPIAX_CONTROL_RINGING);
   return 0;
 }


From gmaruzz at freeswitch.org  Tue Jan 27 15:12:50 2009
From: gmaruzz at freeswitch.org (FreeSWITCH SVN)
Date: Tue, 27 Jan 2009 17:12:50 -0600
Subject: [Freeswitch-branches] [commit] r11520 -
	freeswitch/branches/gmaruzz/mod_skypiax
Message-ID: 

Author: gmaruzz
Date: Tue Jan 27 17:12:50 2009
New Revision: 11520

Log:
skypiax: compiles on win32

Modified:
   freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c
   freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c

Modified: freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c
==============================================================================
--- freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c	(original)
+++ freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c	Tue Jan 27 17:12:50 2009
@@ -476,6 +476,7 @@
     private_t *tech_pvt;
     switch_channel_t *channel;
     switch_caller_profile_t *caller_profile;
+  char *rdest;
 
     switch_core_session_add_stream(*new_session, NULL);
 
@@ -545,7 +546,6 @@
       return SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER;
     }
 
-  char *rdest;
 
   rdest = strchr(caller_profile->destination_number, '/');
   *rdest++ = '\0';
@@ -630,6 +630,7 @@
   switch_mutex_init(&globals.mutex, SWITCH_MUTEX_NESTED, skypiax_module_pool);
   if (!(xml = switch_xml_open_cfg(cf, &cfg, NULL))) {
     ERRORA("open of %s failed\n", SKYPIAX_P_LOG, cf);
+    running=0;
     return SWITCH_STATUS_TERM;
   }
 

Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c
==============================================================================
--- freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c	(original)
+++ freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c	Tue Jan 27 17:12:50 2009
@@ -778,7 +778,7 @@
     }
   }
 
-  switch_thread_exit(thread, SWITCH_STATUS_SUCCESS);
+  //switch_thread_exit(thread, SWITCH_STATUS_SUCCESS);
 
   return NULL;
 }


From gmaruzz at freeswitch.org  Tue Jan 27 16:24:48 2009
From: gmaruzz at freeswitch.org (FreeSWITCH SVN)
Date: Tue, 27 Jan 2009 18:24:48 -0600
Subject: [Freeswitch-branches] [commit] r11526 -
	freeswitch/branches/gmaruzz/mod_skypiax
Message-ID: 

Author: gmaruzz
Date: Tue Jan 27 18:24:48 2009
New Revision: 11526

Log:
skypiax: moving switch specific things out of skypiax_protocol.c

Modified:
   freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c
   freeswitch/branches/gmaruzz/mod_skypiax/skypiax.h
   freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c

Modified: freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c
==============================================================================
--- freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c	(original)
+++ freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c	Tue Jan 27 18:24:48 2009
@@ -1042,6 +1042,27 @@
 	return skypiax_do_skypeapi_thread_func(obj);
 }
 
+int dtmf_received(private_t *tech_pvt, char *value){
+              switch_core_session_t *session = NULL;
+              switch_channel_t *channel = NULL;
+
+              session = switch_core_session_locate(tech_pvt->session_uuid_str);
+              channel = switch_core_session_get_channel(session);
+
+              if (channel) {
+                switch_dtmf_t dtmf =
+                  { (char) value[0], switch_core_default_dtmf_duration(0) };
+                DEBUGA_SKYPE("%c DTMF %s\n", SKYPIAX_P_LOG, dtmf.digit,
+                             switch_channel_get_name(channel));
+                switch_mutex_lock(tech_pvt->flag_mutex);
+                switch_channel_queue_dtmf(channel, &dtmf);
+                switch_set_flag(tech_pvt, TFLAG_DTMF);
+                switch_mutex_unlock(tech_pvt->flag_mutex);
+              }
+              switch_core_session_rwunlock(session);
+
+	return 0;
+}
 
 /* For Emacs:
  * Local Variables:

Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax.h
==============================================================================
--- freeswitch/branches/gmaruzz/mod_skypiax/skypiax.h	(original)
+++ freeswitch/branches/gmaruzz/mod_skypiax/skypiax.h	Tue Jan 27 18:24:48 2009
@@ -254,3 +254,4 @@
 
 void * skypiax_do_skypeapi_thread_func(void *obj);
 void *SWITCH_THREAD_FUNC skypiax_do_skypeapi_thread(switch_thread_t * thread, void *obj);
+int dtmf_received(private_t *tech_pvt, char *value);

Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c
==============================================================================
--- freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c	(original)
+++ freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c	Tue Jan 27 18:24:48 2009
@@ -1349,12 +1349,13 @@
                 tech_pvt->interface_state = SKYPIAX_STATE_PRERING;
             }
 
-            if (!strcasecmp(prop, "DTMF")) {
-              switch_core_session_t *session = NULL;
-              switch_channel_t *channel = NULL;
+            if (!strcasecmp(prop, "DTMF")) { 
+              //switch_core_session_t *session = NULL;
+              //switch_channel_t *channel = NULL;
 
               DEBUGA_SKYPE("Call %s received a DTMF: %s\n", SKYPIAX_P_LOG, id, value);
 
+	      /*
               session = switch_core_session_locate(tech_pvt->session_uuid_str);
               channel = switch_core_session_get_channel(session);
 
@@ -1369,6 +1370,8 @@
                 switch_mutex_unlock(tech_pvt->flag_mutex);
               }
               switch_core_session_rwunlock(session);
+	      */
+	      dtmf_received(tech_pvt, value);
             }
 
             if (!strcasecmp(prop, "FAILUREREASON")) {
@@ -1532,7 +1535,7 @@
                   DEBUGA_SKYPE("skype_call: %s SKYPIAX_CONTROL_ANSWER sent\n",
                                SKYPIAX_P_LOG, id);
 
-                if (1) {        //FIXME
+                if (1) {        //FIXME //CICOPET
                   char msg_to_skype[1024];
                   switch_threadattr_t *thd_attr = NULL;
 
@@ -1568,7 +1571,7 @@
 
                 //FIXME *new_session=switch_loadable_module_create_interface(skypiax_endpoint_interface, pool);
 
-                if (!strlen(tech_pvt->session_uuid_str)) {
+                if (!strlen(tech_pvt->session_uuid_str)) { //CICOPET
                   switch_core_session_t *session = NULL;
                   //private_t *tech_pvt = NULL;
                   switch_channel_t *channel = NULL;
@@ -1618,7 +1621,7 @@
                     }
                   }
                   switch_channel_mark_answered(channel);
-                } else {
+                } else { //CICOPET
                   switch_core_session_t *session = NULL;
                   switch_channel_t *channel = NULL;
 
@@ -1687,10 +1690,6 @@
 int skypiax_skype_call(private_t * tech_pvt, char *rdest, int timeout)
 {
   char msg_to_skype[1024];
-  //private_t *tech_pvt;
-  //switch_caller_profile_t *caller_profile;
-
-  //tech_pvt = p;
 
   if (option_debug > 10) {
     DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);


From gmaruzz at freeswitch.org  Tue Jan 27 17:13:57 2009
From: gmaruzz at freeswitch.org (FreeSWITCH SVN)
Date: Tue, 27 Jan 2009 19:13:57 -0600
Subject: [Freeswitch-branches] [commit] r11531 -
	freeswitch/branches/gmaruzz/mod_skypiax
Message-ID: 

Author: gmaruzz
Date: Tue Jan 27 19:13:57 2009
New Revision: 11531

Log:
skypiax: moving switch specific things out of skypiax_protocol.c

Modified:
   freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c
   freeswitch/branches/gmaruzz/mod_skypiax/skypiax.h
   freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c

Modified: freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c
==============================================================================
--- freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c	(original)
+++ freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c	Tue Jan 27 19:13:57 2009
@@ -1064,6 +1064,98 @@
 	return 0;
 }
 
+int start_audio_threads(private_t *tech_pvt) {
+                  switch_threadattr_t *thd_attr = NULL;
+
+                  switch_threadattr_create(&thd_attr, skypiax_module_pool);
+                  switch_threadattr_detach_set(thd_attr, 1);
+                  switch_threadattr_stacksize_set(thd_attr, SWITCH_THREAD_STACKSIZE);
+                  switch_thread_create(&tech_pvt->tcp_srv_thread, thd_attr,
+                                       skypiax_do_tcp_srv_thread, tech_pvt,
+                                       skypiax_module_pool);
+                  DEBUGA_SKYPE("started tcp_srv_thread thread.\n", SKYPIAX_P_LOG);
+
+                  switch_threadattr_create(&thd_attr, skypiax_module_pool);
+                  switch_threadattr_detach_set(thd_attr, 1);
+                  switch_threadattr_stacksize_set(thd_attr, SWITCH_THREAD_STACKSIZE);
+                  switch_thread_create(&tech_pvt->tcp_cli_thread, thd_attr,
+                                       skypiax_do_tcp_cli_thread, tech_pvt,
+                                       skypiax_module_pool);
+                  DEBUGA_SKYPE("started tcp_cli_thread thread.\n", SKYPIAX_P_LOG);
+                  skypiax_sleep(100000);
+ 
+
+	return 0;
+}
+
+int new_inbound_channel(private_t *tech_pvt) {
+                  switch_core_session_t *session = NULL;
+                  switch_channel_t *channel = NULL;
+
+                  if ((session =
+                       switch_core_session_request(skypiax_endpoint_interface,
+                                                   NULL)) != 0) {
+                    switch_core_session_add_stream(session, NULL);
+                    channel = switch_core_session_get_channel(session);
+                    skypiax_tech_init(tech_pvt, session);
+
+                    if ((tech_pvt->caller_profile =
+                         switch_caller_profile_new(switch_core_session_get_pool(session),
+                                                   "skypiax", tech_pvt->dialplan,
+                                                   tech_pvt->callid_name,
+                                                   tech_pvt->callid_number, NULL, NULL,
+                                                   NULL, NULL, "mod_skypiax",
+                                                   tech_pvt->context,
+                                                   tech_pvt->destination)) != 0) {
+                      char name[128];
+                      //switch_snprintf(name, sizeof(name), "skypiax/%s/%s", tech_pvt->name, tech_pvt->caller_profile->destination_number);
+                      switch_snprintf(name, sizeof(name), "skypiax/%s", tech_pvt->name);
+                      switch_channel_set_name(channel, name);
+                      switch_channel_set_caller_profile(channel,
+                                                        tech_pvt->caller_profile);
+                    }
+                    switch_channel_set_state(channel, CS_INIT);
+                    if (switch_core_session_thread_launch(session) !=
+                        SWITCH_STATUS_SUCCESS) {
+                      ERRORA("Error spawning thread\n", SKYPIAX_P_LOG);
+                      switch_core_session_destroy(&session);
+                    }
+                  }
+                  switch_channel_mark_answered(channel);
+
+        DEBUGA_SKYPE("Here\n", SKYPIAX_P_LOG);
+
+	return 0;
+}
+int outbound_channel_answered(private_t *tech_pvt) {
+                  switch_core_session_t *session = NULL;
+                  switch_channel_t *channel = NULL;
+
+
+                  if (strlen(tech_pvt->session_uuid_str)) {
+                    session = switch_core_session_locate(tech_pvt->session_uuid_str);
+                  } else {
+                    ERRORA("No session???\n", SKYPIAX_P_LOG);
+                  }
+                  if (session) {
+                    channel = switch_core_session_get_channel(session);
+                  } else {
+                    ERRORA("No session???\n", SKYPIAX_P_LOG);
+                  }
+                  if (channel) {
+                    switch_channel_mark_answered(channel);
+                    //DEBUGA_SKYPE("skype_call: %s, answered\n", SKYPIAX_P_LOG, id);
+                  } else {
+                    ERRORA("No channel???\n", SKYPIAX_P_LOG);
+                  }
+
+                  switch_core_session_rwunlock(session);
+                  DEBUGA_SKYPE("HERE!\n", SKYPIAX_P_LOG);
+
+
+	return 0;
+}
+
 /* For Emacs:
  * Local Variables:
  * mode:c

Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax.h
==============================================================================
--- freeswitch/branches/gmaruzz/mod_skypiax/skypiax.h	(original)
+++ freeswitch/branches/gmaruzz/mod_skypiax/skypiax.h	Tue Jan 27 19:13:57 2009
@@ -255,3 +255,6 @@
 void * skypiax_do_skypeapi_thread_func(void *obj);
 void *SWITCH_THREAD_FUNC skypiax_do_skypeapi_thread(switch_thread_t * thread, void *obj);
 int dtmf_received(private_t *tech_pvt, char *value);
+int start_audio_threads(private_t *tech_pvt);
+int new_inbound_channel(private_t *tech_pvt);
+int outbound_channel_answered(private_t *tech_pvt);

Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c
==============================================================================
--- freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c	(original)
+++ freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c	Tue Jan 27 19:13:57 2009
@@ -1350,27 +1350,9 @@
             }
 
             if (!strcasecmp(prop, "DTMF")) { 
-              //switch_core_session_t *session = NULL;
-              //switch_channel_t *channel = NULL;
 
               DEBUGA_SKYPE("Call %s received a DTMF: %s\n", SKYPIAX_P_LOG, id, value);
 
-	      /*
-              session = switch_core_session_locate(tech_pvt->session_uuid_str);
-              channel = switch_core_session_get_channel(session);
-
-              if (channel) {
-                switch_dtmf_t dtmf =
-                  { (char) value[0], switch_core_default_dtmf_duration(0) };
-                DEBUGA_SKYPE("%c DTMF %s\n", SKYPIAX_P_LOG, dtmf.digit,
-                             switch_channel_get_name(channel));
-                switch_mutex_lock(tech_pvt->flag_mutex);
-                switch_channel_queue_dtmf(channel, &dtmf);
-                switch_set_flag(tech_pvt, TFLAG_DTMF);
-                switch_mutex_unlock(tech_pvt->flag_mutex);
-              }
-              switch_core_session_rwunlock(session);
-	      */
 	      dtmf_received(tech_pvt, value);
             }
 
@@ -1525,6 +1507,7 @@
                 strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1);
                 DEBUGA_SKYPE("skype_call: %s is now UNPLACED\n", SKYPIAX_P_LOG, id);
               } else if (!strcasecmp(value, "INPROGRESS")) {
+                  char msg_to_skype[1024];
                 tech_pvt->skype_callflow = CALLFLOW_STATUS_INPROGRESS;
                 strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1);
                 tech_pvt->interface_state = SKYPIAX_STATE_UP;
@@ -1535,26 +1518,8 @@
                   DEBUGA_SKYPE("skype_call: %s SKYPIAX_CONTROL_ANSWER sent\n",
                                SKYPIAX_P_LOG, id);
 
-                if (1) {        //FIXME //CICOPET
-                  char msg_to_skype[1024];
-                  switch_threadattr_t *thd_attr = NULL;
+		start_audio_threads(tech_pvt);
 
-                  switch_threadattr_create(&thd_attr, skypiax_module_pool);
-                  switch_threadattr_detach_set(thd_attr, 1);
-                  switch_threadattr_stacksize_set(thd_attr, SWITCH_THREAD_STACKSIZE);
-                  switch_thread_create(&tech_pvt->tcp_srv_thread, thd_attr,
-                                       skypiax_do_tcp_srv_thread, tech_pvt,
-                                       skypiax_module_pool);
-                  DEBUGA_SKYPE("started tcp_srv_thread thread.\n", SKYPIAX_P_LOG);
-
-                  switch_threadattr_create(&thd_attr, skypiax_module_pool);
-                  switch_threadattr_detach_set(thd_attr, 1);
-                  switch_threadattr_stacksize_set(thd_attr, SWITCH_THREAD_STACKSIZE);
-                  switch_thread_create(&tech_pvt->tcp_cli_thread, thd_attr,
-                                       skypiax_do_tcp_cli_thread, tech_pvt,
-                                       skypiax_module_pool);
-                  DEBUGA_SKYPE("started tcp_cli_thread thread.\n", SKYPIAX_P_LOG);
-                  skypiax_sleep(100000);
                   sprintf(msg_to_skype, "ALTER CALL %s SET_OUTPUT PORT=\"%d\"", id,
                           tech_pvt->tcp_srv_port);
                   skypiax_skype_write(tech_pvt, msg_to_skype);
@@ -1563,86 +1528,19 @@
                           tech_pvt->tcp_cli_port);
                   skypiax_skype_write(tech_pvt, msg_to_skype);
                   skypiax_sleep(100000);
-                }
-
+ 
                 tech_pvt->skype_callflow = SKYPIAX_STATE_UP;
 
-                //FIXME switch_core_session_t **new_session;
-
-                //FIXME *new_session=switch_loadable_module_create_interface(skypiax_endpoint_interface, pool);
-
-                if (!strlen(tech_pvt->session_uuid_str)) { //CICOPET
-                  switch_core_session_t *session = NULL;
-                  //private_t *tech_pvt = NULL;
-                  switch_channel_t *channel = NULL;
+                if (!strlen(tech_pvt->session_uuid_str)) {
 
                   DEBUGA_SKYPE("New Inbound Channel!\n", SKYPIAX_P_LOG);
 
-                  if ((session =
-                       switch_core_session_request(skypiax_endpoint_interface,
-                                                   NULL)) != 0) {
-                    switch_core_session_add_stream(session, NULL);
-                    channel = switch_core_session_get_channel(session);
-                    skypiax_tech_init(tech_pvt, session);
-#if 0
-                    if ((tech_pvt =
-                         (private_t *) switch_core_session_alloc(session,
-                                                                 sizeof(private_t))) !=
-                        0) {
-                      channel = switch_core_session_get_channel(session);
-                      skypiax_tech_init(tech_pvt, session);
-                    } else {
-                      ERRORA("Hey where is my memory pool?\n", SKYPIAX_P_LOG);
-                      switch_core_session_destroy(&session);
-                      break;
-                    }
-#endif
-
-                    if ((tech_pvt->caller_profile =
-                         switch_caller_profile_new(switch_core_session_get_pool(session),
-                                                   "skypiax", tech_pvt->dialplan,
-                                                   tech_pvt->callid_name,
-                                                   tech_pvt->callid_number, NULL, NULL,
-                                                   NULL, NULL, "mod_skypiax",
-                                                   tech_pvt->context,
-                                                   tech_pvt->destination)) != 0) {
-                      char name[128];
-                      //switch_snprintf(name, sizeof(name), "skypiax/%s/%s", tech_pvt->name, tech_pvt->caller_profile->destination_number);
-                      switch_snprintf(name, sizeof(name), "skypiax/%s", tech_pvt->name);
-                      switch_channel_set_name(channel, name);
-                      switch_channel_set_caller_profile(channel,
-                                                        tech_pvt->caller_profile);
-                    }
-                    switch_channel_set_state(channel, CS_INIT);
-                    if (switch_core_session_thread_launch(session) !=
-                        SWITCH_STATUS_SUCCESS) {
-                      ERRORA("Error spawning thread\n", SKYPIAX_P_LOG);
-                      switch_core_session_destroy(&session);
-                    }
-                  }
-                  switch_channel_mark_answered(channel);
-                } else { //CICOPET
-                  switch_core_session_t *session = NULL;
-                  switch_channel_t *channel = NULL;
+		  new_inbound_channel(tech_pvt);
+                } else { 
 
-                  if (strlen(tech_pvt->session_uuid_str)) {
-                    session = switch_core_session_locate(tech_pvt->session_uuid_str);
-                  } else {
-                    ERRORA("No session???\n", SKYPIAX_P_LOG);
-                  }
-                  if (session) {
-                    channel = switch_core_session_get_channel(session);
-                  } else {
-                    ERRORA("No session???\n", SKYPIAX_P_LOG);
-                  }
-                  if (channel) {
-                    switch_channel_mark_answered(channel);
-                    //DEBUGA_SKYPE("skype_call: %s, answered\n", SKYPIAX_P_LOG, id);
-                  } else {
-                    ERRORA("No channel???\n", SKYPIAX_P_LOG);
-                  }
+                  DEBUGA_SKYPE("Outbound Channel Answered!\n", SKYPIAX_P_LOG);
 
-                  switch_core_session_rwunlock(session);
+		  outbound_channel_answered(tech_pvt);
                 }
 
               } else {


From ctrix at freeswitch.org  Wed Jan 28 10:17:30 2009
From: ctrix at freeswitch.org (FreeSWITCH SVN)
Date: Wed, 28 Jan 2009 12:17:30 -0600
Subject: [Freeswitch-branches] [commit] r11539 -
	freeswitch/branches/ctrix/mod_airpe
Message-ID: 

Author: ctrix
Date: Wed Jan 28 12:17:30 2009
New Revision: 11539

Log:
Multiarch makefile



Modified:
   freeswitch/branches/ctrix/mod_airpe/Makefile

Modified: freeswitch/branches/ctrix/mod_airpe/Makefile
==============================================================================
--- freeswitch/branches/ctrix/mod_airpe/Makefile	(original)
+++ freeswitch/branches/ctrix/mod_airpe/Makefile	Wed Jan 28 12:17:30 2009
@@ -6,12 +6,10 @@
 LOCAL_OBJS=airpe_if_common.o airpe_api.o airpe_apps.o airpe_if_x11.o airpe_if_osx.o airpe_if_win32.o
 LOCAL_SOURCES=airpe_if_common.c airpe_api.c airpe_apps.c airpe_if_x11.c airpe_if_osx.c airpe_if_win32.c
 
-#--------------------------------- LINUX
-#LOCAL_LDFLAGS=-lX11
-
-#--------------------------------- OSX
-#LOCAL_LDFLAGS=-framework CoreFoundation
-LOCAL_LDFLAGS=-framework Skype -framework CoreFoundation -framework Carbon
+LOCAL_INSERT_LDFLAGS=\
+    if test $$osarch = "Darwin" ; then echo "-framework Skype -framework CoreFoundation" ; \
+    else echo "-lX11" ; \
+    fi;
 
 
 include ../../../../build/modmake.rules


From ctrix at freeswitch.org  Wed Jan 28 16:48:53 2009
From: ctrix at freeswitch.org (FreeSWITCH SVN)
Date: Wed, 28 Jan 2009 18:48:53 -0600
Subject: [Freeswitch-branches] [commit] r11547 -
	freeswitch/branches/ctrix/mod_airpe
Message-ID: 

Author: ctrix
Date: Wed Jan 28 18:48:53 2009
New Revision: 11547

Log:
Some steps to OSX integration (still far away)

Modified:
   freeswitch/branches/ctrix/mod_airpe/Makefile
   freeswitch/branches/ctrix/mod_airpe/airpe_if_osx.c
   freeswitch/branches/ctrix/mod_airpe/airpe_if_x11.c
   freeswitch/branches/ctrix/mod_airpe/mod_airpe.c
   freeswitch/branches/ctrix/mod_airpe/mod_airpe.h

Modified: freeswitch/branches/ctrix/mod_airpe/Makefile
==============================================================================
--- freeswitch/branches/ctrix/mod_airpe/Makefile	(original)
+++ freeswitch/branches/ctrix/mod_airpe/Makefile	Wed Jan 28 18:48:53 2009
@@ -2,12 +2,12 @@
 
 MODNAME=mod_airpe
 
-LOCAL_CFLAGS=
+LOCAL_CFLAGS=-w
 LOCAL_OBJS=airpe_if_common.o airpe_api.o airpe_apps.o airpe_if_x11.o airpe_if_osx.o airpe_if_win32.o
 LOCAL_SOURCES=airpe_if_common.c airpe_api.c airpe_apps.c airpe_if_x11.c airpe_if_osx.c airpe_if_win32.c
 
 LOCAL_INSERT_LDFLAGS=\
-    if test $$osarch = "Darwin" ; then echo "-framework Skype -framework CoreFoundation" ; \
+    if test $$osarch = "Darwin" ; then echo "-framework Carbon -framework Skype" ; \
     else echo "-lX11" ; \
     fi;
 

Modified: freeswitch/branches/ctrix/mod_airpe/airpe_if_osx.c
==============================================================================
--- freeswitch/branches/ctrix/mod_airpe/airpe_if_osx.c	(original)
+++ freeswitch/branches/ctrix/mod_airpe/airpe_if_osx.c	Wed Jan 28 18:48:53 2009
@@ -13,7 +13,16 @@
     int				watchdog;
 };
 
+static switch_memory_pool_t *tech_pool;
 
+/*****************************************************************************
+    EXPORTED FUNCTIONS    
+ *****************************************************************************/
+
+void airpe_tech_set_pool(switch_memory_pool_t *pool) {
+    if ( !tech_pool )
+	tech_pool = pool;
+}
 
 switch_status_t airpe_skype_watchdog_reset(skype_window_handler_t *window) {
     window->watchdog = 0;
@@ -41,42 +50,60 @@
 switch_status_t airpe_skype_send_message(skype_window_handler_t *window, const char *message_P) {
     CFStringRef string;
 
+ADEBUG("Sending %s \n", message_P);
     string = CFStringCreateWithCString(NULL, message_P, kCFStringEncodingUTF8 );
     SendSkypeCommand(string);
-    CFRelease(string);
-    RunCurrentEventLoop(0.01);
+//    CFRelease(string);
+ADEBUG("Sent \n");
 
     return SWITCH_STATUS_SUCCESS;
 }
 
 switch_status_t airpe_skype_avalaible(skype_window_handler_t *window)
 {
-/*
     if ( IsSkypeAvailable() ) {
 	return SWITCH_STATUS_SUCCESS;
     }
     else {
 	return SWITCH_STATUS_FALSE;
     }
-*/
-	return SWITCH_STATUS_FALSE;
 }
 
-
-
 /*****************************************************************************
     THREADS
  *****************************************************************************/
 static int attached = -1;
 
+static char *ToCString(CFStringRef cstr) {
+    int strlen;
+    char *output;
+
+    if ( !cstr )
+	return NULL;
+    
+    strlen = CFStringGetMaximumSizeForEncoding(CFStringGetLength(cstr), kCFStringEncodingUTF8);
+    output = NewPtr(strlen+1);
+
+    CFStringGetCString(cstr, output, strlen+1, kCFStringEncodingUTF8);
+
+    return output;
+}
+
+
 static void IncomingMessage(CFStringRef aNotificationString) {
-    ADEBUG("Incoming message");
+    char *in;
+
+    in = ToCString(aNotificationString);
+    if ( in ) {
+	ADEBUG("Incoming message %s\n", in);
+    }
 }
 
 static void AttachResponse(unsigned int aAttachResponseCode) {
     ADEBUG("Attach: %d\n", aAttachResponseCode);
     attached = aAttachResponseCode;
 }
+
 void *SWITCH_THREAD_FUNC airpe_skype_thread(switch_thread_t * thread, void *obj) {
     airpe_interface_t *airpe = NULL;
     struct SkypeDelegate *del;
@@ -89,35 +116,39 @@
 	goto done;
     }
     RunCurrentEventLoop(0.1);
-/*
+
     if ( !IsSkypeRunning() ) {
 	ADEBUG("Sorry, not running\n");
 	goto done;
     }
     RunCurrentEventLoop(0.1);
-*/
-    airpe->running = 1;
 
+    airpe->running = 1;
     del = &airpe->skype_window->delegate;
     del->clientApplicationName=CFSTR("airpe");
     del->SkypeNotificationReceived=IncomingMessage;
     del->SkypeAttachResponse=AttachResponse;
 
+
+ADEBUG("\n");
     SetSkypeDelegate(del);
     RunCurrentEventLoop(0.1);
     ConnectToSkype();
     RunCurrentEventLoop(0.1);
 
+ADEBUG("\n");
     while ( airpe->running && attached !=1  ) {
-//	ADEBUG("Sorry, not attached\n");
+	ADEBUG("Sorry, not yet attached\n");
 	RunCurrentEventLoop(0.01);
     }
 
+ADEBUG("\n");
     if ( !attached && airpe->running ) {
-	ADEBUG("Sorry, not attached\n");
+	ADEBUG("Sorry, not attached. exiting\n");
 	goto done;
     }
 
+ADEBUG("\n");
     if ( airpe_on_connect_messages( airpe, 6 ) != SWITCH_STATUS_SUCCESS ) {
 	switch_log_printf(	SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, 
 				"airpe client %s. Failed to send handshake messages\n", 
@@ -126,9 +157,11 @@
     }
 
 
+ADEBUG("UUUUUUUUUUUUUUUUUU\n");
     while ( airpe->running ) {
 	RunCurrentEventLoop(0.01);
     }
+ADEBUG("AAAAAAAAAAAAAAAaaa\n");
 
     DisconnectFromSkype();
     RemoveSkypeDelegate();

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 28 18:48:53 2009
@@ -47,7 +47,7 @@
     Window 	skype_win;
 };
 
-
+static switch_memory_pool_t *tech_pool;
 
 
 static XErrorHandler old_handler = 0;
@@ -72,6 +72,11 @@
     return (xerror != BadValue) && (xerror != BadWindow);
 }
 
+void airpe_tech_set_pool(switch_memory_pool_t *pool) {
+    if ( !tech_pool )
+	tech_pool = pool;
+}
+
 switch_status_t airpe_skype_watchdog_reset(skype_window_handler_t *window) {
     window->watchdog = 0;
     return SWITCH_STATUS_SUCCESS;

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 28 18:48:53 2009
@@ -200,6 +200,7 @@
     airpe_audio_sockets_create(airpe);
 
     switch_threadattr_create(&attr_skype, airpe_module_pool);
+    switch_threadattr_detach_set(&attr_skype, 0);
     switch_threadattr_stacksize_set(attr_skype, SWITCH_THREAD_STACKSIZE);
 
     return switch_thread_create(&airpe->airpe_thread_skype, 
@@ -244,7 +245,7 @@
     /* I prefer not to expose airpe_endpoint_interface out of this file. */
     return switch_core_session_request(airpe_endpoint_interface, pool);
 }
-
+	
 
 /*****************************************************************************
     CHANNEL STATE HANDLERS
@@ -652,6 +653,7 @@
     pool = airpe_module_pool;
     
     if (!(xml = switch_xml_open_cfg("airpe.conf", &cfg, NULL))) {
+	switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "airpe.conf not found\n");
 	return SWITCH_STATUS_TERM;
     }
 
@@ -873,13 +875,19 @@
 SWITCH_MODULE_LOAD_FUNCTION(mod_airpe_load)
 {
     airpe_module_pool = pool;
+    switch_status_t ret;
 
     memset(&globals, 0, sizeof(globals));
 
     switch_mutex_init(&globals.mutex, SWITCH_MUTEX_NESTED, pool);
     switch_core_hash_init(&globals.interfaces_hash, pool);
 
-    load_config(0);
+    airpe_tech_set_pool(pool);
+
+    if ( (ret=load_config(0))!=SWITCH_STATUS_SUCCESS ) {
+	switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error loading configuration!\n");
+	return ret;
+    }
 
     *module_interface = switch_loadable_module_create_module_interface(pool, modname);
 

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 28 18:48:53 2009
@@ -225,6 +225,7 @@
 switch_status_t airpe_on_connect_messages( airpe_interface_t *airpe, int protocol );
 
 /* INTERFACE - PLATFORM DEPENDANT FUNCTIONS */
+void airpe_tech_set_pool(switch_memory_pool_t *pool);
 switch_status_t airpe_skype_watchdog_reset(skype_window_handler_t *window);
 switch_status_t airpe_skype_watchdog_increment(skype_window_handler_t *window);
 skype_window_handler_t *skype_window_alloc( switch_memory_pool_t *pool);


From gmaruzz at freeswitch.org  Sat Jan 31 01:25:47 2009
From: gmaruzz at freeswitch.org (FreeSWITCH SVN)
Date: Sat, 31 Jan 2009 03:25:47 -0600
Subject: [Freeswitch-branches] [commit] r11576 -
	freeswitch/branches/gmaruzz/mod_skypiax
Message-ID: 

Author: gmaruzz
Date: Sat Jan 31 03:25:47 2009
New Revision: 11576

Log:
skypiax: moving switch specific things out of skypiax_protocol.c, and cosmetics

Modified:
   freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c
   freeswitch/branches/gmaruzz/mod_skypiax/skypiax.h
   freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c

Modified: freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c
==============================================================================
--- freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c	(original)
+++ freeswitch/branches/gmaruzz/mod_skypiax/mod_skypiax.c	Sat Jan 31 03:25:47 2009
@@ -706,6 +706,8 @@
 
       uint32_t interface_id = 0, to = 0, max = 0;
 
+      tech_pvt = NULL;
+
       for (param = switch_xml_child(myinterface, "param"); param; param = param->next) {
         char *var = (char *) switch_xml_attr_soft(param, "name");
         char *val = (char *) switch_xml_attr_soft(param, "value");
@@ -808,13 +810,16 @@
 
         memset(&newconf, '\0', sizeof(newconf));
         globals.SKYPIAX_INTERFACES[interface_id] = newconf;
-        DEBUGA_SKYPE("CONFIGURING interface_id=%d\n", SKYPIAX_P_LOG, interface_id);
+
+	tech_pvt=&globals.SKYPIAX_INTERFACES[interface_id];
+
         switch_set_string(globals.SKYPIAX_INTERFACES[interface_id].interface_id, id);
         if (name) {
           switch_set_string(globals.SKYPIAX_INTERFACES[interface_id].name, name);
         } else {
           switch_set_string(globals.SKYPIAX_INTERFACES[interface_id].name, "N/A");
         }
+        DEBUGA_SKYPE("CONFIGURING interface_id=%d\n", SKYPIAX_P_LOG, interface_id);
 #ifdef WIN32
         globals.SKYPIAX_INTERFACES[interface_id].tcp_cli_port =
           (unsigned short) atoi(tcp_cli_port);
@@ -915,6 +920,8 @@
 
     for (i = 0; i < SKYPIAX_MAX_INTERFACES; i++) {
       if (strlen(globals.SKYPIAX_INTERFACES[i].name)) {
+	      tech_pvt = &globals.SKYPIAX_INTERFACES[i];
+
         DEBUGA_SKYPE("i=%d globals.SKYPIAX_INTERFACES[%d].interface_id=%s\n",
                      SKYPIAX_P_LOG, i, i, globals.SKYPIAX_INTERFACES[i].interface_id);
         DEBUGA_SKYPE("i=%d globals.SKYPIAX_INTERFACES[%d].X11_display=%s\n",
@@ -1082,7 +1089,7 @@
                                        skypiax_do_tcp_cli_thread, tech_pvt,
                                        skypiax_module_pool);
                   DEBUGA_SKYPE("started tcp_cli_thread thread.\n", SKYPIAX_P_LOG);
-                  skypiax_sleep(100000);
+                  switch_sleep(100000);
  
 
 	return 0;

Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax.h
==============================================================================
--- freeswitch/branches/gmaruzz/mod_skypiax/skypiax.h	(original)
+++ freeswitch/branches/gmaruzz/mod_skypiax/skypiax.h	Sat Jan 31 03:25:47 2009
@@ -245,7 +245,6 @@
 int skypiax_skype_call(private_t * tech_pvt, char *idest, int timeout);
 int skypiax_skype_senddigit(private_t * tech_pvt, char digit);
 
-#define skypiax_sleep switch_sleep
 void * skypiax_do_tcp_srv_thread_func(void *obj);
 void *SWITCH_THREAD_FUNC skypiax_do_tcp_srv_thread(switch_thread_t * thread, void *obj);
 

Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c
==============================================================================
--- freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c	(original)
+++ freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c	Sat Jan 31 03:25:47 2009
@@ -1,5 +1,9 @@
 #include "skypiax.h"
 
+#define skypiax_sleep switch_sleep
+#define skypiax_file_write switch_file_write
+#define skypiax_file_read switch_file_read
+
 extern switch_memory_pool_t *skypiax_module_pool;
 extern int option_debug;
 extern switch_endpoint_interface_t *skypiax_endpoint_interface;
@@ -145,7 +149,7 @@
               howmany = len;
 
 #ifdef WIN32
-              switch_file_write(tech_pvt->audiopipe[1], totalbuf, &howmany);
+              skypiax_file_write(tech_pvt->audiopipe[1], totalbuf, &howmany);
 #else /* WIN32 */
               howmany = write(tech_pvt->audiopipe[1], totalbuf, howmany);
 #endif /* WIN32 */
@@ -170,7 +174,7 @@
               unsigned int howmany;
 
               howmany = len;
-              switch_file_write(tech_pvt->audiopipe[1], srv_in, &howmany);
+              skypiax_file_write(tech_pvt->audiopipe[1], srv_in, &howmany);
 #else /* WIN32 */
               len = write(tech_pvt->audiopipe[1], srv_in, len);
 #endif /* WIN32 */
@@ -191,7 +195,7 @@
                 }
 
 #ifdef WIN32
-                switch_file_write(tech_pvt->audiopipe[1], totalbuf, &howmany);
+                skypiax_file_write(tech_pvt->audiopipe[1], totalbuf, &howmany);
 #else /* WIN32 */
                 howmany = write(tech_pvt->audiopipe[1], totalbuf, howmany);
 #endif /* WIN32 */
@@ -222,14 +226,14 @@
     }
 #ifdef WIN32
     kill_cli_size = SAMPLES_PER_FRAME * sizeof(short);
-    switch_file_write(tech_pvt->audiopipe[1], kill_cli_buff, &kill_cli_size);
+    skypiax_file_write(tech_pvt->audiopipe[1], kill_cli_buff, &kill_cli_size);
     kill_cli_size = SAMPLES_PER_FRAME * sizeof(short);
-    switch_file_write(tech_pvt->audioskypepipe[1], kill_cli_buff, &kill_cli_size);
+    skypiax_file_write(tech_pvt->audioskypepipe[1], kill_cli_buff, &kill_cli_size);
     tech_pvt->interface_state = SKYPIAX_STATE_DOWN;
     kill_cli_size = SAMPLES_PER_FRAME * sizeof(short);
-    switch_file_write(tech_pvt->audiopipe[1], kill_cli_buff, &kill_cli_size);
+    skypiax_file_write(tech_pvt->audiopipe[1], kill_cli_buff, &kill_cli_size);
     kill_cli_size = SAMPLES_PER_FRAME * sizeof(short);
-    switch_file_write(tech_pvt->audioskypepipe[1], kill_cli_buff, &kill_cli_size);
+    skypiax_file_write(tech_pvt->audioskypepipe[1], kill_cli_buff, &kill_cli_size);
 #else /* WIN32 */
     kill_cli_size = SAMPLES_PER_FRAME * sizeof(short);
     len = write(tech_pvt->audiopipe[1], kill_cli_buff, kill_cli_size);
@@ -357,7 +361,7 @@
         if ((SAMPLERATE_SKYPIAX - 8000) == 0) {
           got = SAMPLES_PER_FRAME * sizeof(short);
 #ifdef WIN32
-          switch_file_read(tech_pvt->audioskypepipe[0], cli_in, &got);
+          skypiax_file_read(tech_pvt->audioskypepipe[0], cli_in, &got);
 #else /* WIN32 */
           got = read(tech_pvt->audioskypepipe[0], cli_in, got);
 #endif /* WIN32 */
@@ -387,7 +391,7 @@
         } else if (SAMPLERATE_SKYPIAX == 16000) {
           got = SAMPLES_PER_FRAME * sizeof(short);
 #ifdef WIN32
-          switch_file_read(tech_pvt->audioskypepipe[0], cli_in, &got);
+          skypiax_file_read(tech_pvt->audioskypepipe[0], cli_in, &got);
 #else /* WIN32 */
           got = read(tech_pvt->audioskypepipe[0], cli_in, got);
 #endif /* WIN32 */
@@ -495,7 +499,7 @@
   if (rt > 0) {
     samples = SAMPLES_PER_FRAME * sizeof(short);
 #ifdef WIN32
-    switch_file_read(tech_pvt->audiopipe[0], tech_pvt->read_frame.data, &samples);
+    skypiax_file_read(tech_pvt->audiopipe[0], tech_pvt->read_frame.data, &samples);
 #else /* WIN32 */
     samples = read(tech_pvt->audiopipe[0], tech_pvt->read_frame.data, samples);
 #endif /* WIN32 */
@@ -596,7 +600,7 @@
               sizeof(msg_from_skype) - 2);
 
       howmany = strlen(msg_from_skype) + 1;
-      switch_file_write(tech_pvt->SkypiaxHandles.fdesc[1], msg_from_skype, &howmany);
+      skypiax_file_write(tech_pvt->SkypiaxHandles.fdesc[1], msg_from_skype, &howmany);
       //NOTICA("From Skype API: %s\n", SKYPIAX_P_LOG, (const char *) poCopyData->lpData);
       lReturnCode = 1;
     }
@@ -778,8 +782,6 @@
     }
   }
 
-  //switch_thread_exit(thread, SWITCH_STATUS_SUCCESS);
-
   return NULL;
 }
 
@@ -1134,7 +1136,7 @@
     if (tech_pvt->SkypiaxHandles.fdesc[0]) {
       howmany = sizeof(read_from_pipe);
 #ifdef WIN32
-      switch_file_read(tech_pvt->SkypiaxHandles.fdesc[0], read_from_pipe, &howmany);
+      skypiax_file_read(tech_pvt->SkypiaxHandles.fdesc[0], read_from_pipe, &howmany);
 #else /* WIN32 */
       howmany =
         read(tech_pvt->SkypiaxHandles.fdesc[0], read_from_pipe, sizeof(read_from_pipe));


From gmaruzz at freeswitch.org  Sat Jan 31 05:51:01 2009
From: gmaruzz at freeswitch.org (FreeSWITCH SVN)
Date: Sat, 31 Jan 2009 07:51:01 -0600
Subject: [Freeswitch-branches] [commit] r11577 -
	freeswitch/branches/gmaruzz/mod_skypiax/asterisk
Message-ID: 

Author: gmaruzz
Date: Sat Jan 31 07:51:01 2009
New Revision: 11577

Log:
skypiax: compiles and run on asterisk (at least 1.2 series). Does nothing

Added:
   freeswitch/branches/gmaruzz/mod_skypiax/asterisk/
   freeswitch/branches/gmaruzz/mod_skypiax/asterisk/Makefile
   freeswitch/branches/gmaruzz/mod_skypiax/asterisk/chan_skypiax.c
   freeswitch/branches/gmaruzz/mod_skypiax/asterisk/cyg_no_pthread_kill.c
   freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax.conf
   freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax.h
   freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax_protocol.c

Added: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/Makefile
==============================================================================
--- (empty file)
+++ freeswitch/branches/gmaruzz/mod_skypiax/asterisk/Makefile	Sat Jan 31 07:51:01 2009
@@ -0,0 +1,89 @@
+#
+# Asterisk -- A telephony toolkit for Linux.
+# 
+# Makefile for channel drivers
+#
+# Copyright (C) 1999-2005, Mark Spencer
+#
+# Mark Spencer 
+#
+# Edited By Belgarath <> Aug 28 2004
+# Added bare bones ultrasparc-linux support.
+#
+# This program is free software, distributed under the terms of
+# the GNU General Public License
+#
+
+#ASTERISK INCLUDE FILES
+#The directory that contains the Asterisk include files (eg: /usr/include or /usr/include/asterisk or /usr/src/asterisk/include or ...)
+#AST_INCLUDE_DIR=/usr/src/asterisk/include
+#AST_INCLUDE_DIR=/home/maruzz/devel/svn_asterisk_trunk/include
+#AST_INCLUDE_DIR=/home/maruzz/devel/svn_asterisk_branches_160/include
+#AST_INCLUDE_DIR=/home/maruzz/devel/svn_asterisk_branches_12/include
+#AST_INCLUDE_DIR=/home/maruzz/devel/svn_asterisk_branches_14/include
+AST_INCLUDE_DIR=/home/maruzz/devel/svn_celliax_trunk/asterisk-1.2.rev137401/include
+
+#ASTERISK VERSION
+#Uncomment one of the following lines to match your Asterisk series
+#CFLAGS+=-DASTERISK_VERSION_1_4
+#CFLAGS+=-DASTERISK_VERSION_1_6
+CFLAGS+=-DASTERISK_VERSION_1_2
+
+#LINUX SKYPE SUPPORT (Celliax for Cygwin always supports Skype)
+SKYPE_LIB=-L/usr/X11R6/lib -lX11
+
+CFLAGS+=-pipe -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations
+CFLAGS+=-g3
+
+
+
+CFLAGS+=-I$(AST_INCLUDE_DIR) -I.
+CFLAGS+=-D_REENTRANT -D_GNU_SOURCE
+#CFLAGS+=-O6
+CFLAGS+=-march=i686
+CFLAGS+=-fomit-frame-pointer
+ifeq ($(shell uname -m),x86_64)
+CFLAGS+=-fPIC
+endif
+
+SVNDEF := -D'SKYPIAX_SVN_VERSION="$(shell svnversion -n .)"'
+CFLAGS += $(SVNDEF)
+
+
+SOLINK=-shared -Xlinker -x 
+CHANNEL_LIBS=chan_skypiax.so
+CC=gcc
+
+OSARCH=$(shell uname -s)
+
+ifeq ($(findstring CYGWIN,$(OSARCH)),CYGWIN)
+# definition of pthread_kill as a printf (or as a noop) is required for Asterisk (and skypiax) to run on Cygwin
+# without it, each time (often) pthread_kill is called (by any thread, with any signal, URG included), bad things happen 
+CC=gcc -D pthread_kill=cyg_no_pthreadkill
+AST_DLL_DIR=/home/maruzz/devel/svn_asterisk_branches_12
+CYGSOLINK=-Wl,--out-implib=lib$@.a -Wl,--export-all-symbols cyg_no_pthread_kill.o
+CYGSOLIB=-L/usr/lib/w32api -lrpcrt4 -L/lib/mingw -lwinmm -L$(AST_DLL_DIR) -lasterisk.dll -L$(AST_DLL_DIR)/res -lres_features.so 
+SKYPE_LIB=
+CHANNEL_LIBS=cyg_no_pthread_kill.o chan_skypiax.so
+endif
+
+all: $(CHANNEL_LIBS) 
+
+clean:
+	rm -f *.so *.o *.so.a
+
+
+#chan_skypiax section begins
+
+#to debug threads and lock on 1.4 uncomment the following
+#CFLAGS+=-include /usr/src/asterisk/include/asterisk/autoconfig.h  
+
+
+cyg_no_pthread_kill.o: cyg_no_pthread_kill.c
+	$(CC) $(CFLAGS) -c -o cyg_no_pthread_kill.o cyg_no_pthread_kill.c
+chan_skypiax.o: chan_skypiax.c
+	$(CC) $(CFLAGS) -c -o chan_skypiax.o chan_skypiax.c
+chan_skypiax.so: chan_skypiax.o skypiax_protocol.o
+	$(CC) $(SOLINK) -o $@ ${CYGSOLINK} chan_skypiax.o skypiax_protocol.o -lm -ldl $(SKYPE_LIB) ${CYGSOLIB}
+#chan_skypiax section ends
+

Added: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/chan_skypiax.c
==============================================================================
--- (empty file)
+++ freeswitch/branches/gmaruzz/mod_skypiax/asterisk/chan_skypiax.c	Sat Jan 31 07:51:01 2009
@@ -0,0 +1,2161 @@
+//indent -gnu -ts4 -br -brs -cdw -lp -ce -nbfda -npcs -nprs -npsl -nbbo -saf -sai -saw -cs -bbo -nhnl -nut -sob -l90 
+#include "skypiax.h"
+
+/* LOCKS */
+/*! \brief Protect the skypiax_usecnt */
+AST_MUTEX_DEFINE_STATIC(skypiax_usecnt_lock);
+/*! \brief Protect the monitoring thread, so only one process can kill or start it, and not
+ *    when it's doing something critical. */
+AST_MUTEX_DEFINE_STATIC(skypiax_monlock);
+/*! \brief Protect the interfaces list */
+AST_MUTEX_DEFINE_STATIC(skypiax_iflock);
+
+/* GLOBAL VARIABLES */
+int running = 1;
+char skypiax_console_active_array[50] = "";
+char *skypiax_console_active = skypiax_console_active_array;
+/*! \brief Count of active channels for this module */
+int skypiax_usecnt = 0;
+int skypiax_debug = 0;
+/*! \brief This is the thread for the monitor which checks for input on the channels
+ *    which are not currently in use.  */
+pthread_t skypiax_monitor_thread = AST_PTHREADT_NULL;
+pthread_t skypiax_monitor_audio_thread = AST_PTHREADT_NULL;
+
+/* CONSTANTS */
+/*! \brief Textual description for this module */
+const char skypiax_desc[] = "Skypiax, Skype Driver";
+/*! \brief Textual type for this module */
+const char skypiax_type[] = "Skypiax";
+/*! \brief Name of configuration file for this module */
+const char skypiax_config[] = "skypiax.conf";
+
+char skypiax_console_skypiax_usage[] =
+  "       \n" "chan_skypiax commands info\n" "       \n"
+  "       chan_skypiax adds to Asterisk the following CLI commands:\n" "       \n"
+  "       CLI COMMANDS:\n" "          skypiax_hangup\n" "          skypiax_dial\n"
+  "          skypiax_console\n" "          skypiax_playback_boost\n"
+  "          skypiax_capture_boost\n" "          skypiax_skype\n"
+  "          skypiax_dir_import\n" "\n"
+  "       You can type 'help [command]' to obtain more specific info on usage.\n"
+  "       \n";
+char skypiax_console_hangup_usage[] =
+  "Usage: skypiax_hangup\n"
+  "       Hangs up any call currently placed on the \"current\" skypiax_console (Skypiax) channel.\n"
+  "       Enter 'help skypiax_console' on how to change the \"current\" skypiax_console\n";
+char skypiax_console_playback_boost_usage[] =
+  "Usage: skypiax_playback_boost [value]\n"
+  "       Shows or set the value of boost applied to the outgoing sound (voice). Possible values are: 0 (no boost applied), -40 to 40 (negative to positive range, in db). Without specifying a value, it just shows the current value. The value is for the  \"current\" skypiax_console (Skypiax) channel.\n"
+  "       Enter 'help skypiax_console' on how to change the \"current\" skypiax_console\n";
+char skypiax_console_capture_boost_usage[] =
+  "Usage: skypiax_capture_boost [value]\n"
+  "       Shows or set the value of boost applied to the incoming sound (voice). Possible values are: 0 (no boost applied), -40 to 40 (negative to positive range, in db). Without specifying a value, it just shows the current value. The value is for the  \"current\" skypiax_console (Skypiax) channel.\n"
+  "       Enter 'help skypiax_console' on how to change the \"current\" skypiax_console\n";
+
+char skypiax_console_dial_usage[] =
+  "Usage: skypiax_dial [DTMFs]\n"
+  "       Dials a given DTMF string in the call currently placed on the\n"
+  "       \"current\" skypiax_console (Skypiax) channel.\n"
+  "       Enter 'help skypiax_console' on how to change the \"current\" skypiax_console\n";
+
+char skypiax_console_skypiax_console_usage[] =
+  "Usage: skypiax_console [interface] | [show]\n"
+  "       If used without a parameter, displays which interface is the \"current\"\n"
+  "       skypiax_console.  If a device is specified, the \"current\" skypiax_console is changed to\n"
+  "       the interface specified.\n"
+  "       If the parameter is \"show\", the available interfaces are listed\n";
+
+char skypiax_console_skype_usage[] =
+  "Usage: skypiax_skype [command string]\n"
+  "       Send the 'command string' skype_msg to the Skype client connected to the  \"current\" skypiax_console (Skypiax) channel.\n"
+  "       Enter 'help skypiax_console' on how to change the \"current\" skypiax_console\n";
+
+char skypiax_console_skypiax_dir_import_usage[] =
+  "Usage: skypiax_dir_import [add | replace]\n"
+  "       Write in the directoriax.conf config file all the entries found in 'Contacts' list of the Skype client connected to the \"current\" skypiax_console.\n"
+  "       You can choose between 'add' to the end of the directoriax.conf file, or 'replace' the whole file with this new content.\n"
+  "       Enter 'help skypiax_console' on how to change the \"current\" skypiax_console\n";
+
+/*! \brief Definition of this channel for PBX channel registration */
+const struct ast_channel_tech skypiax_tech = {
+  .type = skypiax_type,
+  .description = skypiax_desc,
+  .capabilities = AST_FORMAT_SLINEAR,
+  .requester = skypiax_request,
+  .hangup = skypiax_hangup,
+  .answer = skypiax_answer,
+  .read = skypiax_read,
+  .call = skypiax_call,
+  .write = skypiax_write,
+  .indicate = skypiax_indicate,
+  .fixup = skypiax_fixup,
+  .devicestate = skypiax_devicestate,
+#ifdef ASTERISK_VERSION_1_4
+  .send_digit_begin = skypiax_senddigit_begin,
+  .send_digit_end = skypiax_senddigit_end,
+#else /* ASTERISK_VERSION_1_4 */
+  .send_digit = skypiax_senddigit,
+#endif /* ASTERISK_VERSION_1_4 */
+};
+
+/*! \brief fake skypiax_pvt structure values, 
+ * just for logging purposes */
+struct skypiax_pvt skypiax_log_struct = {
+  .name = "none",
+};
+
+/*! \brief Default skypiax_pvt structure values, 
+ * used by skypiax_mkif to initialize the interfaces */
+struct skypiax_pvt skypiax_default = {
+  .interface_state = AST_STATE_DOWN,
+  .skype_callflow = 0,
+  .context = "default",
+  .language = "en",
+  .exten = "s",
+  .next = NULL,
+  .owner = NULL,
+  .controldev_thread = AST_PTHREADT_NULL,
+  .skypiax_sound_rate = 8000,
+  .skypiax_sound_capt_fd = -1,
+  .capture_boost = 0,
+  .playback_boost = 0,
+  .stripmsd = 0,
+  .skype = 0,
+  .skypiax_dir_entry_extension_prefix = 6,
+};
+
+/*! 
+ * \brief PVT structure for a skypiax interface (channel), created by skypiax_mkif
+ */
+struct skypiax_pvt *skypiax_iflist = NULL;
+
+struct ast_cli_entry myclis[] = {
+  {{"skypiax_hangup", NULL}, skypiax_console_hangup,
+   "Hangup a call on the skypiax_console",
+   skypiax_console_hangup_usage},
+  {{"skypiax_playback_boost", NULL}, skypiax_console_playback_boost, "playback boost",
+   skypiax_console_playback_boost_usage},
+  {{"skypiax_capture_boost", NULL}, skypiax_console_capture_boost, "capture boost",
+   skypiax_console_capture_boost_usage},
+  {{"skypiax_usage", NULL}, skypiax_console_skypiax, "chan_skypiax commands info",
+   skypiax_console_skypiax_usage},
+  {{"skypiax_skype", NULL}, skypiax_console_skype, "Skype msg",
+   skypiax_console_skype_usage},
+  {{"skypiax_dial", NULL}, skypiax_console_dial,
+   "Dial an extension on the skypiax_console",
+   skypiax_console_dial_usage},
+  {{"skypiax_console", NULL}, skypiax_console_set_active,
+   "Sets/displays active skypiax_console",
+   skypiax_console_skypiax_console_usage},
+  {{"skypiax_dir_import", NULL}, skypiax_console_skypiax_dir_import,
+   "Write the directoriax.conf file, used by directoriax app",
+   skypiax_console_skypiax_dir_import_usage},
+};
+
+/* IMPLEMENTATION */
+
+void skypiax_unlocka_log(void *x)
+{
+  ast_mutex_t *y;
+  y = x;
+  int i;
+
+  for (i = 0; i < 5; i++) {     //let's be generous
+
+    ast_log(LOG_DEBUG,
+            SKYPIAX_SVN_VERSION
+            "[%-7lx] I'm a dying thread, and I'm to go unlocking mutex %p for the %dth time\n",
+            (unsigned long int) pthread_self(), y, i);
+
+    ast_mutex_unlock(y);
+  }
+  ast_log(LOG_DEBUG,
+          SKYPIAX_SVN_VERSION
+          "[%-7lx] I'm a dying thread, I've finished unlocking mutex %p\n",
+          (unsigned long int) pthread_self(), y);
+}
+
+int skypiax_queue_control(struct ast_channel *c, int control)
+{
+  struct skypiax_pvt *p = c->tech_pvt;
+
+  if (option_debug > 10) {
+    DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);
+  }
+/* queue the frame */
+  if (p)
+    p->control_to_send = control;
+  else {
+    if (option_debug > 10) {
+      DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+    }
+    return 0;
+  }
+  DEBUGA_PBX("Queued CONTROL FRAME %d\n", SKYPIAX_P_LOG, control);
+
+/* wait for the frame to be sent */
+  while (p->control_to_send)
+    usleep(1);
+
+  if (option_debug > 10) {
+    DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+  }
+  return 0;
+}
+
+int skypiax_devicestate(void *data)
+{
+  struct skypiax_pvt *p = NULL;
+  char *name = data;
+  int res = AST_DEVICE_INVALID;
+
+  if (option_debug > 10) {
+    DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);
+  }
+  if (!data) {
+    ERRORA("Devicestate requested with no data\n", SKYPIAX_P_LOG);
+    if (option_debug > 10) {
+      DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+    }
+    return res;
+  }
+
+  /* lock the interfaces' list */
+  LOKKA(&skypiax_iflock);
+  /* make a pointer to the first interface in the interfaces list */
+  p = skypiax_iflist;
+  /* Search for the requested interface and verify if is unowned */
+  while (p) {
+    size_t length = strlen(p->name);
+    /* is this the requested interface? */
+    if (strncmp(name, p->name, length) == 0) {
+      /* is this interface unowned? */
+      if (!p->owner) {
+        res = AST_DEVICE_NOT_INUSE;
+        DEBUGA_PBX("Interface is NOT OWNED by a channel\n", SKYPIAX_P_LOG);
+      } else {
+        /* interface owned by a channel */
+        res = AST_DEVICE_INUSE;
+        DEBUGA_PBX("Interface is OWNED by a channel\n", SKYPIAX_P_LOG);
+      }
+
+      /* we found the requested interface, bail out from the while loop */
+      break;
+    }
+    /* not yet found, next please */
+    p = p->next;
+  }
+  /* unlock the interfaces' list */
+  UNLOCKA(&skypiax_iflock);
+
+  if (res == AST_DEVICE_INVALID) {
+    ERRORA("Checking device state for interface [%s] returning AST_DEVICE_INVALID\n",
+           SKYPIAX_P_LOG, name);
+  }
+  if (option_debug > 10) {
+    DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+  }
+  return res;
+}
+
+#ifndef ASTERISK_VERSION_1_4
+int skypiax_indicate(struct ast_channel *c, int cond)
+#else
+int skypiax_indicate(struct ast_channel *c, int cond, const void *data, size_t datalen)
+#endif
+{
+  struct skypiax_pvt *p = c->tech_pvt;
+  int res = 0;
+
+  if (option_debug > 10) {
+    DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);
+  }
+  NOTICA("Let's INDICATE %d\n", SKYPIAX_P_LOG, cond);
+
+  switch (cond) {
+  case AST_CONTROL_BUSY:
+  case AST_CONTROL_CONGESTION:
+  case AST_CONTROL_RINGING:
+  case -1:
+    res = -1;                   /* Ask for inband indications */
+    break;
+  case AST_CONTROL_PROGRESS:
+  case AST_CONTROL_PROCEEDING:
+  case AST_CONTROL_VIDUPDATE:
+  case AST_CONTROL_HOLD:
+  case AST_CONTROL_UNHOLD:
+#ifdef ASTERISK_VERSION_1_4
+  case AST_CONTROL_SRCUPDATE:
+#endif /* ASTERISK_VERSION_1_4 */
+    break;
+  default:
+    WARNINGA("Don't know how to display condition %d on %s\n", SKYPIAX_P_LOG, cond,
+             c->name);
+    /* The core will play inband indications for us if appropriate */
+    res = -1;
+  }
+
+  if (option_debug > 10) {
+    DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+  }
+  return res;
+}
+
+/*! \brief PBX interface function -build skypiax pvt structure 
+ *         skypiax calls initiated by the PBX arrive here */
+struct ast_channel *skypiax_request(const char *type, int format, void *data, int *cause)
+{
+  struct skypiax_pvt *p = NULL;
+  struct ast_channel *tmp = NULL;
+  char *name = data;
+
+  if (option_debug > 10) {
+    DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);
+  }
+
+  DEBUGA_PBX("Try to request type: %s, name: %s, cause: %d," " format: %d\n",
+             SKYPIAX_P_LOG, type, name, *cause, format);
+
+  if (!data) {
+    ERRORA("Channel requested with no data\n", SKYPIAX_P_LOG);
+    if (option_debug > 10) {
+      DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+    }
+    return NULL;
+  }
+
+  /* lock the interfaces' list */
+  LOKKA(&skypiax_iflock);
+  /* make a pointer to the first interface in the interfaces list */
+  p = skypiax_iflist;
+  /* Search for the requested interface and verify if is unowned and format compatible */
+  //TODO implement groups a la chan_zap
+  while (p) {
+    size_t length = strlen(p->name);
+    /* is this the requested interface? */
+    if (strncmp(name, p->name, length) == 0) {
+      /* is the requested format supported by this interface? */
+      if ((format & AST_FORMAT_SLINEAR) != 0) {
+        /* is this interface unowned? */
+        if (!p->owner) {
+          DEBUGA_PBX("Requesting: %s, name: %s, format: %d\n", SKYPIAX_P_LOG, type, name,
+                     format);
+          /* create a new channel owning this interface */
+          tmp = skypiax_new(p, AST_STATE_DOWN, p->context);
+          if (!tmp) {
+            /* the channel was not created, probable memory allocation error */
+            *cause = AST_CAUSE_SWITCH_CONGESTION;
+          }
+        } else {
+          /* interface owned by another channel */
+          WARNINGA("owned by another channel\n", SKYPIAX_P_LOG);
+          *cause = AST_CAUSE_REQUESTED_CHAN_UNAVAIL;
+        }
+      } else {
+        /* requested format not supported */
+        WARNINGA("format %d not supported\n", SKYPIAX_P_LOG, format);
+        *cause = AST_CAUSE_BEARERCAPABILITY_NOTAVAIL;
+      }
+      /* we found the requested interface, bail out from the while loop */
+      break;
+    }
+    /* not yet found, next please */
+    p = p->next;
+  }
+  /* unlock the interfaces' list */
+  UNLOCKA(&skypiax_iflock);
+  /* restart the monitor so it will watch only the remaining unowned interfaces  */
+  skypiax_restart_monitor();
+  if (tmp == NULL) {
+    /* new channel was not created */
+    WARNINGA("Unable to create new Skypiax channel %s\n", SKYPIAX_P_LOG, name);
+  }
+  /* return the newly created channel */
+  if (option_debug > 10) {
+    DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+  }
+  return tmp;
+}
+
+/*! \brief  Hangup skypiax call
+ * Part of PBX interface, called from ast_hangup */
+
+int skypiax_hangup(struct ast_channel *c)
+{
+  struct skypiax_pvt *p;
+
+  /* get our skypiax pvt interface from channel */
+  p = c->tech_pvt;
+  /* if there is not skypiax pvt why we are here ? */
+  if (!p) {
+    ERRORA("Asked to hangup channel not connected\n", SKYPIAX_P_LOG);
+    if (option_debug > 10) {
+      DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+    }
+    return 0;
+  }
+
+  if (option_debug > 10) {
+    DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);
+  }
+  if (p->skype && p->interface_state != AST_STATE_DOWN) {
+    char msg_to_skype[1024];
+    p->interface_state = AST_STATE_HANGUP_REQUESTED;
+    DEBUGA_SKYPE("hanging up skype call: %s\n", SKYPIAX_P_LOG, p->skype_call_id);
+    //sprintf(msg_to_skype, "SET CALL %s STATUS FINISHED", p->skype_call_id);
+    sprintf(msg_to_skype, "ALTER CALL %s HANGUP", p->skype_call_id);
+    skypiax_skype_write(p, msg_to_skype);
+  }
+
+  while (p->interface_state != AST_STATE_DOWN) {
+    usleep(10000);
+  }
+  DEBUGA_SKYPE("Now is really DOWN\n", SKYPIAX_P_LOG);
+  /* shutdown the serial monitoring thread */
+  if (p->controldev_thread && (p->controldev_thread != AST_PTHREADT_NULL)
+      && (p->controldev_thread != AST_PTHREADT_STOP)) {
+    if (pthread_cancel(p->controldev_thread)) {
+      ERRORA("controldev_thread pthread_cancel failed, maybe he killed himself?\n",
+             SKYPIAX_P_LOG);
+    }
+    /* push it, maybe is stuck in a select or so */
+    if (pthread_kill(p->controldev_thread, SIGURG)) {
+      DEBUGA_SERIAL("controldev_thread pthread_kill failed, no problem\n", SKYPIAX_P_LOG);
+    }
+#ifndef __CYGWIN__              /* under cygwin, this seems to be not reliable, get stuck at times */
+    /* wait for it to die */
+    if (pthread_join(p->controldev_thread, NULL)) {
+      ERRORA("controldev_thread pthread_join failed, BAD\n", SKYPIAX_P_LOG);
+    }
+#else /* __CYGWIN__ */
+/* allow the serial thread to die */
+    usleep(300000);             //300msecs
+#endif /* __CYGWIN__ */
+  }
+  p->controldev_thread = AST_PTHREADT_NULL;
+
+  p->interface_state = AST_STATE_DOWN;
+  p->skype_callflow = CALLFLOW_CALL_IDLE;
+
+  DEBUGA_PBX("I'll send AST_CONTROL_HANGUP\n", SKYPIAX_P_LOG);
+  ast_queue_control(p->owner, AST_CONTROL_HANGUP);
+  DEBUGA_PBX("I've sent AST_CONTROL_HANGUP\n", SKYPIAX_P_LOG);
+
+  /* subtract one to the usage count of Skypiax-type channels */
+  LOKKA(&skypiax_usecnt_lock);
+  skypiax_usecnt--;
+  if (skypiax_usecnt < 0)
+    ERRORA("Usecnt < 0???\n", SKYPIAX_P_LOG);
+  UNLOCKA(&skypiax_usecnt_lock);
+  ast_update_use_count();
+
+  /* our skypiax pvt interface is no more part of a channel */
+  p->owner = NULL;
+  /* our channel has no more this skypiax pvt interface to manage */
+  c->tech_pvt = NULL;
+  /* set the channel state to DOWN, eg. available, not in active use */
+  if (ast_setstate(c, AST_STATE_DOWN)) {
+    ERRORA("ast_setstate failed, BAD\n", SKYPIAX_P_LOG);
+    if (option_debug > 10) {
+      DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+    }
+    return -1;
+  }
+
+  if (option_debug)
+    DEBUGA_PBX("Hanged Up\n", SKYPIAX_P_LOG);
+  /* restart the monitor thread, so it can recheck which interfaces it have to watch during its loop (the interfaces that are not owned by channels) */
+  if (skypiax_restart_monitor()) {
+    ERRORA("skypiax_restart_monitor failed, BAD\n", SKYPIAX_P_LOG);
+    if (option_debug > 10) {
+      DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+    }
+    return -1;
+  }
+
+  if (option_debug > 10) {
+    DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+  }
+  return 0;
+}
+
+/*! \brief  Answer incoming call,
+ * Part of PBX interface */
+int skypiax_answer(struct ast_channel *c)
+{
+  struct skypiax_pvt *p = c->tech_pvt;
+  int res;
+
+  if (option_debug > 10) {
+    DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);
+  }
+  /* whle ringing, we just wait, the skype thread will answer */
+  while (p->interface_state == AST_STATE_RING) {
+    usleep(10000);              //10msec
+  }
+  if (p->interface_state != AST_STATE_UP) {
+    ERRORA("call answering failed\n", SKYPIAX_P_LOG);
+    res = -1;
+  } else {
+    if (option_debug)
+      DEBUGA_PBX("call answered\n", SKYPIAX_P_LOG);
+    res = 0;
+  }
+  if (option_debug > 10) {
+    DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+  }
+  return res;
+}
+
+#ifdef ASTERISK_VERSION_1_4
+int skypiax_senddigit_begin(struct ast_channel *c, char digit)
+{
+  struct skypiax_pvt *p = c->tech_pvt;
+  if (option_debug > 10) {
+    DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);
+  }
+
+  DEBUGA_PBX("DIGIT BEGIN received: %c\n", SKYPIAX_P_LOG, digit);
+
+  if (option_debug > 10) {
+    DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+  }
+  return 0;
+}
+
+int skypiax_senddigit_end(struct ast_channel *c, char digit, unsigned int duration)
+{
+  struct skypiax_pvt *p = c->tech_pvt;
+  char msg_to_skype[1024];
+  if (option_debug > 10) {
+    DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);
+  }
+
+  NOTICA("DIGIT END received: %c %d\n", SKYPIAX_P_LOG, digit, duration);
+
+  sprintf(msg_to_skype, "SET CALL %s DTMF %c", p->skype_call_id, digit);
+
+  skypiax_skype_write(p, msg_to_skype);
+
+  if (option_debug > 10) {
+    DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+  }
+  return 0;
+}
+#else /* ASTERISK_VERSION_1_4 */
+int skypiax_senddigit(struct ast_channel *c, char digit)
+{
+  struct skypiax_pvt *p = c->tech_pvt;
+  char msg_to_skype[1024];
+
+  if (option_debug > 10) {
+    DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);
+  }
+  NOTICA("DIGIT received: %c\n", SKYPIAX_P_LOG, digit);
+
+  sprintf(msg_to_skype, "SET CALL %s DTMF %c", p->skype_call_id, digit);
+
+  skypiax_skype_write(p, msg_to_skype);
+
+  if (option_debug > 10) {
+    DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+  }
+  return 0;
+}
+
+#endif /* ASTERISK_VERSION_1_4 */
+//struct ast_frame *skypiax_skypeaudio_read(struct skypiax_pvt *p)
+//#define SAMPLES_PER_FRAME 160
+/*! \brief Read audio frames from channel */
+struct ast_frame *skypiax_read(struct ast_channel *c)
+{
+  struct skypiax_pvt *p = c->tech_pvt;
+  static struct ast_frame f;
+  static short __buf[SKYPIAX_FRAME_SIZE + AST_FRIENDLY_OFFSET / 2];
+  short *buf;
+  int samples;
+
+  if (option_debug > 100) {
+    DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);
+  }
+
+/* if there are control frames queued to be sent by skypiax_queue_control, send it the first */
+//TODO maybe better a real queue?
+  if (p && p->owner && p->control_to_send) {
+    ast_queue_control(p->owner, p->control_to_send);
+    DEBUGA_PBX("Sent CONTROL FRAME %d\n", SKYPIAX_P_LOG, p->control_to_send);
+    p->control_to_send = 0;
+  }
+
+  memset(__buf, '\0', (SKYPIAX_FRAME_SIZE + AST_FRIENDLY_OFFSET / 2));
+
+  buf = __buf + AST_FRIENDLY_OFFSET / 2;
+
+  f.frametype = AST_FRAME_NULL;
+  f.subclass = 0;
+  f.samples = 0;
+  f.datalen = 0;
+  f.data = NULL;
+  f.offset = 0;
+  f.src = skypiax_type;
+  f.mallocd = 0;
+  f.delivery.tv_sec = 0;
+  f.delivery.tv_usec = 0;
+
+/* if the call is not active (ie: answered), do not send audio frames, they would pile up in a lag queue */
+  if (p->owner && p->owner->_state != AST_STATE_UP) {
+    if (option_debug > 100) {
+      DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+    }
+    return &f;
+  }
+
+  if ((samples = read(p->audiopipe[0], buf, SAMPLES_PER_FRAME * sizeof(short))) != 320) {
+    DEBUGA_SOUND("read=====> NOT GOOD samples=%d expected=%d\n", SKYPIAX_P_LOG, samples,
+                 SAMPLES_PER_FRAME * sizeof(short));
+    usleep(100);
+    //do nothing
+  } else {
+    //DEBUGA_SOUND("read=====> GOOD samples=%d\n", SKYPIAX_P_LOG, samples);
+    /* A real frame */
+    f.frametype = AST_FRAME_VOICE;
+    f.subclass = AST_FORMAT_SLINEAR;
+    f.samples = SKYPIAX_FRAME_SIZE;
+    f.datalen = SKYPIAX_FRAME_SIZE * 2;
+    f.data = buf;
+    f.offset = AST_FRIENDLY_OFFSET;
+    f.src = skypiax_type;
+    f.mallocd = 0;
+
+    if (p->capture_boost)
+      skypiax_sound_boost(&f, p->capture_boost);
+  }
+
+  if (option_debug > 100) {
+    DEBUGA_SOUND("samples=%d\n", SKYPIAX_P_LOG, samples);
+    DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+  }
+  return &f;
+}
+
+/*! \brief Initiate skypiax call from PBX 
+ * used from the dial() application
+ */
+int skypiax_call(struct ast_channel *c, char *idest, int timeout)
+{
+  struct skypiax_pvt *p = NULL;
+  p = c->tech_pvt;
+  char rdest[80], *where, dstr[100] = "";
+  char *stringp = NULL;
+  int status;
+
+  if (option_debug > 10) {
+    DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);
+  }
+  if ((c->_state != AST_STATE_DOWN)
+      && (c->_state != AST_STATE_RESERVED)) {
+    ERRORA("skypiax_call called on %s, neither down nor reserved\n", SKYPIAX_P_LOG,
+           c->name);
+    if (option_debug > 10) {
+      DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+    }
+    return -1;
+  }
+
+  if (option_debug > 1)
+    DEBUGA_PBX("skypiax_call to call idest: %s, timeout: %d!\n", SKYPIAX_P_LOG, idest,
+               timeout);
+
+  strncpy(rdest, idest, sizeof(rdest) - 1);
+  stringp = rdest;
+  strsep(&stringp, "/");
+  where = strsep(&stringp, "/");
+  if (!where) {
+    ERRORA("Destination %s requires an actual destination (Skypiax/device/destination)\n",
+           SKYPIAX_P_LOG, idest);
+    if (option_debug > 10) {
+      DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+    }
+    return -1;
+  }
+
+  strncpy(dstr, where + p->stripmsd, sizeof(dstr) - 1);
+  if (option_debug > 1)
+    DEBUGA_PBX("skypiax_call dialing idest: %s, timeout: %d, dstr: %s!\n", SKYPIAX_P_LOG,
+               idest, timeout, dstr);
+
+  status = skypiax_skype_call(p, dstr, timeout);
+  if (status) {
+    WARNINGA("skypiax_call dialing failed: %d!\n", SKYPIAX_P_LOG, status);
+    if (option_debug > 10) {
+      DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+    }
+    return -1;
+  }
+
+  if (option_debug > 1)
+    DEBUGA_PBX("skypiax_call dialed idest: %s, timeout: %d, dstr: %s!\n", SKYPIAX_P_LOG,
+               idest, timeout, dstr);
+
+  ast_setstate(p->owner, AST_STATE_DIALING);
+  if (option_debug > 10) {
+    DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+  }
+  return 0;
+}
+
+int skypiax_sound_boost(struct ast_frame *f, double boost)
+{
+/* LUIGI RIZZO's magic */
+  if (boost != 0) {             /* scale and clip values */
+    int i, x;
+    int16_t *ptr = (int16_t *) f->data;
+    for (i = 0; i < f->samples; i++) {
+      x = (ptr[i] * boost) / BOOST_SCALE;
+      if (x > 32767) {
+        x = 32767;
+      } else if (x < -32768) {
+        x = -32768;
+      }
+      ptr[i] = x;
+    }
+  }
+  return 0;
+}
+
+/*! \brief Send audio frame to channel */
+int skypiax_write(struct ast_channel *c, struct ast_frame *f)
+{
+  struct skypiax_pvt *p = c->tech_pvt;
+  int sent;
+
+  if (option_debug > 100) {
+    DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);
+  }
+  if (p->owner && p->owner->_state != AST_STATE_UP) {
+    if (option_debug > 100) {
+      DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+    }
+    return 0;
+  }
+  if (p->playback_boost)
+    skypiax_sound_boost(f, p->playback_boost);
+
+  sent = write(p->audioskypepipe[1], (short *) f->data, f->datalen);
+  //skypiax_sound_write(p, f);
+
+  if (option_debug > 100) {
+    DEBUGA_SOUND("sent=%d\n", SKYPIAX_P_LOG, sent);
+    DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+  }
+  return 0;
+}
+
+/*! \brief  Fix up a channel:  If a channel is consumed, this is called.
+ * Basically update any ->owner links */
+int skypiax_fixup(struct ast_channel *oldchan, struct ast_channel *newchan)
+{
+  struct skypiax_pvt *p = newchan->tech_pvt;
+
+  if (option_debug > 10) {
+    DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);
+  }
+  if (!p) {
+    ERRORA("No pvt after masquerade. Strange things may happen\n", SKYPIAX_P_LOG);
+    if (option_debug > 10) {
+      DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+    }
+    return -1;
+  }
+
+  if (p->owner != oldchan) {
+    ERRORA("old channel wasn't %p but was %p\n", SKYPIAX_P_LOG, oldchan, p->owner);
+    if (option_debug > 10) {
+      DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+    }
+    return -1;
+  }
+
+  p->owner = newchan;
+  if (option_debug > 10) {
+    DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+  }
+  return 0;
+}
+
+struct ast_channel *skypiax_new(struct skypiax_pvt *p, int state, char *context)
+{
+  struct ast_channel *tmp;
+
+  if (option_debug > 10) {
+    DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);
+  }
+  /* alloc a generic channel struct */
+#ifndef ASTERISK_VERSION_1_4
+  tmp = ast_channel_alloc(1);
+#else
+  //tmp = ast_channel_alloc(1, state, 0, 0, "", p->exten, p->context, 0, "");
+  //tmp = ast_channel_alloc(1, state, i->cid_num, i->cid_name, i->accountcode, i->exten, i->context, i->amaflags, "Skypiax/%s", p->name);
+  tmp =
+    ast_channel_alloc(1, state, 0, 0, "", p->exten, p->context, 0, "Skypiax/%s", p->name);
+
+#endif /* ASTERISK_VERSION_1_4 */
+  if (tmp) {
+
+    /* give a name to the newly created channel */
+#ifndef ASTERISK_VERSION_1_4
+    snprintf(tmp->name, sizeof(tmp->name), "Skypiax/%s", p->name);
+    tmp->type = skypiax_type;
+#else /* ASTERISK_VERSION_1_4 */
+    ast_string_field_build(tmp, name, "Skypiax/%s", p->name);
+#endif /* ASTERISK_VERSION_1_4 */
+
+    DEBUGA_PBX("new channel: name=%s requested_state=%d\n", SKYPIAX_P_LOG, tmp->name,
+               state);
+
+    /* fd for the channel to poll for incoming audio */
+    tmp->fds[0] = p->skypiax_sound_capt_fd;
+
+    /* audio formats managed */
+    tmp->nativeformats = AST_FORMAT_SLINEAR;
+    tmp->readformat = AST_FORMAT_SLINEAR;
+    tmp->writeformat = AST_FORMAT_SLINEAR;
+    /* the technology description (eg. the interface type) of the newly created channel is the Skypiax's one */
+    tmp->tech = &skypiax_tech;
+    /* the technology pvt (eg. the interface) of the newly created channel is this interface pvt */
+    tmp->tech_pvt = p;
+
+    /* copy this interface default context, extension, language to the newly created channel */
+    if (strlen(p->context))
+      strncpy(tmp->context, p->context, sizeof(tmp->context) - 1);
+    if (strlen(p->exten))
+      strncpy(tmp->exten, p->exten, sizeof(tmp->exten) - 1);
+#ifndef ASTERISK_VERSION_1_4
+    if (strlen(p->language))
+      strncpy(tmp->language, p->language, sizeof(tmp->language) - 1);
+#else
+    if (strlen(p->language))
+      ast_string_field_set(tmp, language, p->language);
+#endif /* ASTERISK_VERSION_1_4 */
+    /* copy the requested context (not necessarily the interface default) to the newly created channel */
+    if (strlen(context))
+      strncpy(tmp->context, context, sizeof(tmp->context) - 1);
+
+    /* copy this interface default callerid in the newly created channel */
+    ast_set_callerid(tmp, !ast_strlen_zero(p->callid_number) ? p->callid_number : NULL,
+                     !ast_strlen_zero(p->callid_name) ? p->callid_name : NULL,
+                     !ast_strlen_zero(p->callid_number) ? p->callid_number : NULL);
+
+    DEBUGA_PBX("callid_number=%s, callid_name=%s\n", SKYPIAX_P_LOG, p->callid_number,
+               p->callid_name);
+
+    /* the owner of this interface pvt is the newly created channel */
+    p->owner = tmp;
+    /* set the newly created channel state to the requested state */
+    if (ast_setstate(tmp, state)) {
+      ERRORA("ast_setstate failed, BAD\n", SKYPIAX_P_LOG);
+      //ast_dsp_free(p->dsp);
+      ast_channel_free(tmp);
+      if (option_debug > 10) {
+        DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+      }
+      return NULL;
+    }
+    /* if the requested state is different from DOWN, let the pbx manage this interface (now part of the newly created channel) */
+    if (state != AST_STATE_DOWN) {
+      DEBUGA_PBX("Try to start PBX on %s, state=%d\n", SKYPIAX_P_LOG, tmp->name, state);
+      if (ast_pbx_start(tmp)) {
+        ERRORA("Unable to start PBX on %s\n", SKYPIAX_P_LOG, tmp->name);
+        ast_channel_free(tmp);
+        if (option_debug > 10) {
+          DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+        }
+        return NULL;
+      }
+    }
+    /* let's start the serial monitoring thread too, so we can have serial signaling */
+    if (ast_pthread_create(&p->controldev_thread, NULL, skypiax_do_controldev_thread, p) <
+        0) {
+      ERRORA("Unable to start controldev thread.\n", SKYPIAX_P_LOG);
+      ast_channel_free(tmp);
+      tmp = NULL;
+    }
+    DEBUGA_SERIAL("STARTED controldev_thread=%lu STOP=%lu NULL=%lu\n", SKYPIAX_P_LOG,
+                  (unsigned long) p->controldev_thread, (unsigned long) AST_PTHREADT_STOP,
+                  (unsigned long) AST_PTHREADT_NULL);
+
+    /* add one to the usage count of Skypiax-type channels */
+    LOKKA(&skypiax_usecnt_lock);
+    skypiax_usecnt++;
+    UNLOCKA(&skypiax_usecnt_lock);
+    ast_update_use_count();
+
+    /* return the newly created channel */
+    if (option_debug > 10) {
+      DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+    }
+    return tmp;
+  }
+  ERRORA("failed memory allocation for Skypiax channel\n", SKYPIAX_P_LOG);
+  if (option_debug > 10) {
+    DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+  }
+  return NULL;
+}
+
+/*!
+ * \brief Load the module into Asterisk and start its threads
+ *
+ * This function register the module into Asterisk,
+ * create the interfaces for the channels, 
+ * start the auxiliary threads for the interfaces,
+ * then start a monitor thread. The monitor thread
+ * will signal Asterisk when an interface receive a call.
+ *
+ *
+ * \return zero on success, -1 on error.
+ */
+int load_module(void)
+{
+  int i;
+  struct ast_config *cfg;
+  struct skypiax_pvt *tmp;
+  struct skypiax_pvt *p = NULL;
+#ifdef ASTERISK_VERSION_1_6
+  struct ast_flags config_flags = { 0 };
+#endif /* ASTERISK_VERSION_1_6 */
+
+  if (option_debug > 10) {
+    DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);
+    ast_log(LOG_DEBUG, "ENTERING FUNC\n");
+  }
+#if defined(WANT_SKYPE_X11) || defined(__CYGWIN__)
+#ifndef __CYGWIN__
+  if (!XInitThreads())
+    ast_log(LOG_ERROR, "Not initialized XInitThreads!\n");
+#endif /* __CYGWIN__ */
+#if 0
+  ast_register_atexit(skypiax_skype_disconnect);
+  ast_register_application(skype2skypiaxapp, skype2skypiax, skype2skypiaxsynopsis,
+                           skype2skypiaxdescrip);
+  ast_register_application(skypiax2skypeapp, skypiax2skype, skypiax2skypesynopsis,
+                           skypiax2skypedescrip);
+#endif
+#endif /* defined(WANT_SKYPE_X11) || defined(__CYGWIN__) */
+
+  /* make sure we can register our channel type with Asterisk */
+  i = ast_channel_register(&skypiax_tech);
+  if (i < 0) {
+    ERRORA("Unable to register channel type '%s'\n", SKYPIAX_P_LOG, skypiax_type);
+    if (option_debug > 10) {
+      DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+    }
+    return -1;
+  }
+  /* load skypiax.conf config file */
+#ifdef ASTERISK_VERSION_1_6
+  cfg = ast_config_load(skypiax_config, config_flags);
+#else
+  cfg = ast_config_load(skypiax_config);
+#endif /* ASTERISK_VERSION_1_6 */
+  if (cfg != NULL) {
+    char *ctg = NULL;
+    int is_first_category = 1;
+    while ((ctg = ast_category_browse(cfg, ctg)) != NULL) {
+      /* create one interface for each category in skypiax.conf config file, first one set the defaults */
+      tmp = skypiax_mkif(cfg, ctg, is_first_category);
+      if (tmp) {
+        DEBUGA_PBX
+          ("Created channel Skypiax: skypiax.conf category '[%s]', channel name '%s'"
+           "\n", SKYPIAX_P_LOG, ctg, tmp->name);
+        /* add interface to skypiax_iflist */
+        tmp->next = skypiax_iflist;
+        skypiax_iflist = tmp;
+        /* next one will not be the first ;) */
+        if (is_first_category == 1) {
+          is_first_category = 0;
+          skypiax_console_active = tmp->name;
+        }
+      } else {
+        ERRORA("Unable to create channel Skypiax from skypiax.conf category '[%s]'\n",
+               SKYPIAX_P_LOG, ctg);
+        /* if error, unload config from memory and return */
+        ast_config_destroy(cfg);
+        ast_channel_unregister(&skypiax_tech);
+        if (option_debug > 10) {
+          DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+        }
+        return -1;
+      }
+      /* do it for each category described in config */
+    }
+
+    /* we finished, unload config from memory */
+    ast_config_destroy(cfg);
+  } else {
+    ERRORA("Unable to load skypiax_config skypiax.conf\n", SKYPIAX_P_LOG);
+    ast_channel_unregister(&skypiax_tech);
+    if (option_debug > 10) {
+      DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+    }
+    return -1;
+  }
+#ifndef ASTERISK_VERSION_1_6
+  ast_cli_register_multiple(myclis, sizeof(myclis) / sizeof(struct ast_cli_entry));
+#endif /* ASTERISK_VERSION_1_6 */
+  /* start to monitor the interfaces (skypiax_iflist) for the first time */
+  if (skypiax_restart_monitor()) {
+    ERRORA("skypiax_restart_monitor failed, BAD\n", SKYPIAX_P_LOG);
+    if (option_debug > 10) {
+      DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+    }
+    return -1;
+  }
+  if (option_debug > 10) {
+    DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+  }
+  return 0;
+}
+
+/*!
+ * \brief Unload the module from Asterisk and shutdown its threads
+ *
+ * This function unregister the module from Asterisk,
+ * destroy the interfaces for the channels, 
+ * shutdown the auxiliary threads for the interfaces,
+ * then shutdown its monitor thread.
+ *
+ * \return zero on success, -1 on error.
+ */
+int unload_module(void)
+{
+  struct skypiax_pvt *p = NULL, *p2 = NULL;
+  int res;
+
+  if (option_debug > 10) {
+    DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);
+  }
+
+  /* unregister our channel type with Asterisk */
+  ast_channel_unregister(&skypiax_tech);
+  ast_cli_unregister_multiple(myclis, sizeof(myclis) / sizeof(struct ast_cli_entry));
+
+#if defined(WANT_SKYPE_X11) || defined(__CYGWIN__)
+#ifndef __CYGWIN__
+  //FIXME what to do? if (!XInitThreads())
+  //FIXME what to do? ast_log(LOG_ERROR, "Not initialized XInitThreads!\n");
+#endif /* __CYGWIN__ */
+#if 0
+  ast_unregister_atexit(skypiax_skype_disconnect);
+  ast_unregister_application(skype2skypiaxapp);
+  ast_unregister_application(skypiax2skypeapp);
+#endif
+#endif /* defined(WANT_SKYPE_X11) || defined(__CYGWIN__) */
+
+  /* lock the skypiax_monlock, kill the monitor thread, unlock the skypiax_monlock */
+  LOKKA(&skypiax_monlock);
+  if (skypiax_monitor_thread && (skypiax_monitor_thread != AST_PTHREADT_NULL)
+      && (skypiax_monitor_thread != AST_PTHREADT_STOP)) {
+    if (pthread_cancel(skypiax_monitor_thread)) {
+      ERRORA("pthread_cancel failed, BAD\n", SKYPIAX_P_LOG);
+      if (option_debug > 10) {
+        DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+      }
+      return -1;
+    }
+    if (pthread_kill(skypiax_monitor_thread, SIGURG)) {
+      DEBUGA_PBX("pthread_kill failed\n", SKYPIAX_P_LOG);   //maybe it just died
+    }
+#ifndef __CYGWIN__              /* under cygwin, this seems to be not reliable, get stuck at times */
+    if (pthread_join(skypiax_monitor_thread, NULL)) {
+      ERRORA("pthread_join failed, BAD\n", SKYPIAX_P_LOG);
+      if (option_debug > 10) {
+        DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+      }
+      return -1;
+    }
+#endif /* __CYGWIN__ */
+  }
+  skypiax_monitor_thread = AST_PTHREADT_STOP;
+  UNLOCKA(&skypiax_monlock);
+
+  if (skypiax_monitor_audio_thread && (skypiax_monitor_audio_thread != AST_PTHREADT_NULL)
+      && (skypiax_monitor_audio_thread != AST_PTHREADT_STOP)) {
+
+    if (pthread_cancel(skypiax_monitor_audio_thread)) {
+      ERRORA("pthread_cancel skypiax_monitor_audio_thread failed, BAD\n", SKYPIAX_P_LOG);
+    }
+    if (pthread_kill(skypiax_monitor_audio_thread, SIGURG)) {
+      DEBUGA_PBX("pthread_kill skypiax_monitor_audio_thread failed, no problem\n", SKYPIAX_P_LOG);  //maybe it just died
+    }
+
+    if (pthread_join(skypiax_monitor_audio_thread, NULL)) {
+      ERRORA("pthread_join failed, BAD\n", SKYPIAX_P_LOG);
+    }
+  }
+  /* lock the skypiax_iflock, and go through the interfaces list (skypiax_iflist) */
+  LOKKA(&skypiax_iflock);
+  p = skypiax_iflist;
+  while (p) {
+    /* for each interface in list */
+    p2 = p->next;
+    /* shutdown the sound system, close sound fds, and if exist shutdown the sound managing threads */
+    DEBUGA_SOUND("shutting down sound\n", SKYPIAX_P_LOG);
+    res = skypiax_sound_shutdown(p);
+    if (res == -1) {
+      ERRORA("Failed to shutdown sound\n", SKYPIAX_P_LOG);
+    }
+#if 0
+    /* if a dsp struct has been allocated, free it */
+    if (p->dsp) {
+      ast_dsp_free(p->dsp);
+      p->dsp = NULL;
+    }
+#endif
+    DEBUGA_PBX("freeing PVT\n", SKYPIAX_P_LOG);
+    /* free the pvt allocated memory */
+    free(p);
+    /* next one, please */
+    p = p2;
+  }
+  /* finished with the interfaces list, unlock the skypiax_iflock */
+  UNLOCKA(&skypiax_iflock);
+
+#ifdef __CYGWIN__
+  NOTICA("Sleping 5 secs, please wait...\n", SKYPIAX_P_LOG);
+  sleep(5);                     /* without this pause, for some unknown (to me) reason it crashes on cygwin */
+#endif /* __CYGWIN__ */
+  NOTICA("Unloaded Skypiax Module\n", SKYPIAX_P_LOG);
+  if (option_debug > 10) {
+    DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+  }
+  return 0;
+}
+
+/*!
+ * \brief Return the count of active channels for this module
+ *
+ * \return the count of active channels for this module
+ */
+int usecount()
+{
+  int res;
+  static struct skypiax_pvt *p = &skypiax_log_struct;
+  if (option_debug > 10) {
+    DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);
+  }
+/* lock the skypiax_usecnt lock */
+  LOKKA(&skypiax_usecnt_lock);
+  /* retrieve the skypiax_usecnt */
+  res = skypiax_usecnt;
+/* unlock the skypiax_usecnt lock */
+  UNLOCKA(&skypiax_usecnt_lock);
+  /* return the skypiax_usecnt */
+  if (option_debug > 10) {
+    DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+  }
+  return res;
+}
+
+/*!
+ * \brief Return the textual description of the module
+ *
+ * \return the textual description of the module
+ */
+char *description()
+{
+  static struct skypiax_pvt *p = &skypiax_log_struct;
+  if (option_debug > 10) {
+    DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);
+  }
+  if (option_debug > 10) {
+    DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+  }
+  return (char *) skypiax_desc;
+}
+
+/*!
+ * \brief Return the ASTERISK_GPL_KEY
+ *
+ * \return the ASTERISK_GPL_KEY
+ */
+char *key()
+{
+  struct skypiax_pvt *p = NULL;
+  if (option_debug > 10) {
+    DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);
+  }
+
+  if (option_debug)
+    NOTICA("Returning Key\n", SKYPIAX_P_LOG);
+
+  if (option_debug > 10) {
+    DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+  }
+  return ASTERISK_GPL_KEY;
+}
+
+/*!
+ * \brief Create and initialize one interface for the module
+ * \param cfg pointer to configuration data from skypiax.conf
+ * \param ctg pointer to a category name to be found in cfg
+ * \param is_first_category is this the first category in cfg
+ *
+ * This function create and initialize one interface for the module
+ *
+ * \return a pointer to the PVT structure of interface on success, NULL on error.
+ */
+struct skypiax_pvt *skypiax_mkif(struct ast_config *cfg, char *ctg, int is_first_category)
+{
+  struct skypiax_pvt *tmp;
+  struct ast_variable *v;
+  int res;
+
+  int debug_all = 0;
+  int debug_at = 0;
+  int debug_fbus2 = 0;
+  int debug_serial = 0;
+  int debug_sound = 0;
+  int debug_pbx = 0;
+  int debug_skype = 0;
+  int debug_call = 0;
+  int debug_locks = 0;
+  int debug_monitorlocks = 0;
+
+  ast_log(LOG_DEBUG, "ENTERING FUNC\n");
+  /* alloc memory for PVT */
+  tmp = malloc(sizeof(struct skypiax_pvt));
+  if (tmp == NULL) {            /* fail */
+    if (option_debug > 10) {
+      DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_TMP_LOG);
+      ast_log(LOG_DEBUG, "EXITING FUNC\n");
+    }
+    return NULL;
+  }
+  /* clear memory for PVT */
+  memset(tmp, 0, sizeof(struct skypiax_pvt));
+
+  /* if we are reading the "first" category of the config file, take SELECTED values as defaults, overriding the values in skypiax_default */
+  if (is_first_category == 1) {
+    /* for each variable in category, copy it in the skypiax_default struct */
+    for (v = ast_variable_browse(cfg, ctg); v; v = v->next) {
+      M_START(v->name, v->value);
+
+      M_STR("context", skypiax_default.context)
+        M_STR("language", skypiax_default.language)
+        M_STR("extension", skypiax_default.exten)
+        M_F("playback_boost",
+            skypiax_store_boost(v->value, &skypiax_default.playback_boost))
+        M_F("capture_boost",
+            skypiax_store_boost(v->value, &skypiax_default.capture_boost))
+        M_UINT("skypiax_dir_entry_extension_prefix",
+               skypiax_default.skypiax_dir_entry_extension_prefix)
+        M_END(;);
+    }
+  }
+
+  /* initialize the newly created PVT from the skypiax_default values */
+  *tmp = skypiax_default;
+
+  /* the category name becomes the interface name */
+  tmp->name = strdup(ctg);
+
+  /* for each category in config file, "first" included, read in ALL the values */
+  for (v = ast_variable_browse(cfg, ctg); v; v = v->next) {
+    M_START(v->name, v->value);
+
+    M_BOOL("debug_all", debug_all)
+      M_BOOL("debug_at", debug_at)
+      M_BOOL("debug_fbus2", debug_fbus2)
+      M_BOOL("debug_serial", debug_serial)
+      M_BOOL("debug_sound", debug_sound)
+      M_BOOL("debug_pbx", debug_pbx)
+      M_BOOL("debug_skype", debug_skype)
+      M_BOOL("debug_call", debug_call)
+      M_BOOL("debug_locks", debug_locks)
+      M_BOOL("debug_monitorlocks", debug_monitorlocks)
+      M_BOOL("skype", tmp->skype)
+      M_STR("context", tmp->context)
+      M_STR("language", tmp->language)
+      M_STR("extension", tmp->exten)
+      M_F("playback_boost", skypiax_store_boost(v->value, &tmp->playback_boost))
+      M_F("capture_boost", skypiax_store_boost(v->value, &tmp->capture_boost))
+      M_UINT("skypiax_dir_entry_extension_prefix",
+             tmp->skypiax_dir_entry_extension_prefix)
+      M_END(;);
+  }
+
+  if (debug_all) {
+    skypiax_debug = skypiax_debug | DEBUG_ALL;
+    if (!option_debug) {
+      WARNINGA
+        ("DEBUG_ALL activated, but option_debug is 0. You have to set debug level higher than zero to see some debugging output. Please use the command \"set debug 10\" or start Asterisk with \"-dddddddddd\" option for full DEBUG_ALL debugging output.\n",
+         SKYPIAX_TMP_LOG);
+    } else {
+      NOTICA("DEBUG_ALL activated. \n", SKYPIAX_TMP_LOG);
+    }
+  }
+
+  if (debug_fbus2) {
+    skypiax_debug = skypiax_debug | DEBUG_FBUS2;
+    if (!option_debug) {
+      WARNINGA
+        ("DEBUG_FBUS2 activated, but option_debug is 0. You have to set debug level higher than zero to see some debugging output. Please use the command \"set debug 10\" or start Asterisk with \"-dddddddddd\" option for full DEBUG_FBUS2 debugging output.\n",
+         SKYPIAX_TMP_LOG);
+    } else {
+      NOTICA("DEBUG_FBUS2 activated. \n", SKYPIAX_TMP_LOG);
+    }
+  }
+
+  if (debug_serial) {
+    skypiax_debug = skypiax_debug | DEBUG_SERIAL;
+    if (!option_debug) {
+      WARNINGA
+        ("DEBUG_SERIAL activated, but option_debug is 0. You have to set debug level higher than zero to see some debugging output. Please use the command \"set debug 10\" or start Asterisk with \"-dddddddddd\" option for full DEBUG_SERIAL debugging output.\n",
+         SKYPIAX_TMP_LOG);
+    } else {
+      NOTICA("DEBUG_SERIAL activated. \n", SKYPIAX_TMP_LOG);
+    }
+  }
+
+  if (debug_sound) {
+    skypiax_debug = skypiax_debug | DEBUG_SOUND;
+    if (!option_debug) {
+      WARNINGA
+        ("DEBUG_SOUND activated, but option_debug is 0. You have to set debug level higher than zero to see some debugging output. Please use the command \"set debug 10\" or start Asterisk with \"-dddddddddd\" option for full DEBUG_SOUND debugging output.\n",
+         SKYPIAX_TMP_LOG);
+    } else {
+      NOTICA("DEBUG_SOUND activated. \n", SKYPIAX_TMP_LOG);
+    }
+  }
+
+  if (debug_pbx) {
+    skypiax_debug = skypiax_debug | DEBUG_PBX;
+    if (!option_debug) {
+      WARNINGA
+        ("DEBUG_PBX activated, but option_debug is 0. You have to set debug level higher than zero to see some debugging output. Please use the command \"set debug 10\" or start Asterisk with \"-dddddddddd\" option for full DEBUG_PBX debugging output.\n",
+         SKYPIAX_TMP_LOG);
+    } else {
+      NOTICA("DEBUG_PBX activated. \n", SKYPIAX_TMP_LOG);
+    }
+  }
+
+  if (debug_skype) {
+    skypiax_debug = skypiax_debug | DEBUG_SKYPE;
+    if (!option_debug) {
+      WARNINGA
+        ("DEBUG_SKYPE activated, but option_debug is 0. You have to set debug level higher than zero to see some debugging output. Please use the command \"set debug 10\" or start Asterisk with \"-dddddddddd\" option for full DEBUG_SKYPE debugging output.\n",
+         SKYPIAX_TMP_LOG);
+    } else {
+      NOTICA("DEBUG_SKYPE activated. \n", SKYPIAX_TMP_LOG);
+    }
+  }
+
+  if (debug_call) {
+    skypiax_debug = skypiax_debug | DEBUG_CALL;
+    if (!option_debug) {
+      WARNINGA
+        ("DEBUG_CALL activated, but option_debug is 0. You have to set debug level higher than zero to see some debugging output. Please use the command \"set debug 10\" or start Asterisk with \"-dddddddddd\" option for full DEBUG_CALL debugging output.\n",
+         SKYPIAX_TMP_LOG);
+    } else {
+      NOTICA("DEBUG_CALL activated. \n", SKYPIAX_TMP_LOG);
+    }
+  }
+
+  if (debug_locks) {
+    skypiax_debug = skypiax_debug | DEBUG_LOCKS;
+    if (!option_debug) {
+      WARNINGA
+        ("DEBUG_LOCKS activated, but option_debug is 0. You have to set debug level higher than zero to see some debugging output. Please use the command \"set debug 10\" or start Asterisk with \"-dddddddddd\" option for full DEBUG_LOCKS debugging output.\n",
+         SKYPIAX_TMP_LOG);
+    } else {
+      NOTICA("DEBUG_LOCKS activated. \n", SKYPIAX_TMP_LOG);
+    }
+  }
+
+  if (debug_monitorlocks) {
+    skypiax_debug = skypiax_debug | DEBUG_MONITORLOCKS;
+    if (!option_debug) {
+      WARNINGA
+        ("DEBUG_MONITORLOCKS activated, but option_debug is 0. You have to set debug level higher than zero to see some debugging output. Please use the command \"set debug 10\" or start Asterisk with \"-dddddddddd\" option for full DEBUG_MONITORLOCKS debugging output.\n",
+         SKYPIAX_TMP_LOG);
+    } else {
+      NOTICA("DEBUG_MONITORLOCKS activated. \n", SKYPIAX_TMP_LOG);
+    }
+  }
+
+  if (option_debug > 1) {
+    DEBUGA_SOUND("playback_boost is %f\n", SKYPIAX_TMP_LOG, tmp->playback_boost);
+    DEBUGA_SOUND("capture_boost is %f\n", SKYPIAX_TMP_LOG, tmp->capture_boost);
+  }
+  /* if skype is true for this interface, let's check if another interface has skype true */
+  if (tmp->skype) {
+    struct skypiax_pvt *p = NULL, *p2 = NULL;
+    /* lock the skypiax_iflock, maybe unneeded */
+    LOKKA(&skypiax_iflock);
+    p = skypiax_iflist;
+    /* for each pvt in the interfaces list (skypiax_iflist) */
+    while (p) {
+      p2 = p->next;
+      /* if another interface has skype true */
+      if (p->skype) {
+        ERRORA
+          ("This interface (category '[%s]') has 'skype=yes' in config, but up in skypiax.conf config file the interface category '[%s]' has yet 'skype=yes'. Only one interface at time can support skype. I'm sure, I wrote it ;). Setting 'skype=no' for interface category '[%s] and continuing\n",
+           SKYPIAX_P_LOG, tmp->name, p->name, tmp->name);
+        /* set this interface's skype to false */
+        tmp->skype = 0;
+      }
+      /* next interface, please */
+      p = p2;
+    }
+    /* unlock the skypiax_iflock */
+    UNLOCKA(&skypiax_iflock);
+  }
+/* initialize the soundcard channels (input and output) used by this interface (a multichannel soundcard can be used by multiple interfaces), optionally starting the sound managing threads */
+  res = skypiax_sound_init(tmp);
+  if (res == -1) {
+    ERRORA("Failed initializing sound device\n", SKYPIAX_TMP_LOG);
+    /* we failed, free the PVT */
+    if (option_debug > 10) {
+      DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_TMP_LOG);
+    }
+    free(tmp);
+    return NULL;
+  }
+  res = pipe(tmp->AsteriskHandlesAst.fdesc);
+  if (res) {
+    ast_log(LOG_ERROR, "Unable to create skype pipe\n");
+    if (option_debug > 10) {
+      DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_TMP_LOG);
+    }
+    free(tmp);
+    return NULL;
+  }
+  fcntl(tmp->AsteriskHandlesAst.fdesc[0], F_SETFL, O_NONBLOCK);
+  fcntl(tmp->AsteriskHandlesAst.fdesc[1], F_SETFL, O_NONBLOCK);
+  tmp->skype_thread = AST_PTHREADT_NULL;
+  if (tmp->skype) {
+    if (option_debug > 1)
+      ast_log(LOG_DEBUG, "TO BE started skype_thread=%lu STOP=%lu NULL=%lu\n",
+              (unsigned long) tmp->skype_thread, (unsigned long) AST_PTHREADT_STOP,
+              (unsigned long) AST_PTHREADT_NULL);
+#ifdef __CYGWIN__
+    if (ast_pthread_create
+        (&tmp->skype_thread, NULL, do_skypeapi_thread, &tmp->AsteriskHandlesAst) < 0) {
+      ast_log(LOG_ERROR, "Unable to start skype_main thread.\n");
+      if (option_debug > 10) {
+        DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_TMP_LOG);
+      }
+      free(tmp);
+      return NULL;
+    }
+#else /* __CYGWIN__ */
+#ifdef WANT_SKYPE_X11
+    if (option_debug > 1)
+      ast_log(LOG_DEBUG, "AsteriskHandlesfd: %d\n", tmp->AsteriskHandlesAst.fdesc[1]);
+    if (ast_pthread_create(&tmp->skype_thread, NULL, do_skypeapi_thread, tmp) < 0) {
+      ast_log(LOG_ERROR, "Unable to start skype_main thread.\n");
+      if (option_debug > 10) {
+        DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_TMP_LOG);
+      }
+      free(tmp);
+      return NULL;
+    }
+#endif /* WANT_SKYPE_X11 */
+#endif /* __CYGWIN__ */
+    usleep(100000); //0.1 sec
+    if( tmp->skype_thread == AST_PTHREADT_NULL){
+      ast_log(LOG_ERROR, "Unable to start skype_main thread.\n");
+      if (option_debug > 10) {
+        DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_TMP_LOG);
+      }
+      free(tmp);
+      return NULL;
+    }
+    if (option_debug > 1)
+      ast_log(LOG_DEBUG, "STARTED skype_thread=%lu STOP=%lu NULL=%lu\n",
+              (unsigned long) tmp->skype_thread, (unsigned long) AST_PTHREADT_STOP,
+              (unsigned long) AST_PTHREADT_NULL);
+  }
+
+  /* return the newly created skypiax_pvt */
+  if (option_debug > 10) {
+    DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_TMP_LOG);
+  }
+  return tmp;
+}
+
+/*! \brief (Re)Start the module main monitor thread, watching for incoming calls on the interfaces */
+int skypiax_restart_monitor(void)
+{
+  static struct skypiax_pvt *p = &skypiax_log_struct;
+
+  if (option_debug > 10) {
+    DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);
+  }
+  /* If we're supposed to be stopped -- stay stopped */
+  if (skypiax_monitor_thread == AST_PTHREADT_STOP) {
+    if (option_debug > 10) {
+      DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+    }
+    return 0;
+  }
+  LOKKA(&skypiax_monlock);
+  /* Do not seems possible to me that this function can be called by the very same monitor thread, but let's be paranoid */
+  if (skypiax_monitor_thread == pthread_self()) {
+    UNLOCKA(&skypiax_monlock);
+    ERRORA("Cannot kill myself\n", SKYPIAX_P_LOG);
+    if (option_debug > 10) {
+      DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+    }
+    return -1;
+  }
+  /* if the monitor thread exists */
+  if (skypiax_monitor_thread != AST_PTHREADT_NULL) {
+    /* Wake up the thread, it can be stuck waiting in a select or so */
+    pthread_kill(skypiax_monitor_thread, SIGURG);
+  } else {
+    /* the monitor thread does not exists, start a new monitor */
+    if (ast_pthread_create(&skypiax_monitor_thread, NULL, skypiax_do_monitor, NULL) < 0) {
+      UNLOCKA(&skypiax_monlock);
+      ERRORA("Unable to start monitor thread.\n", SKYPIAX_P_LOG);
+      if (option_debug > 10) {
+        DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+      }
+      return -1;
+    }
+  }
+  UNLOCKA(&skypiax_monlock);
+  if (option_debug > 10) {
+    DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+  }
+  return 0;
+}
+
+/*! \brief The skypiax monitoring thread 
+ * \note   This thread monitors all the skypiax interfaces that are not in a call
+ *         (and thus do not have a separate thread) indefinitely 
+ *         */
+void *skypiax_do_monitor(void *data)
+{
+  fd_set rfds;
+  int res;
+  struct skypiax_pvt *p = NULL;
+  int max = -1;
+  struct timeval to;
+  time_t now_timestamp;
+
+  if (option_debug > 10) {
+    DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);
+  }
+  if (pthread_setcanceltype(PTHREAD_CANCEL_DEFERRED, NULL)) {
+    ERRORA("Unable to set cancel type to deferred\n", SKYPIAX_P_LOG);
+    if (option_debug > 10) {
+      DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+    }
+    return NULL;
+  }
+
+  for (;;) {
+    pthread_testcancel();
+    /* Don't let anybody kill us right away.  Nobody should lock the interface list
+       and wait for the monitor list, but the other way around is okay. */
+    PUSHA_UNLOCKA(&skypiax_monlock);
+    MONITORLOKKA(&skypiax_monlock);
+    /* Lock the interface list */
+    PUSHA_UNLOCKA(&skypiax_iflock);
+    MONITORLOKKA(&skypiax_iflock);
+    /* Build the stuff we're going to select on, that is the skypiax_serial_fd of every
+       skypiax_pvt that does not have an associated owner channel. In the case of FBUS2 3310
+       and in the case of PROTOCOL_NO_SERIAL we add the audio_fd as well, because there is not serial signaling of incoming calls */
+    FD_ZERO(&rfds);
+
+    time(&now_timestamp);
+    p = skypiax_iflist;
+    while (p) {
+      if (!p->owner) {
+        /* This interface needs to be watched, as it lacks an owner */
+
+        if (p->skype) {
+          if (FD_ISSET(p->AsteriskHandlesAst.fdesc[0], &rfds))
+            ERRORA("Descriptor %d (AsteriskHandlesAst.fdesc[0]) appears twice ?\n",
+                   SKYPIAX_P_LOG, p->AsteriskHandlesAst.fdesc[0]);
+
+          if (p->AsteriskHandlesAst.fdesc[0] > 0) {
+            FD_SET(p->AsteriskHandlesAst.fdesc[0], &rfds);
+            if (p->AsteriskHandlesAst.fdesc[0] > max)
+              max = p->AsteriskHandlesAst.fdesc[0];
+
+          }
+        }
+
+      }
+      /* next interface, please */
+      p = p->next;
+    }
+    /* Okay, now that we know what to do, release the interface lock */
+    MONITORUNLOCKA(&skypiax_iflock);
+    POPPA_UNLOCKA(&skypiax_iflock);
+    /* And from now on, we're okay to be killed, so release the monitor lock as well */
+    MONITORUNLOCKA(&skypiax_monlock);
+    POPPA_UNLOCKA(&skypiax_monlock);
+
+    /* you want me to die? */
+    pthread_testcancel();
+
+    /* Wait for something to happen */
+    to.tv_sec = 0;
+    to.tv_usec = 500000;        /* we select with this timeout because under cygwin we avoid the signal usage, so there is no way to end the thread if it is stuck waiting for select */
+    res = ast_select(max + 1, &rfds, NULL, NULL, &to);
+
+    /* you want me to die? */
+    pthread_testcancel();
+
+    /* Okay, select has finished.  Let's see what happened.  */
+
+    /* If there are errors...  */
+    if (res < 0) {
+      if (errno == EINTR)       /* EINTR is just the select 
+                                   being interrupted by a SIGURG, or so */
+        continue;
+      else {
+        ERRORA("select returned %d: %s\n", SKYPIAX_P_LOG, res, strerror(errno));
+        if (option_debug > 10) {
+          DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+        }
+        return NULL;
+      }
+    }
+
+    /* must not be killed while skypiax_iflist is locked */
+    PUSHA_UNLOCKA(&skypiax_monlock);
+    MONITORLOKKA(&skypiax_monlock);
+    /* Alright, lock the interface list again, and let's look and see what has
+       happened */
+    PUSHA_UNLOCKA(&skypiax_iflock);
+    MONITORLOKKA(&skypiax_iflock);
+
+    p = skypiax_iflist;
+    for (; p; p = p->next) {
+
+      if (p->skype) {
+        if (FD_ISSET(p->AsteriskHandlesAst.fdesc[0], &rfds)) {
+          res = skypiax_skype_read(p);
+          if (res == CALLFLOW_INCOMING_CALLID || res == CALLFLOW_INCOMING_RING) {
+            //ast_log(LOG_NOTICE, "CALLFLOW_INCOMING_RING SKYPE\n");
+            DEBUGA_SKYPE("CALLFLOW_INCOMING_RING\n", SKYPIAX_P_LOG);
+            skypiax_new(p, AST_STATE_RING, p->context /* p->context */ );
+          }
+        }
+      }
+
+    }
+    MONITORUNLOCKA(&skypiax_iflock);
+    POPPA_UNLOCKA(&skypiax_iflock);
+    MONITORUNLOCKA(&skypiax_monlock);
+    POPPA_UNLOCKA(&skypiax_monlock);
+    pthread_testcancel();
+  }
+/* Never reached */
+  if (option_debug > 10) {
+    DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+  }
+  return NULL;
+
+}
+
+/*!
+ * \brief Initialize the soundcard channels (input and output) used by one interface (a multichannel soundcard can be used by multiple interfaces) 
+ * \param p the skypiax_pvt of the interface
+ *
+ * This function initialize the soundcard channels (input and output) used by one interface (a multichannel soundcard can be used by multiple interfaces). It simply pass its parameters to the right function for the sound system for which has been compiled, eg. alsa_init for ALSA, oss_init for OSS, winmm_init for Windows Multimedia, etc and return the result 
+ *
+ * \return zero on success, -1 on error.
+ */
+
+int skypiax_sound_init(struct skypiax_pvt *p)
+{
+  if (option_debug > 10) {
+    DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);
+  }
+  if (option_debug > 10) {
+    DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+  }
+  return skypiax_skypeaudio_init(p);
+}
+
+/*!
+ * \brief Shutdown the soundcard channels (input and output) used by one interface (a multichannel soundcard can be used by multiple interfaces) 
+ * \param p the skypiax_pvt of the interface
+ *
+ * This function shutdown the soundcard channels (input and output) used by one interface (a multichannel soundcard can be used by multiple interfaces). It simply pass its parameters to the right function for the sound system for which has been compiled, eg. alsa_shutdown for ALSA, oss_shutdown for OSS, winmm_shutdown for Windows Multimedia, etc and return the result
+ *
+ * \return zero on success, -1 on error.
+ */
+
+int skypiax_sound_shutdown(struct skypiax_pvt *p)
+{
+
+  if (option_debug > 10) {
+    DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);
+  }
+  //return skypiax_portaudio_shutdown(p);
+
+  if (option_debug > 10) {
+    DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+  }
+  return -1;
+}
+
+/*! \brief Read audio frames from interface */
+struct ast_frame *skypiax_sound_read(struct skypiax_pvt *p)
+{
+  struct ast_frame *f = NULL;
+  int res;
+
+  if (option_debug > 100) {
+    DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);
+  }
+  res = skypiax_skypeaudio_read(p);
+  f =  &p->read_frame;
+  if (option_debug > 100) {
+    DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+  }
+  return f;
+}
+
+/*! \brief Send audio frame to interface */
+int skypiax_sound_write(struct skypiax_pvt *p, struct ast_frame *f)
+{
+  int ret = -1;
+
+  if (option_debug > 100) {
+    DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);
+  }
+  ret = skypiax_skypeaudio_write(p, f);
+  if (option_debug > 100) {
+    DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+  }
+  return ret;
+}
+
+/*!
+ * \brief This thread runs during a call, and monitor the interface serial port for signaling, like hangup, caller id, etc
+ *
+ */
+void *skypiax_do_controldev_thread(void *data)
+{
+  struct skypiax_pvt *p = data;
+  int res;
+
+  if (option_debug > 10) {
+    DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);
+  }
+  DEBUGA_SERIAL("In skypiax_do_controldev_thread: started, p=%p\n", SKYPIAX_P_LOG, p);
+
+  if (pthread_setcanceltype(PTHREAD_CANCEL_DEFERRED, NULL)) {
+    ERRORA("Unable to set cancel type to deferred\n", SKYPIAX_P_LOG);
+    if (option_debug > 10) {
+      DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+    }
+    return NULL;
+  }
+
+  while (1) {
+    usleep(1000);
+    pthread_testcancel();
+    if (p->skype) {
+      res = skypiax_skype_read(p);
+      if (res == CALLFLOW_INCOMING_HANGUP) {
+        if (option_debug)
+          DEBUGA_SKYPE("skype call ended\n", SKYPIAX_P_LOG);
+        if (p->owner) {
+          pthread_testcancel();
+          ast_queue_control(p->owner, AST_CONTROL_HANGUP);
+        }
+      }
+    }
+  }
+
+  if (option_debug > 10) {
+    DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+  }
+  return NULL;
+
+}
+
+/************************************************/
+
+/* LUIGI RIZZO's magic */
+/*
+ * store the boost factor
+ */
+#ifdef ASTERISK_VERSION_1_6
+void skypiax_store_boost(const char *s, double *boost)
+#else
+void skypiax_store_boost(char *s, double *boost)
+#endif                          /* ASTERISK_VERSION_1_6 */
+{
+  struct skypiax_pvt *p = NULL;
+
+  if (option_debug > 10) {
+    DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);
+  }
+  if (sscanf(s, "%lf", boost) != 1) {
+    ERRORA("invalid boost <%s>\n", SKYPIAX_P_LOG, s);
+    if (option_debug > 10) {
+      DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+    }
+    return;
+  }
+  if (*boost < -BOOST_MAX) {
+    WARNINGA("boost %s too small, using %d\n", SKYPIAX_P_LOG, s, -BOOST_MAX);
+    *boost = -BOOST_MAX;
+  } else if (*boost > BOOST_MAX) {
+    WARNINGA("boost %s too large, using %d\n", SKYPIAX_P_LOG, s, BOOST_MAX);
+    *boost = BOOST_MAX;
+  }
+  *boost = exp(log(10) * *boost / 20) * BOOST_SCALE;
+  if (option_debug > 1)
+    DEBUGA_SOUND("setting boost %s to %f\n", SKYPIAX_P_LOG, s, *boost);
+}
+
+/*
+ * returns a pointer to the descriptor with the given name
+ */
+struct skypiax_pvt *skypiax_console_find_desc(char *dev)
+{
+  struct skypiax_pvt *p = NULL;
+  if (option_debug > 10) {
+    DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);
+  }
+
+  for (p = skypiax_iflist; p && strcmp(p->name, dev) != 0; p = p->next);
+  if (p == NULL)
+    WARNINGA("could not find <%s>\n", SKYPIAX_P_LOG, dev);
+
+  if (option_debug > 10) {
+    DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+  }
+  return p;
+}
+int skypiax_console_playback_boost(int fd, int argc, char *argv[])
+{
+  struct skypiax_pvt *p = skypiax_console_find_desc(skypiax_console_active);
+
+  if (option_debug > 10) {
+    DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);
+  }
+  if (argc > 2) {
+    if (option_debug > 10) {
+      DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+    }
+    return RESULT_SHOWUSAGE;
+  }
+  if (!p) {
+    ast_cli(fd,
+            "No \"current\" skypiax_console for playback_boost, please enter 'help skypiax_console'\n");
+    if (option_debug > 10) {
+      DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+    }
+    return RESULT_SUCCESS;
+  }
+
+  if (argc == 1) {
+    ast_cli(fd, "playback_boost on the active skypiax_console, that is [%s], is: %5.1f\n",
+            skypiax_console_active,
+            20 * log10(((double) p->playback_boost / (double) BOOST_SCALE)));
+  } else if (argc == 2) {
+    skypiax_store_boost(argv[1], &p->playback_boost);
+
+    ast_cli(fd,
+            "playback_boost on the active skypiax_console, that is [%s], is now: %5.1f\n",
+            skypiax_console_active,
+            20 * log10(((double) p->playback_boost / (double) BOOST_SCALE)));
+  }
+
+  if (option_debug > 10) {
+    DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+  }
+  return RESULT_SUCCESS;
+}
+int skypiax_console_capture_boost(int fd, int argc, char *argv[])
+{
+  struct skypiax_pvt *p = skypiax_console_find_desc(skypiax_console_active);
+
+  if (option_debug > 10) {
+    DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);
+  }
+  if (argc > 2) {
+    if (option_debug > 10) {
+      DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+    }
+    return RESULT_SHOWUSAGE;
+  }
+  if (!p) {
+    ast_cli(fd,
+            "No \"current\" skypiax_console for capture_boost, please enter 'help skypiax_console'\n");
+    if (option_debug > 10) {
+      DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+    }
+    return RESULT_SUCCESS;
+  }
+
+  if (argc == 1) {
+    ast_cli(fd, "capture_boost on the active skypiax_console, that is [%s], is: %5.1f\n",
+            skypiax_console_active,
+            20 * log10(((double) p->capture_boost / (double) BOOST_SCALE)));
+  } else if (argc == 2) {
+    skypiax_store_boost(argv[1], &p->capture_boost);
+
+    ast_cli(fd,
+            "capture_boost on the active skypiax_console, that is [%s], is now: %5.1f\n",
+            skypiax_console_active,
+            20 * log10(((double) p->capture_boost / (double) BOOST_SCALE)));
+  }
+
+  if (option_debug > 10) {
+    DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+  }
+  return RESULT_SUCCESS;
+}
+
+int skypiax_console_hangup(int fd, int argc, char *argv[])
+{
+  struct skypiax_pvt *p = skypiax_console_find_desc(skypiax_console_active);
+
+  if (option_debug > 10) {
+    DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);
+  }
+  if (argc != 1) {
+    if (option_debug > 10) {
+      DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+    }
+    return RESULT_SHOWUSAGE;
+  }
+  if (!p) {
+    ast_cli(fd,
+            "No \"current\" skypiax_console for hanging up, please enter 'help skypiax_console'\n");
+    if (option_debug > 10) {
+      DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+    }
+    return RESULT_SUCCESS;
+  }
+  if (!p->owner) {
+    ast_cli(fd, "No call to hangup on the active skypiax_console, that is [%s]\n",
+            skypiax_console_active);
+    if (option_debug > 10) {
+      DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+    }
+    return RESULT_FAILURE;
+  }
+  if (p->owner)
+    ast_queue_hangup(p->owner);
+  if (option_debug > 10) {
+    DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+  }
+  return RESULT_SUCCESS;
+}
+
+int skypiax_console_dial(int fd, int argc, char *argv[])
+{
+  char *s = NULL;
+  struct skypiax_pvt *p = skypiax_console_find_desc(skypiax_console_active);
+
+  if (option_debug > 10) {
+    DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);
+  }
+  if (argc != 2) {
+    if (option_debug > 10) {
+      DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+    }
+    return RESULT_SHOWUSAGE;
+  }
+  if (!p) {
+    ast_cli(fd,
+            "No \"current\" skypiax_console for dialing, please enter 'help skypiax_console'\n");
+    if (option_debug > 10) {
+      DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+    }
+    return RESULT_SUCCESS;
+  }
+
+  if (p->owner) {               /* already in a call */
+    int i;
+    struct ast_frame f = { AST_FRAME_DTMF, 0 };
+
+    s = argv[1];
+    /* send the string one char at a time */
+    for (i = 0; i < strlen(s); i++) {
+      f.subclass = s[i];
+      ast_queue_frame(p->owner, &f);
+    }
+    if (option_debug > 10) {
+      DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+    }
+    return RESULT_SUCCESS;
+  } else
+    ast_cli(fd,
+            "No call in which to dial on the \"current\" skypiax_console, that is [%s]\n",
+            skypiax_console_active);
+  if (s)
+    free(s);
+  if (option_debug > 10) {
+    DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+  }
+  return RESULT_SUCCESS;
+}
+int skypiax_console_set_active(int fd, int argc, char *argv[])
+{
+  if (argc == 1)
+    ast_cli(fd,
+            "\"current\" skypiax_console is [%s]\n    Enter 'skypiax_console show' to see the available interfaces.\n    Enter 'skypiax_console interfacename' to change the \"current\" skypiax_console.\n",
+            skypiax_console_active);
+  else if (argc != 2) {
+    return RESULT_SHOWUSAGE;
+  } else {
+    struct skypiax_pvt *p;
+    if (strcmp(argv[1], "show") == 0) {
+      ast_cli(fd, "Available interfaces:\n");
+      for (p = skypiax_iflist; p; p = p->next)
+        ast_cli(fd, "     [%s]\n", p->name);
+      return RESULT_SUCCESS;
+    }
+    p = skypiax_console_find_desc(argv[1]);
+    if (p == NULL)
+      ast_cli(fd, "Interface [%s] do not exists!\n", argv[1]);
+    else {
+      skypiax_console_active = p->name;
+      ast_cli(fd, "\"current\" skypiax_console is now: [%s]\n", argv[1]);
+    }
+  }
+  return RESULT_SUCCESS;
+}
+
+int skypiax_console_skypiax(int fd, int argc, char *argv[])
+{
+  return RESULT_SHOWUSAGE;
+}
+
+void *do_skypeapi_thread(void *obj)
+{
+	return skypiax_do_skypeapi_thread_func(obj);
+}
+
+int dtmf_received(private_t *p, char *value){
+
+	struct ast_frame f2 = { AST_FRAME_DTMF, value[0], };
+	DEBUGA_SKYPE("Received DTMF: %s\n", SKYPIAX_P_LOG, value);
+	ast_queue_frame(p->owner, &f2);
+
+	return 0;
+
+}
+int start_audio_threads(private_t *tech_pvt) {
+#ifdef NOTDEF
+                  switch_threadattr_t *thd_attr = NULL;
+
+                  switch_threadattr_create(&thd_attr, skypiax_module_pool);
+                  switch_threadattr_detach_set(thd_attr, 1);
+                  switch_threadattr_stacksize_set(thd_attr, SWITCH_THREAD_STACKSIZE);
+                  switch_thread_create(&tech_pvt->tcp_srv_thread, thd_attr,
+                                       skypiax_do_tcp_srv_thread, tech_pvt,
+                                       skypiax_module_pool);
+                  DEBUGA_SKYPE("started tcp_srv_thread thread.\n", SKYPIAX_P_LOG);
+
+                  switch_threadattr_create(&thd_attr, skypiax_module_pool);
+                  switch_threadattr_detach_set(thd_attr, 1);
+                  switch_threadattr_stacksize_set(thd_attr, SWITCH_THREAD_STACKSIZE);
+                  switch_thread_create(&tech_pvt->tcp_cli_thread, thd_attr,
+                                       skypiax_do_tcp_cli_thread, tech_pvt,
+                                       skypiax_module_pool);
+                  DEBUGA_SKYPE("started tcp_cli_thread thread.\n", SKYPIAX_P_LOG);
+                  switch_sleep(100000);
+ 
+#endif
+
+	return 0;
+}
+
+int new_inbound_channel(private_t *tech_pvt) {
+#ifdef NOTDEF
+                  switch_core_session_t *session = NULL;
+                  switch_channel_t *channel = NULL;
+
+                  if ((session =
+                       switch_core_session_request(skypiax_endpoint_interface,
+                                                   NULL)) != 0) {
+                    switch_core_session_add_stream(session, NULL);
+                    channel = switch_core_session_get_channel(session);
+                    skypiax_tech_init(tech_pvt, session);
+
+                    if ((tech_pvt->caller_profile =
+                         switch_caller_profile_new(switch_core_session_get_pool(session),
+                                                   "skypiax", tech_pvt->dialplan,
+                                                   tech_pvt->callid_name,
+                                                   tech_pvt->callid_number, NULL, NULL,
+                                                   NULL, NULL, "mod_skypiax",
+                                                   tech_pvt->context,
+                                                   tech_pvt->destination)) != 0) {
+                      char name[128];
+                      //switch_snprintf(name, sizeof(name), "skypiax/%s/%s", tech_pvt->name, tech_pvt->caller_profile->destination_number);
+                      switch_snprintf(name, sizeof(name), "skypiax/%s", tech_pvt->name);
+                      switch_channel_set_name(channel, name);
+                      switch_channel_set_caller_profile(channel,
+                                                        tech_pvt->caller_profile);
+                    }
+                    switch_channel_set_state(channel, CS_INIT);
+                    if (switch_core_session_thread_launch(session) !=
+                        SWITCH_STATUS_SUCCESS) {
+                      ERRORA("Error spawning thread\n", SKYPIAX_P_LOG);
+                      switch_core_session_destroy(&session);
+                    }
+                  }
+                  switch_channel_mark_answered(channel);
+
+        DEBUGA_SKYPE("Here\n", SKYPIAX_P_LOG);
+
+#endif
+	return 0;
+}
+int outbound_channel_answered(private_t *tech_pvt) {
+#ifdef NOTDEF
+                  switch_core_session_t *session = NULL;
+                  switch_channel_t *channel = NULL;
+
+
+                  if (strlen(tech_pvt->session_uuid_str)) {
+                    session = switch_core_session_locate(tech_pvt->session_uuid_str);
+                  } else {
+                    ERRORA("No session???\n", SKYPIAX_P_LOG);
+                  }
+                  if (session) {
+                    channel = switch_core_session_get_channel(session);
+                  } else {
+                    ERRORA("No session???\n", SKYPIAX_P_LOG);
+                  }
+                  if (channel) {
+                    switch_channel_mark_answered(channel);
+                    //DEBUGA_SKYPE("skype_call: %s, answered\n", SKYPIAX_P_LOG, id);
+                  } else {
+                    ERRORA("No channel???\n", SKYPIAX_P_LOG);
+                  }
+
+                  switch_core_session_rwunlock(session);
+                  DEBUGA_SKYPE("HERE!\n", SKYPIAX_P_LOG);
+
+#endif
+
+	return 0;
+}
+
+/************************************************/
+#ifdef ASTERISK_VERSION_1_4
+#ifndef AST_MODULE
+#define AST_MODULE "chan_skypiax"
+#endif
+AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Skypiax, Audio-Serial Driver");
+#endif /* ASTERISK_VERSION_1_4 */
+
+/* rewriting end */
+/*******************************************************************************/

Added: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/cyg_no_pthread_kill.c
==============================================================================
--- (empty file)
+++ freeswitch/branches/gmaruzz/mod_skypiax/asterisk/cyg_no_pthread_kill.c	Sat Jan 31 07:51:01 2009
@@ -0,0 +1,14 @@
+#include 
+#define PRINTMSGCYG
+
+extern int option_debug;
+int cyg_no_pthreadkill(int thread, int sig);
+
+int cyg_no_pthreadkill(int thread, int sig){
+#ifdef PRINTMSGCYG
+	if(option_debug){
+		printf("\n\nHere there would have been a pthread_kill() on thread [%-7lx], with sig=%d, but it has been substituted by this printf in file cyg_no_pthread_kill.c because CYGWIN does not support sending a signal to a one only thread :-(\n\n", (unsigned long int)thread, sig);
+	}
+#endif// PRINTMSGCYG
+	return 0;
+	}

Added: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax.conf
==============================================================================
--- (empty file)
+++ freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax.conf	Sat Jan 31 07:51:01 2009
@@ -0,0 +1,63 @@
+;; 
+;; 
+; Skypiax Asterisk Driver 
+; 
+; Configuration file 
+; lines beginning with semicolon (" are ignored (commented out)
+;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;
+; The first interface (named skypeclient)
+[skypeclient] 
+;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;
+; general settings, valid on all platforms
+;
+; 
+; Default language 
+; 
+language=en 
+; 
+; Default context (in extensions.conf, can be overridden with @context syntax) 
+; 
+context=default 
+; 
+; Default extension (in extensions.conf) where incoming calls land
+; 
+extension=s 
+; 
+;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;
+; Debugging settings, valid globally for all interfaces on all platforms
+;
+; the debug values are global for all the interfaces.
+;
+; default is no skypiax debugging output, you **have** to activate debugging here to obtain debugging from skypiax
+;
+; To see the debugging output you have to "set debug 100" from the Asterisk CLI or launch
+; Asterisk with -ddddddddddd option, and have the logger.conf file activating debug info for console and messages
+;
+; You can activate each of the following separately, but you can't disactivate. Eg: debug_at=no does not subtract debug_at from debug_all
+; debug_all activate all possible debugging info
+;
+;debug_all=yes
+debug_skype=yes
+debug_pbx=yes
+;debug_sound=yes
+;debug_locks=yes
+;debug_monitorlocks=yes
+
+skype=yes ; legacy setting, leave it to yes
+;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;
+; audio boost settings, valid for all platforms, to compensate for different input/output audio signal levels
+; tweak it if you get horrible (or not hearable) sound
+;
+;boost can be positive or negative (-40 to +40) in db
+;experiment to find which values are best for your computer
+playback_boost=0 ; 
+capture_boost=0 ; 
+
+

Added: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax.h
==============================================================================
--- (empty file)
+++ freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax.h	Sat Jan 31 07:51:01 2009
@@ -0,0 +1,412 @@
+//indent -gnu -ts4 -br -brs -cdw -lp -ce -nbfda -npcs -nprs -npsl -nbbo -saf -sai -saw -cs -bbo -nhnl -nut -sob -l90 
+#ifndef _SKYPIAX_H_
+#define _SKYPIAX_H_
+
+#ifndef SKYPIAX_SVN_VERSION
+#define SKYPIAX_SVN_VERSION "????NO_REVISION???"
+#endif
+
+#include    /* needed here for conditional compilation on version.h */
+  /* the following #defs are for LINUX */
+#ifndef __CYGWIN__
+#ifndef ASTERISK_VERSION_1_6
+#ifndef ASTERISK_VERSION_1_4
+#ifndef ASTERISK_VERSION_1_2
+#define ASTERISK_VERSION_1_4
+#if(ASTERISK_VERSION_NUM == 999999)
+#undef ASTERISK_VERSION_1_4
+#elif(ASTERISK_VERSION_NUM < 10400)
+#undef ASTERISK_VERSION_1_4
+#endif /* ASTERISK_VERSION_NUM == 999999 || ASTERISK_VERSION_NUM < 10400 */
+#endif /* ASTERISK_VERSION_1_2 */
+#endif /* ASTERISK_VERSION_1_4 */
+#endif /* ASTERISK_VERSION_1_6 */
+#ifdef ASTERISK_VERSION_1_2
+#undef ASTERISK_VERSION_1_4
+#endif /* ASTERISK_VERSION_1_2 */
+#ifdef ASTERISK_VERSION_1_6
+#define ASTERISK_VERSION_1_4
+#endif /* ASTERISK_VERSION_1_6 */
+#define SKYPIAX_SKYPE
+#define WANT_SKYPE_X11
+#endif /* NOT __CYGWIN__ */
+  /* the following #defs are for WINDOWS */
+#ifdef __CYGWIN__
+#undef ASTERISK_VERSION_1_4
+#undef ASTERISK_VERSION_1_6
+#define SKYPIAX_SKYPE
+#undef WANT_SKYPE_X11
+#endif /* __CYGWIN__ */
+
+/* INCLUDES */
+#ifdef ASTERISK_VERSION_1_6
+#include            /* some asterisk-devel package do not contains asterisk.h, but seems that is needed for the 1.6 series, at least from trunk */
+#endif /* ASTERISK_VERSION_1_6 */
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#ifndef ASTERISK_VERSION_1_4
+#include 
+#include 
+#endif /* ASTERISK_VERSION_1_4 */
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#ifdef ASTERISK_VERSION_1_6
+#include 
+#include 
+#endif /* ASTERISK_VERSION_1_6 */
+#ifdef ASTERISK_VERSION_1_4
+#include 
+#include 
+#include 
+#include 
+#endif /* ASTERISK_VERSION_1_4 */
+#ifdef ASTERISK_VERSION_1_2
+#include 
+#include 
+#endif /* ASTERISK_VERSION_1_2 */
+#ifdef HAVE_CONFIG_H
+#include 
+#endif
+//#include "skypiax_spandsp.h"
+#ifdef __CYGWIN__
+#include 
+#endif /* __CYGWIN__ */
+#ifdef WANT_SKYPE_X11
+#include 
+#include 
+#include 
+#endif /*  WANT_SKYPE_X11 */
+#ifndef AST_DIGIT_ANYDIG
+#define AST_DIGIT_ANYDIG "0123456789*#"
+#else
+#warning Please review Skypiax AST_DIGIT_ANYDIG
+#endif
+#ifndef _ASTERISK_H
+#define AST_CONFIG_MAX_PATH 255 /* defined in asterisk.h, but some asterisk-devel package do not contains asterisk.h */
+extern char ast_config_AST_CONFIG_DIR[AST_CONFIG_MAX_PATH];
+int ast_register_atexit(void (*func) (void));   /* in asterisk.h, but some asterisk-devel package do not contains asterisk.h */
+void ast_unregister_atexit(void (*func) (void));    /* in asterisk.h, but some asterisk-devel package do not contains asterisk.h */
+#endif
+
+/* DEFINITIONS */
+#define SAMPLERATE_SKYPIAX 8000
+#define SAMPLES_PER_FRAME SAMPLERATE_SKYPIAX/50
+
+/* LUIGI RIZZO's magic */
+/* boost support. BOOST_SCALE * 10 ^(BOOST_MAX/20) must
+ * be representable in 16 bits to avoid overflows.
+ */
+#define	BOOST_SCALE	(1<<9)
+#define	BOOST_MAX	40          /* slightly less than 7 bits */
+/* call flow from the device */
+#define 	CALLFLOW_CALL_IDLE  AST_STATE_DOWN
+#define 	CALLFLOW_INCOMING_RING  AST_STATE_RING
+#define 	CALLFLOW_CALL_DIALING   AST_STATE_DIALING
+#define 	CALLFLOW_CALL_LINEBUSY   AST_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 	AST_STATE_HANGUP_REQUESTED   200
+  //FIXME CALLFLOW_INCOMING_CALLID to be removed
+#define 	CALLFLOW_INCOMING_CALLID   1019
+/* debugging bitmask */
+#define DEBUG_SOUND 1
+#define DEBUG_SERIAL 2
+#define DEBUG_SKYPE 4
+#define DEBUG_AT 8
+#define DEBUG_FBUS2 16
+#define DEBUG_CALL 32
+#define DEBUG_LOCKS 64
+#define DEBUG_PBX 128
+#define DEBUG_MONITORLOCKS 256
+#define DEBUG_ALL DEBUG_SOUND|DEBUG_SERIAL|DEBUG_SKYPE|DEBUG_AT|DEBUG_FBUS2|DEBUG_CALL|DEBUG_PBX|DEBUG_LOCKS|DEBUG_MONITORLOCKS
+/* wrappers for ast_log */
+#define DEBUGA_SOUND(...)  if (skypiax_debug & DEBUG_SOUND) ast_log(LOG_DEBUG, 		"rev "SKYPIAX_SVN_VERSION "[%p|%-7lx][DEBUG_SOUND  %-5d][%-10s][%2d,%2d,%2d] " __VA_ARGS__ );
+#define DEBUGA_SERIAL(...)  if (skypiax_debug & DEBUG_SERIAL) ast_log(LOG_DEBUG, 	"rev "SKYPIAX_SVN_VERSION "[%p|%-7lx][DEBUG_SERIAL %-5d][%-10s][%2d,%2d,%2d] " __VA_ARGS__ );
+#define DEBUGA_SKYPE(...)  if (skypiax_debug & DEBUG_SKYPE) ast_log(LOG_DEBUG, 		"rev "SKYPIAX_SVN_VERSION "[%p|%-7lx][DEBUG_SKYPE  %-5d][%-10s][%2d,%2d,%2d] " __VA_ARGS__ );
+#define DEBUGA_AT(...)  if (skypiax_debug & DEBUG_AT) ast_log(LOG_DEBUG, 		"rev "SKYPIAX_SVN_VERSION "[%p|%-7lx][DEBUG_AT     %-5d][%-10s][%2d,%2d,%2d] " __VA_ARGS__ );
+#define DEBUGA_FBUS2(...)  if (skypiax_debug & DEBUG_FBUS2) ast_log(LOG_DEBUG, 		"rev "SKYPIAX_SVN_VERSION "[%p|%-7lx][DEBUG_FBUS2  %-5d][%-10s][%2d,%2d,%2d] " __VA_ARGS__ );
+#define DEBUGA_CALL(...)  if (skypiax_debug & DEBUG_CALL) ast_log(LOG_DEBUG, 		"rev "SKYPIAX_SVN_VERSION "[%p|%-7lx][DEBUG_CALL   %-5d][%-10s][%2d,%2d,%2d] " __VA_ARGS__ );
+#define DEBUGA_PBX(...)  if (skypiax_debug & DEBUG_PBX) ast_log(LOG_DEBUG, 		"rev "SKYPIAX_SVN_VERSION "[%p|%-7lx][DEBUG_PBX    %-5d][%-10s][%2d,%2d,%2d] " __VA_ARGS__ );
+#define ERRORA(...)  ast_log(LOG_ERROR, 						"rev "SKYPIAX_SVN_VERSION "[%p|%-7lx][ERROR        %-5d][%-10s][%2d,%2d,%2d] " __VA_ARGS__ );
+#define NOTICA(...)  ast_log(LOG_NOTICE, 						"rev "SKYPIAX_SVN_VERSION "[%p|%-7lx][NOTICE      %-5d][%-10s][%2d,%2d,%2d] " __VA_ARGS__ );
+#define WARNINGA(...)  ast_log(LOG_WARNING, 						"rev "SKYPIAX_SVN_VERSION "[%p|%-7lx][WARNING    %-5d][%-10s][%2d,%2d,%2d] " __VA_ARGS__ );
+/* macros for logging */
+#define SKYPIAX_P_LOG p ? p->owner : NULL, (unsigned long)pthread_self(), __LINE__, p ? p->name ? p->name : "none" : "none", p ? p->owner ? p->owner->_state : -1 : -1,  p ? p->interface_state : -1, p ? p->skype_callflow : -1
+#define SKYPIAX_TMP_LOG tmp ? tmp->owner : NULL, (unsigned long)pthread_self(), __LINE__, tmp ? tmp->name ? tmp->name : "none" : "none", tmp ? tmp->owner ? tmp->owner->_state : -1 : -1,  tmp ? tmp->interface_state : -1, tmp ? tmp->skype_callflow : -1
+/* logging wrappers for ast_mutex_lock and ast_mutex_unlock */
+#define LOKKA(x)  if (skypiax_debug & DEBUG_LOCKS) ast_log(LOG_DEBUG, "rev "SKYPIAX_SVN_VERSION "[%p|%-7lx][DEBUG_LOCKS  %-5d][%-10s][%2d,%2d,%2d] going to lock %p (%s)\n", SKYPIAX_P_LOG, x, x == &skypiax_monlock ? "MONLOCK" : x == &skypiax_iflock ? "IFLOCK" : x == &skypiax_usecnt_lock ? "USECNT_LOCK" : "?????"); if (ast_mutex_lock(x)) ast_log(LOG_ERROR, "ast_mutex_lock failed, BAD\n");   if (skypiax_debug & DEBUG_LOCKS) ast_log(LOG_DEBUG, "rev "SKYPIAX_SVN_VERSION "[%p|%-7lx][DEBUG_LOCKS  %-5d][%-10s][%2d,%2d,%2d] locked %p (%s)\n", SKYPIAX_P_LOG, x, x == &skypiax_monlock ? "MONLOCK" : x == &skypiax_iflock ? "IFLOCK" : x == &skypiax_usecnt_lock ? "USECNT_LOCK" : "?????");
+#define UNLOCKA(x)  if (skypiax_debug & DEBUG_LOCKS)  ast_log(LOG_DEBUG, "rev "SKYPIAX_SVN_VERSION "[%p|%-7lx][DEBUG_LOCKS  %-5d][%-10s][%2d,%2d,%2d] going to unlock %p (%s)\n",  SKYPIAX_P_LOG, x, x == &skypiax_monlock ? "MONLOCK" : x == &skypiax_iflock ? "IFLOCK" : x == &skypiax_usecnt_lock ? "USECNT_LOCK" : "?????"); if (ast_mutex_unlock(x)) ast_log(LOG_ERROR, "ast_mutex_lock failed, BAD\n");   if (skypiax_debug & DEBUG_LOCKS) ast_log(LOG_DEBUG, "rev "SKYPIAX_SVN_VERSION "[%p|%-7lx][DEBUG_LOCKS  %-5d][%-10s][%2d,%2d,%2d] unlocked %p (%s)\n", SKYPIAX_P_LOG, x, x == &skypiax_monlock ? "MONLOCK" : x == &skypiax_iflock ? "IFLOCK" : x == &skypiax_usecnt_lock ? "USECNT_LOCK" : "?????");
+#define PUSHA_UNLOCKA(x)    pthread_cleanup_push(skypiax_unlocka_log, (void *) x);
+#define POPPA_UNLOCKA(x)    pthread_cleanup_pop(0);
+#define MONITORLOKKA(x)  if (skypiax_debug & DEBUG_MONITORLOCKS) ast_log(LOG_DEBUG, "rev "SKYPIAX_SVN_VERSION "[%p|%-7lx][DEBUG_MONITORLOCKS  %-5d][%-10s][%2d,%2d,%2d] going to lock %p (%s)\n", SKYPIAX_P_LOG, x, x == &skypiax_monlock ? "MONLOCK" : x == &skypiax_iflock ? "IFLOCK" : x == &skypiax_usecnt_lock ? "USECNT_LOCK" :  "?????"); if (ast_mutex_lock(x)) ast_log(LOG_ERROR, "ast_mutex_lock failed, BAD\n");   if (skypiax_debug & DEBUG_MONITORLOCKS) ast_log(LOG_DEBUG, "rev "SKYPIAX_SVN_VERSION "[%p|%-7lx][DEBUG_MONITORLOCKS  %-5d][%-10s][%2d,%2d,%2d] locked %p (%s)\n", SKYPIAX_P_LOG, x, x == &skypiax_monlock ? "MONLOCK" : x == &skypiax_iflock ? "IFLOCK" : x == &skypiax_usecnt_lock ? "USECNT_LOCK" : "?????");
+#define MONITORUNLOCKA(x)  if (skypiax_debug & DEBUG_MONITORLOCKS)  ast_log(LOG_DEBUG, "rev "SKYPIAX_SVN_VERSION "[%p|%-7lx][DEBUG_MONITORLOCKS  %-5d][%-10s][%2d,%2d,%2d] going to unlock %p (%s)\n",  SKYPIAX_P_LOG, x, x == &skypiax_monlock ? "MONLOCK" : x == &skypiax_iflock ? "IFLOCK" : x == &skypiax_usecnt_lock ? "USECNT_LOCK" : "?????"); if (ast_mutex_unlock(x)) ast_log(LOG_ERROR, "ast_mutex_lock failed, BAD\n");   if (skypiax_debug & DEBUG_MONITORLOCKS) ast_log(LOG_DEBUG, "rev "SKYPIAX_SVN_VERSION "[%p|%-7lx][DEBUG_MONITORLOCKS  %-5d][%-10s][%2d,%2d,%2d] unlocked %p (%s)\n", SKYPIAX_P_LOG, x, x == &skypiax_monlock ? "MONLOCK" : x == &skypiax_iflock ? "IFLOCK" : x == &skypiax_usecnt_lock ? "USECNT_LOCK" : "?????");
+/* macros used for config file parsing (luigi rizzo)*/
+#define 	M_BOOL(tag, dst)   M_F(tag, (dst) = ast_true(__val) )
+#define 	M_END(x)   x;
+#define 	M_F(tag, f)   if (!strcasecmp((__s), tag)) { f; } else
+#ifdef ASTERISK_VERSION_1_6
+#define 	M_START(var, val)   const char *__s = var; const char *__val = val;
+#else
+#define 	M_START(var, val)   char *__s = var; char *__val = val;
+#endif /* ASTERISK_VERSION_1_6 */
+#define 	M_STR(tag, dst)   M_F(tag, ast_copy_string(dst, __val, sizeof(dst)))
+#define 	M_UINT(tag, dst)   M_F(tag, (dst) = strtoul(__val, NULL, 0) )
+
+#define 	SKYPIAX_FRAME_SIZE   160
+
+/* SKYPIAX INTERNAL STRUCTS */
+/*! 
+ * \brief structure for exchanging messages with the skype client
+ */
+#ifdef WANT_SKYPE_X11
+struct AsteriskHandles {
+  Window skype_win;
+  Display *disp;
+  Window win;
+  int fdesc[2];
+};
+#else /* WANT_SKYPE_X11 */
+struct AsteriskHandles {
+  HWND win32_hInit_MainWindowHandle;
+  HWND win32_hGlobal_SkypeAPIWindowHandle;
+  int fdesc[2];
+};
+#endif /* WANT_SKYPE_X11 */
+
+#ifndef WIN32
+struct SkypiaxHandles {
+  Window skype_win;
+  Display *disp;
+  Window win;
+  int api_connected;
+  int fdesc[2];
+};
+#else //WIN32
+
+struct SkypiaxHandles {
+  HWND win32_hInit_MainWindowHandle;
+  HWND win32_hGlobal_SkypeAPIWindowHandle;
+  HINSTANCE win32_hInit_ProcessHandle;
+  char win32_acInit_WindowClassName[128];
+  UINT win32_uiGlobal_MsgID_SkypeControlAPIAttach;
+  UINT win32_uiGlobal_MsgID_SkypeControlAPIDiscover;
+  int api_connected;
+  switch_file_t *fdesc[2];
+};
+
+#endif //WIN32
+
+
+/*! 
+ * \brief PVT structure for a skypiax interface (channel), created by skypiax_mkif
+ */
+struct skypiax_pvt {
+  char *name;                   /*!< \brief 'name' of the interface (channel) */
+  int interface_state;          /*!< \brief 'state' of the interface (channel) */
+  struct ast_channel *owner;    /*!< \brief channel we belong to, possibly NULL */
+  struct skypiax_pvt *next;     /*!< \brief Next interface (channel) in list */
+  char context[AST_MAX_EXTENSION];  /*!< \brief default Asterisk dialplan context for this interface */
+  char language[MAX_LANGUAGE];  /*!< \brief default Asterisk dialplan language for this interface */
+  char exten[AST_MAX_EXTENSION];    /*!< \brief default Asterisk dialplan extension for this interface */
+  int skypiax_sound_rate;       /*!< \brief rate of the sound device, in Hz, eg: 8000 */
+  int skypiax_sound_capt_fd;    /*!< \brief file descriptor for sound capture dev */
+  char callid_name[50];
+  char callid_number[50];
+  pthread_t controldev_thread;  /*!< \brief serial control thread for this interface, running during the call */
+  double playback_boost;
+  double capture_boost;
+  int stripmsd;
+  pthread_t skype_thread;
+  struct AsteriskHandles AsteriskHandlesAst;
+  struct SkypiaxHandles SkypiaxHandles;
+  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;
+  int audiopipe[2];
+  int audioskypepipe[2];
+  pthread_t tcp_srv_thread;
+  pthread_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;
+#ifdef WIN32
+  unsigned short tcp_cli_port;
+  unsigned short tcp_srv_port;
+#else
+  int tcp_cli_port;
+  int tcp_srv_port;
+#endif
+  char X11_display[256];
+
+  struct ast_frame read_frame;
+
+  char skype_user[256];
+  char skype_password[256];
+  char destination[256];
+  char session_uuid_str[512 + 1];
+};
+
+typedef struct skypiax_pvt private_t;
+/* FUNCTIONS */
+
+/* module helpers functions */
+int load_module(void);
+int unload_module(void);
+int usecount(void);
+char *description(void);
+char *key(void);
+
+/* chan_skypiax internal functions */
+void skypiax_unlocka_log(void *x);
+
+void *do_skypeapi_thread(void *data);
+//int skypiax2skype(struct ast_channel *c, void *data);
+//int skype2skypiax(struct ast_channel *c, void *data);
+//void skypiax_skype_disconnect(void);
+int skypiax_skype_write(struct skypiax_pvt *p, char *msg_to_skype);
+int skypiax_skype_read(struct skypiax_pvt *p);
+int skypiax_console_skype(int fd, int argc, char *argv[]);
+#ifdef WANT_SKYPE_X11
+int X11_errors_handler(Display * dpy, XErrorEvent * err);
+int skypiax_skype_send_message(struct SkypiaxHandles *SkypiaxHandles,
+                               const char *message_P);
+int skypiax_skype_present(struct SkypiaxHandles *SkypiaxHandles);
+void skypiax_skype_clean_disp(void *data);
+#endif /* WANT_SKYPE_X11 */
+#ifdef __CYGWIN__
+int win32_Initialize_CreateWindowClass(void);
+void win32_DeInitialize_DestroyWindowClass(void);
+int win32_Initialize_CreateMainWindow(void);
+void win32_DeInitialize_DestroyMainWindow(void);
+#endif /* __CYGWIN__ */
+
+/* CHAN_SKYPIAX.C */
+int skypiax_queue_control(struct ast_channel *chan, int control);
+struct skypiax_pvt *skypiax_console_find_desc(char *dev);
+int skypiax_serial_call(struct skypiax_pvt *p, char *dstr);
+
+/* FUNCTIONS */
+/* PBX interface functions */
+struct ast_channel *skypiax_request(const char *type, int format, void *data, int *cause);
+int skypiax_answer(struct ast_channel *c);
+int skypiax_hangup(struct ast_channel *c);
+int skypiax_call(struct ast_channel *c, char *idest, int timeout);
+struct ast_frame *skypiax_read(struct ast_channel *chan);
+int skypiax_write(struct ast_channel *c, struct ast_frame *f);
+int skypiax_fixup(struct ast_channel *oldchan, struct ast_channel *newchan);
+#ifndef ASTERISK_VERSION_1_4
+int skypiax_indicate(struct ast_channel *c, int cond);
+#else
+int skypiax_indicate(struct ast_channel *c, int cond, const void *data, size_t datalen);
+#endif
+int skypiax_devicestate(void *data);
+#ifdef ASTERISK_VERSION_1_4
+int skypiax_senddigit_begin(struct ast_channel *ast, char digit);
+int skypiax_senddigit_end(struct ast_channel *ast, char digit, unsigned int duration);
+#else /* ASTERISK_VERSION_1_4 */
+int skypiax_senddigit(struct ast_channel *ast, char digit);
+#endif /* ASTERISK_VERSION_1_4 */
+
+/* chan_skypiax internal functions */
+
+struct skypiax_pvt *skypiax_mkif(struct ast_config *cfg, char *ctg,
+                                 int is_first_category);
+struct ast_channel *skypiax_new(struct skypiax_pvt *p, int state, char *context);
+int skypiax_restart_monitor(void);
+void *skypiax_do_monitor(void *data);
+int skypiax_sound_boost(struct ast_frame *f, double boost);
+int skypiax_sound_init(struct skypiax_pvt *p);
+int skypiax_sound_shutdown(struct skypiax_pvt *p);
+struct ast_frame *skypiax_sound_read(struct skypiax_pvt *p);
+int skypiax_sound_write(struct skypiax_pvt *p, struct ast_frame *f);
+void *skypiax_do_controldev_thread(void *data);
+#ifdef ASTERISK_VERSION_1_6
+void skypiax_store_boost(const char *s, double *boost);
+#else
+void skypiax_store_boost(char *s, double *boost);
+#endif /* ASTERISK_VERSION_1_6 */
+int skypiax_console_set_active(int fd, int argc, char *argv[]);
+int skypiax_console_hangup(int fd, int argc, char *argv[]);
+int skypiax_console_playback_boost(int fd, int argc, char *argv[]);
+int skypiax_console_capture_boost(int fd, int argc, char *argv[]);
+int skypiax_console_skypiax(int fd, int argc, char *argv[]);
+int skypiax_console_dial(int fd, int argc, char *argv[]);
+int skypiax_skypeaudio_init(struct skypiax_pvt *p);
+//struct ast_frame *skypiax_skypeaudio_read(struct skypiax_pvt *p);
+int skypiax_skypeaudio_read(struct skypiax_pvt *p);
+void *skypiax_do_tcp_srv_thread(void *data);
+int skypiax_skypeaudio_write(struct skypiax_pvt *p, struct ast_frame *f);
+void *skypiax_do_tcp_cli_thread(void *data);
+int skypiax_skype_call(struct skypiax_pvt *p, char *idest, int timeout);
+int skypiax_console_skypiax_dir_import(int fd, int argc, char *argv[]);
+
+void * skypiax_do_tcp_srv_thread_func(void *obj);
+void * skypiax_do_tcp_cli_thread_func(void *obj);
+void * skypiax_do_skypeapi_thread_func(void *obj);
+int dtmf_received(private_t *tech_pvt, char *value);
+int start_audio_threads(private_t *tech_pvt);
+int new_inbound_channel(private_t *tech_pvt);
+int outbound_channel_answered(private_t *tech_pvt);
+int skypiax_skype_senddigit(struct skypiax_pvt *p, char digit);
+#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
+#define 	SKYPIAX_STATE_HANGUP_REQUESTED   200
+#endif /* _SKYPIAX_H_ */

Added: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax_protocol.c
==============================================================================
--- (empty file)
+++ freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax_protocol.c	Sat Jan 31 07:51:01 2009
@@ -0,0 +1,2099 @@
+#include "skypiax.h"
+
+#define skypiax_sleep usleep
+#define skypiax_file_write switch_file_write
+#define skypiax_file_read switch_file_read
+
+#define tech_pvt p
+
+#define SKYPIAX_DIR_CONFIG "directoriax.conf"
+
+extern int skypiax_debug;
+//extern switch_memory_pool_t *skypiax_module_pool;
+extern int option_debug;
+//extern switch_endpoint_interface_t *skypiax_endpoint_interface;
+extern int running;
+extern char *skypiax_console_active;
+
+/* GLOBALS */
+int skypiax_dir_entry_extension=1;
+/*************************************/
+#ifndef WIN32
+XErrorHandler old_handler = 0;
+int xerror = 0;
+#endif /* WIN32 */
+/*************************************/
+
+void * skypiax_do_tcp_srv_thread_func(void *obj)
+{
+  private_t *tech_pvt = obj;
+  int s;
+#ifdef WIN32
+  unsigned int len;
+  unsigned int i;
+  unsigned int a;
+  int sin_size;
+  unsigned int fd;
+  short srv_in[SAMPLES_PER_FRAME];
+  short srv_out[SAMPLES_PER_FRAME / 2];
+#else
+  int len;
+  int i;
+  int a;
+  unsigned int sin_size;
+  int fd;
+  short srv_in[SAMPLES_PER_FRAME];
+  short srv_out[SAMPLES_PER_FRAME / 2];
+#endif /* WIN32 */
+  struct sockaddr_in my_addr;
+  struct sockaddr_in remote_addr;
+  int exit = 0;
+  unsigned int kill_cli_size;
+  short kill_cli_buff[SAMPLES_PER_FRAME];
+  short totalbuf[SAMPLES_PER_FRAME];
+
+  if (option_debug > 100) {
+    DEBUGA_SKYPE("ENTERING FUNC\n", SKYPIAX_P_LOG);
+  }
+  memset(&my_addr, 0, sizeof(my_addr));
+  my_addr.sin_family = AF_INET;
+  my_addr.sin_addr.s_addr = htonl(0x7f000001);  /* use the localhost */
+  my_addr.sin_port = htons(tech_pvt->tcp_srv_port);
+
+  if ((s = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
+    ERRORA("socket Error\n", SKYPIAX_P_LOG);
+    if (option_debug > 100) {
+      DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+    }
+    return NULL;
+  }
+
+  if (bind(s, (struct sockaddr *) &my_addr, sizeof(struct sockaddr)) < 0) {
+    ERRORA("bind Error\n", SKYPIAX_P_LOG);
+    if (option_debug > 100) {
+      DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+    }
+    return NULL;
+  }
+  DEBUGA_SKYPE("started tcp_srv_thread thread.\n", SKYPIAX_P_LOG);
+
+  listen(s, 6);
+
+  sin_size = sizeof(remote_addr);
+  while ((fd = accept(s, (struct sockaddr *) &remote_addr, &sin_size)) > 0) {
+    DEBUGA_SKYPE("ACCEPTED\n", SKYPIAX_P_LOG);
+    if (!running)
+      break;
+    while (tech_pvt->interface_state != SKYPIAX_STATE_DOWN
+           && (tech_pvt->skype_callflow == CALLFLOW_STATUS_INPROGRESS
+               || tech_pvt->skype_callflow == SKYPIAX_STATE_UP)) {
+
+#ifdef WIN32
+      unsigned int fdselect;
+#else
+      int received = 0;
+      int fdselect;
+#endif /* WIN32 */
+      int rt;
+      fd_set fs;
+      struct timeval to;
+
+      if (!running)
+        break;
+      exit = 1;
+
+      fdselect = fd;
+      FD_ZERO(&fs);
+      FD_SET(fdselect, &fs);
+      to.tv_usec = 2000000;     //2000 msec
+      to.tv_sec = 0;
+
+      rt = select(fdselect + 1, &fs, NULL, NULL, &to);
+      if (rt > 0) {
+
+#ifdef WIN32
+        len = recv(fd, (char *) srv_in, 320, 0);    //seems that Skype only sends 320 bytes at time
+#else /* WIN32 */
+        while (received < SAMPLES_PER_FRAME * sizeof(short)) {
+          len = recv(fd, srv_in + (received / sizeof(short)), (SAMPLES_PER_FRAME * sizeof(short)) - received, 0);   //seems that Skype only sends 320 bytes at time
+          received += len;
+          if (len == 0)
+            break;
+        }
+        if (len)
+          len = received;
+#endif /* WIN32 */
+
+        if ((SAMPLERATE_SKYPIAX - 8000) == 0) {
+
+          ERRORA("tech_pvt->audiopipe[0] = %d\n", SKYPIAX_P_LOG, tech_pvt->audiopipe[0]);
+          ERRORA("tech_pvt->audiopipe[1] = %d\n", SKYPIAX_P_LOG, tech_pvt->audiopipe[1]);
+          if (len > 0) {
+            a = 0;
+            for (i = 0; i < len / sizeof(short); i++) {
+              srv_out[a] = srv_in[i];
+              i++;
+              a++;
+            }
+
+            if (!tech_pvt->audiobuf_is_loaded) {
+              for (i = 0; i < (len / sizeof(short)) / 2; i++) {
+                tech_pvt->audiobuf[i] = srv_out[i];
+              }
+              tech_pvt->audiobuf_is_loaded = 1;
+            } else {
+              unsigned int howmany;
+
+              howmany = len / 2 / 2;
+              for (i = 0; i < howmany; i++)
+                totalbuf[i] = tech_pvt->audiobuf[i];
+
+              howmany = len / 2 / 2;
+              for (a = 0; a < howmany; a++) {
+                totalbuf[i] = srv_out[a];
+                i++;
+              }
+
+              howmany = len;
+
+#ifdef WIN32
+              skypiax_file_write(tech_pvt->audiopipe[1], totalbuf, &howmany);
+#else /* WIN32 */
+              howmany = write(tech_pvt->audiopipe[1], totalbuf, howmany);
+#endif /* WIN32 */
+              tech_pvt->audiobuf_is_loaded = 0;
+            }
+
+          } else if (len == 0) {
+            DEBUGA_SKYPE("Skype client GONE\n", SKYPIAX_P_LOG);
+            skypiax_sleep(1000);
+          } else {
+            ERRORA("len=%d\n", SKYPIAX_P_LOG, len);
+            exit = 1;
+            break;
+          }
+        } else if (SAMPLERATE_SKYPIAX == 16000) {
+
+          //ERRORA("tech_pvt->audiopipe[0] = %d\n", SKYPIAX_P_LOG, tech_pvt->audiopipe[0]);
+          //ERRORA("tech_pvt->audiopipe[1] = %d\n", SKYPIAX_P_LOG, tech_pvt->audiopipe[1]);
+          if (len > 0) {
+            if (len == SAMPLES_PER_FRAME * sizeof(short)) {
+#ifdef WIN32
+              unsigned int howmany;
+
+              howmany = len;
+              skypiax_file_write(tech_pvt->audiopipe[1], srv_in, &howmany);
+#else /* WIN32 */
+              len = write(tech_pvt->audiopipe[1], srv_in, len);
+#endif /* WIN32 */
+            } else if (len == SAMPLES_PER_FRAME * sizeof(short) / 2) {
+              if (!tech_pvt->audiobuf_is_loaded) {
+                for (i = 0; i < (len / sizeof(short)); i++) {
+                  tech_pvt->audiobuf[i] = srv_in[i];
+                }
+                tech_pvt->audiobuf_is_loaded = 1;
+              } else {
+                unsigned int howmany = SAMPLES_PER_FRAME * sizeof(short);
+
+                for (i = 0; i < (len / sizeof(short)); i++)
+                  totalbuf[i] = tech_pvt->audiobuf[i];
+                for (a = 0; a < (len / sizeof(short)); a++) {
+                  totalbuf[i] = srv_in[a];
+                  i++;
+                }
+
+#ifdef WIN32
+                skypiax_file_write(tech_pvt->audiopipe[1], totalbuf, &howmany);
+#else /* WIN32 */
+                howmany = write(tech_pvt->audiopipe[1], totalbuf, howmany);
+#endif /* WIN32 */
+                tech_pvt->audiobuf_is_loaded = 0;
+              }
+
+            } else {
+              ERRORA("SRV len=%d\n", SKYPIAX_P_LOG, len);
+            }
+
+          } else if (len == 0) {
+            DEBUGA_SKYPE("Skype client GONE\n", SKYPIAX_P_LOG);
+            skypiax_sleep(1000);
+          } else {
+            ERRORA("SRV len=%d\n", SKYPIAX_P_LOG, len);
+            exit = 1;
+            break;
+          }
+
+        } else {
+          ERRORA("SAMPLERATE_SKYPIAX can only be 8000 or 16000\n", SKYPIAX_P_LOG);
+        }
+      } else {
+        if (rt)
+          ERRORA("SRV rt=%d\n", SKYPIAX_P_LOG, rt);
+        skypiax_sleep(10000);
+      }
+    }
+#ifdef WIN32
+    kill_cli_size = SAMPLES_PER_FRAME * sizeof(short);
+    skypiax_file_write(tech_pvt->audiopipe[1], kill_cli_buff, &kill_cli_size);
+    kill_cli_size = SAMPLES_PER_FRAME * sizeof(short);
+    skypiax_file_write(tech_pvt->audioskypepipe[1], kill_cli_buff, &kill_cli_size);
+    tech_pvt->interface_state = SKYPIAX_STATE_DOWN;
+    kill_cli_size = SAMPLES_PER_FRAME * sizeof(short);
+    skypiax_file_write(tech_pvt->audiopipe[1], kill_cli_buff, &kill_cli_size);
+    kill_cli_size = SAMPLES_PER_FRAME * sizeof(short);
+    skypiax_file_write(tech_pvt->audioskypepipe[1], kill_cli_buff, &kill_cli_size);
+#else /* WIN32 */
+    kill_cli_size = SAMPLES_PER_FRAME * sizeof(short);
+    len = write(tech_pvt->audiopipe[1], kill_cli_buff, kill_cli_size);
+    kill_cli_size = SAMPLES_PER_FRAME * sizeof(short);
+    len = write(tech_pvt->audioskypepipe[1], kill_cli_buff, kill_cli_size);
+    tech_pvt->interface_state = SKYPIAX_STATE_DOWN;
+    kill_cli_size = SAMPLES_PER_FRAME * sizeof(short);
+    len = write(tech_pvt->audiopipe[1], kill_cli_buff, kill_cli_size);
+    kill_cli_size = SAMPLES_PER_FRAME * sizeof(short);
+    len = write(tech_pvt->audioskypepipe[1], kill_cli_buff, kill_cli_size);
+#endif /* WIN32 */
+    DEBUGA_SKYPE("Skype client GONE\n", SKYPIAX_P_LOG);
+#ifndef WIN32
+    close(fd);
+#else
+    closesocket(fd);
+#endif
+    if (exit)
+      break;
+  }
+
+  DEBUGA_SKYPE("server (I am it) GONE\n", SKYPIAX_P_LOG);
+#ifndef WIN32
+  close(s);
+#else
+  closesocket(s);
+#endif
+  if (option_debug > 100) {
+    DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+  }
+  return NULL;
+}
+void * skypiax_do_tcp_cli_thread_func(void *obj)
+{
+  private_t *tech_pvt = obj;
+  int s;
+  struct sockaddr_in my_addr;
+  struct sockaddr_in remote_addr;
+  unsigned int got;
+#ifdef WIN32
+  unsigned int len;
+  unsigned int i;
+  unsigned int a;
+  int sin_size;
+  unsigned int fd;
+  short cli_out[SAMPLES_PER_FRAME * 2];
+  short cli_in[SAMPLES_PER_FRAME];
+#else
+  int len;
+  int i;
+  int a;
+  unsigned int sin_size;
+  int fd;
+  short cli_out[SAMPLES_PER_FRAME * 2];
+  short cli_in[SAMPLES_PER_FRAME];
+#endif /* WIN32 */
+
+  if (option_debug > 100) {
+    DEBUGA_SKYPE("ENTERING FUNC\n", SKYPIAX_P_LOG);
+  }
+  memset(&my_addr, 0, sizeof(my_addr));
+  my_addr.sin_family = AF_INET;
+  my_addr.sin_addr.s_addr = htonl(0x7f000001);  /* use the localhost */
+  my_addr.sin_port = htons(tech_pvt->tcp_cli_port); //FIXME configurable!
+
+  if ((s = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
+    ERRORA("socket Error\n", SKYPIAX_P_LOG);
+    if (option_debug > 100) {
+      DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+    }
+    return NULL;
+  }
+
+  if (bind(s, (struct sockaddr *) &my_addr, sizeof(struct sockaddr)) < 0) {
+    ERRORA("bind Error\n", SKYPIAX_P_LOG);
+    if (option_debug > 100) {
+      DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+    }
+#ifndef WIN32
+    close(s);
+#else
+    closesocket(s);
+#endif
+    return NULL;
+  }
+  DEBUGA_SKYPE("started tcp_cli_thread thread.\n", SKYPIAX_P_LOG);
+
+  listen(s, 6);
+
+  sin_size = sizeof(remote_addr);
+  while ((fd = accept(s, (struct sockaddr *) &remote_addr, &sin_size)) > 0) {
+    DEBUGA_SKYPE("ACCEPTED\n", SKYPIAX_P_LOG);
+    if (!running)
+      break;
+    while (tech_pvt->interface_state != SKYPIAX_STATE_DOWN
+           && (tech_pvt->skype_callflow == CALLFLOW_STATUS_INPROGRESS
+               || tech_pvt->skype_callflow == SKYPIAX_STATE_UP)) {
+#ifdef WIN32
+      unsigned int fdselect;
+#else
+      int fdselect;
+#endif /* WIN32 */
+      int rt;
+      fd_set fs;
+      struct timeval to;
+
+      if (!running)
+        break;
+#ifdef WIN32
+      fdselect = fd;            //cannot select on audioskypepipe, let's select on socket write
+#else /* WIN32 */
+      fdselect = tech_pvt->audioskypepipe[0];
+#endif /* WIN32 */
+      FD_ZERO(&fs);
+      FD_SET(fdselect, &fs);
+      to.tv_usec = 2000000;     //2000 msec
+      to.tv_sec = 0;
+
+#ifdef WIN32
+      rt = select(fdselect + 1, NULL, &fs, NULL, &to);  //cannot select on audioskypepipe, let's select on socket write
+#else /* WIN32 */
+      rt = select(fdselect + 1, &fs, NULL, NULL, &to);
+#endif /* WIN32 */
+      if (rt > 0) {
+        if ((SAMPLERATE_SKYPIAX - 8000) == 0) {
+          got = SAMPLES_PER_FRAME * sizeof(short);
+#ifdef WIN32
+          skypiax_file_read(tech_pvt->audioskypepipe[0], cli_in, &got);
+#else /* WIN32 */
+          got = read(tech_pvt->audioskypepipe[0], cli_in, got);
+#endif /* WIN32 */
+
+          if (got > 0) {
+            a = 0;
+            for (i = 0; i < got / sizeof(short); i++) {
+              cli_out[a] = cli_in[i];
+              a++;
+              cli_out[a] = cli_in[i];
+              a++;
+            }
+
+#ifdef WIN32
+            len = send(fd, (char *) cli_out, got * 2, 0);
+#else /* WIN32 */
+            len = send(fd, cli_out, got * 2, 0);
+#endif /* WIN32 */
+            if (len == 0) {
+              ERRORA("Skype server GONE\n", SKYPIAX_P_LOG);
+              break;
+            }
+          } else {
+            skypiax_sleep(1000);
+            ERRORA("CLI PIPE give us: %u\n", SKYPIAX_P_LOG, got);
+          }
+        } else if (SAMPLERATE_SKYPIAX == 16000) {
+          got = SAMPLES_PER_FRAME * sizeof(short);
+#ifdef WIN32
+          skypiax_file_read(tech_pvt->audioskypepipe[0], cli_in, &got);
+#else /* WIN32 */
+          got = read(tech_pvt->audioskypepipe[0], cli_in, got);
+#endif /* WIN32 */
+
+          if (got > 0) {
+            if (got != SAMPLES_PER_FRAME * sizeof(short))
+              ERRORA("CLI PIPE read %d\n", SKYPIAX_P_LOG, got);
+
+#ifdef WIN32
+            len = send(fd, (char *) cli_in, got, 0);
+#else /* WIN32 */
+            len = send(fd, cli_in, got, 0);
+#endif /* WIN32 */
+
+            if (len != got && len != -1)
+              DEBUGA_SKYPE("CLI PIPE send %d\n", SKYPIAX_P_LOG, len);
+
+            if (len == 0) {
+              ERRORA("Skype server GONE\n", SKYPIAX_P_LOG);
+              break;
+            }
+          } else {
+            skypiax_sleep(1000);
+            ERRORA("CLI PIPE give us: %u\n", SKYPIAX_P_LOG, got);
+          }
+        }
+
+      } else {
+        skypiax_sleep(1000);
+        if (rt)
+          ERRORA("select give us: %u\n", SKYPIAX_P_LOG, rt);
+      }
+
+    }
+    DEBUGA_SKYPE("Skype server GONE\n", SKYPIAX_P_LOG);
+#ifndef WIN32
+    close(fd);
+#else
+    closesocket(fd);
+#endif
+    break;
+  }
+
+  DEBUGA_SKYPE("client (I am it) GONE\n", SKYPIAX_P_LOG);
+#ifndef WIN32
+  close(s);
+#else
+  closesocket(s);
+#endif
+  if (option_debug > 100) {
+    DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+  }
+  return NULL;
+}
+
+int skypiax_skypeaudio_init(private_t * tech_pvt)
+{
+
+#ifdef WIN32
+  switch_status_t rv;
+  rv =
+    switch_file_pipe_create(&tech_pvt->audiopipe[0], &tech_pvt->audiopipe[1],
+                            skypiax_module_pool);
+  rv =
+    switch_file_pipe_create(&tech_pvt->audioskypepipe[0], &tech_pvt->audioskypepipe[1],
+                            skypiax_module_pool);
+#else /* WIN32 */
+  if (pipe(tech_pvt->audiopipe)) {
+    fcntl(tech_pvt->audiopipe[0], F_SETFL, O_NONBLOCK);
+    fcntl(tech_pvt->audiopipe[1], F_SETFL, O_NONBLOCK);
+  }
+  if (pipe(tech_pvt->audioskypepipe)) {
+    fcntl(tech_pvt->audioskypepipe[0], F_SETFL, O_NONBLOCK);
+    fcntl(tech_pvt->audioskypepipe[1], F_SETFL, O_NONBLOCK);
+  }
+#endif /* WIN32 */
+
+  if (option_debug > 10) {
+    DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+  }
+  return 0;
+}
+
+int skypiax_skypeaudio_read(private_t * tech_pvt)
+{
+  //private_t *p;
+  unsigned int samples;
+  int rt;
+#ifndef WIN32
+  int fdselect;
+  fd_set fs;
+  struct timeval to;
+#endif /* WIN32 */
+
+#ifdef WIN32
+  rt = 1;
+#else /* WIN32 */
+  fdselect = tech_pvt->audiopipe[0];
+  FD_ZERO(&fs);
+  FD_SET(fdselect, &fs);
+  to.tv_usec = 2000000;         //2000 msec
+  to.tv_sec = 0;
+  rt = select(fdselect + 1, &fs, NULL, NULL, &to);
+#endif /* WIN32 */
+  if (rt > 0) {
+    samples = SAMPLES_PER_FRAME * sizeof(short);
+#ifdef WIN32
+    skypiax_file_read(tech_pvt->audiopipe[0], tech_pvt->read_frame.data, &samples);
+#else /* WIN32 */
+    samples = read(tech_pvt->audiopipe[0], tech_pvt->read_frame.data, samples);
+#endif /* WIN32 */
+
+    //ERRORA("tech_pvt->audiopipe[0] = %d\n", SKYPIAX_P_LOG, tech_pvt->audiopipe[0]);
+    //ERRORA("tech_pvt->audiopipe[1] = %d\n", SKYPIAX_P_LOG, tech_pvt->audiopipe[1]);
+    if (samples != SAMPLES_PER_FRAME * sizeof(short)) {
+      //if (samples)
+      //ERRORA("SRV PIPE READ=====> NOT GOOD samples=%u expected=%lu\n", SKYPIAX_P_LOG, samples, SAMPLES_PER_FRAME * sizeof(short));
+      //assert(samples == SAMPLES_PER_FRAME * sizeof(short)); //do a crash, please
+      return 0;
+    } else {
+      /* A real frame */
+      tech_pvt->read_frame.datalen = samples;
+    }
+  } else {
+    if (rt)
+      DEBUGA_SKYPE("select returned %d\n", SKYPIAX_P_LOG, rt);
+    //do nothing
+  }
+  return 1;
+}
+
+#ifdef WIN32
+
+enum {
+  SKYPECONTROLAPI_ATTACH_SUCCESS = 0,   /*  Client is successfully 
+                                           attached and API window handle can be found
+                                           in wParam parameter */
+  SKYPECONTROLAPI_ATTACH_PENDING_AUTHORIZATION = 1, /*  Skype has acknowledged
+                                                       connection request and is waiting
+                                                       for confirmation from the user. */
+  /*  The client is not yet attached 
+   * and should wait for SKYPECONTROLAPI_ATTACH_SUCCESS message */
+  SKYPECONTROLAPI_ATTACH_REFUSED = 2,   /*  User has explicitly
+                                           denied access to client */
+  SKYPECONTROLAPI_ATTACH_NOT_AVAILABLE = 3, /*  API is not available
+                                               at the moment.
+                                               For example, this happens when no user
+                                               is currently logged in. */
+  /*  Client should wait for 
+   * SKYPECONTROLAPI_ATTACH_API_AVAILABLE 
+   * broadcast before making any further */
+  /*  connection attempts. */
+  SKYPECONTROLAPI_ATTACH_API_AVAILABLE = 0x8001
+};
+
+char
+ *strsep(char **stringp, const char *delim)
+{
+  char *res;
+
+  if (!stringp || !*stringp || !**stringp)
+    return (char *) 0;
+
+  res = *stringp;
+  while (**stringp && !strchr(delim, **stringp))
+    ++(*stringp);
+
+  if (**stringp) {
+    **stringp = '\0';
+    ++(*stringp);
+  }
+
+  return res;
+}
+
+LRESULT APIENTRY skypiax_skype_present(HWND hWindow, UINT uiMessage, WPARAM uiParam,
+                                       LPARAM ulParam)
+{
+  LRESULT lReturnCode;
+  int fIssueDefProc;
+  private_t *tech_pvt = NULL;
+
+  lReturnCode = 0;
+  fIssueDefProc = 0;
+  tech_pvt = (private_t *) GetWindowLong(hWindow, GWL_USERDATA);
+  switch (uiMessage) {
+  case WM_CREATE:
+    tech_pvt = (private_t *) ((LPCREATESTRUCT) ulParam)->lpCreateParams;
+    SetWindowLong(hWindow, GWL_USERDATA, (LONG) tech_pvt);
+    DEBUGA_SKYPE("got CREATE\n", SKYPIAX_P_LOG);
+    break;
+  case WM_DESTROY:
+    NOTICA("got DESTROY\n", SKYPIAX_P_LOG);
+    tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle = NULL;
+    PostQuitMessage(0);
+    break;
+  case WM_COPYDATA:
+    if (tech_pvt->SkypiaxHandles.win32_hGlobal_SkypeAPIWindowHandle == (HWND) uiParam) {
+      unsigned int howmany;
+      char msg_from_skype[2048];
+
+      PCOPYDATASTRUCT poCopyData = (PCOPYDATASTRUCT) ulParam;
+
+      memset(msg_from_skype, '\0', sizeof(msg_from_skype));
+      strncpy(msg_from_skype, (const char *) poCopyData->lpData,
+              sizeof(msg_from_skype) - 2);
+
+      howmany = strlen(msg_from_skype) + 1;
+      skypiax_file_write(tech_pvt->SkypiaxHandles.fdesc[1], msg_from_skype, &howmany);
+      //NOTICA("From Skype API: %s\n", SKYPIAX_P_LOG, (const char *) poCopyData->lpData);
+      lReturnCode = 1;
+    }
+    break;
+  default:
+    if (tech_pvt && tech_pvt->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIAttach) {
+      if (uiMessage ==
+          tech_pvt->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIAttach) {
+        switch (ulParam) {
+        case SKYPECONTROLAPI_ATTACH_SUCCESS:
+          if (!tech_pvt->SkypiaxHandles.api_connected) {
+            DEBUGA_SKYPE("\n\n\tConnected to Skype API!\n", SKYPIAX_P_LOG);
+            tech_pvt->SkypiaxHandles.win32_hGlobal_SkypeAPIWindowHandle = (HWND) uiParam;
+            tech_pvt->SkypiaxHandles.win32_hGlobal_SkypeAPIWindowHandle =
+              tech_pvt->SkypiaxHandles.win32_hGlobal_SkypeAPIWindowHandle;
+          }
+          break;
+        case SKYPECONTROLAPI_ATTACH_PENDING_AUTHORIZATION:
+          DEBUGA_SKYPE
+            ("\n\n\tIf I do not (almost) immediately connect to Skype API,\n\tplease give the Skype client authorization to be connected \n\tby Asterisk and to not ask you again.\n\n",
+             SKYPIAX_P_LOG);
+          skypiax_sleep(5000);
+          if (!tech_pvt->SkypiaxHandles.api_connected) {
+            SendMessage(HWND_BROADCAST,
+                        tech_pvt->SkypiaxHandles.
+                        win32_uiGlobal_MsgID_SkypeControlAPIDiscover,
+                        (WPARAM) tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle,
+                        0);
+          }
+          break;
+        case SKYPECONTROLAPI_ATTACH_REFUSED:
+          ERRORA("Skype client refused to be connected by Skypiax!\n", SKYPIAX_P_LOG);
+          break;
+        case SKYPECONTROLAPI_ATTACH_NOT_AVAILABLE:
+          ERRORA("Skype API not (yet?) available\n", SKYPIAX_P_LOG);
+          break;
+        case SKYPECONTROLAPI_ATTACH_API_AVAILABLE:
+          DEBUGA_SKYPE("Skype API available\n", SKYPIAX_P_LOG);
+          skypiax_sleep(5000);
+          if (!tech_pvt->SkypiaxHandles.api_connected) {
+            SendMessage(HWND_BROADCAST,
+                        tech_pvt->SkypiaxHandles.
+                        win32_uiGlobal_MsgID_SkypeControlAPIDiscover,
+                        (WPARAM) tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle,
+                        0);
+          }
+          break;
+        default:
+          WARNINGA("GOT AN UNKNOWN SKYPE WINDOWS MSG\n", SKYPIAX_P_LOG);
+        }
+        lReturnCode = 1;
+        break;
+      }
+    }
+    fIssueDefProc = 1;
+    break;
+  }
+  if (fIssueDefProc)
+    lReturnCode = DefWindowProc(hWindow, uiMessage, uiParam, ulParam);
+  return (lReturnCode);
+}
+
+int win32_Initialize_CreateWindowClass(private_t * tech_pvt)
+{
+  unsigned char *paucUUIDString;
+  RPC_STATUS lUUIDResult;
+  int fReturnStatus;
+  UUID oUUID;
+
+  fReturnStatus = 0;
+  lUUIDResult = UuidCreate(&oUUID);
+  tech_pvt->SkypiaxHandles.win32_hInit_ProcessHandle =
+    (HINSTANCE) OpenProcess(PROCESS_DUP_HANDLE, FALSE, GetCurrentProcessId());
+  if (tech_pvt->SkypiaxHandles.win32_hInit_ProcessHandle != NULL
+      && (lUUIDResult == RPC_S_OK || lUUIDResult == RPC_S_UUID_LOCAL_ONLY)) {
+    if (UuidToString(&oUUID, &paucUUIDString) == RPC_S_OK) {
+      WNDCLASS oWindowClass;
+
+      strcpy(tech_pvt->SkypiaxHandles.win32_acInit_WindowClassName, "Skype-API-Skypiax-");
+      strcat(tech_pvt->SkypiaxHandles.win32_acInit_WindowClassName,
+             (char *) paucUUIDString);
+
+      oWindowClass.style = CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS;
+      oWindowClass.lpfnWndProc = (WNDPROC) & skypiax_skype_present;
+      oWindowClass.cbClsExtra = 0;
+      oWindowClass.cbWndExtra = 0;
+      oWindowClass.hInstance = tech_pvt->SkypiaxHandles.win32_hInit_ProcessHandle;
+      oWindowClass.hIcon = NULL;
+      oWindowClass.hCursor = NULL;
+      oWindowClass.hbrBackground = NULL;
+      oWindowClass.lpszMenuName = NULL;
+      oWindowClass.lpszClassName = tech_pvt->SkypiaxHandles.win32_acInit_WindowClassName;
+
+      if (RegisterClass(&oWindowClass) != 0)
+        fReturnStatus = 1;
+
+      RpcStringFree(&paucUUIDString);
+    }
+  }
+  if (fReturnStatus == 0)
+    CloseHandle(tech_pvt->SkypiaxHandles.win32_hInit_ProcessHandle),
+      tech_pvt->SkypiaxHandles.win32_hInit_ProcessHandle = NULL;
+  return (fReturnStatus);
+}
+
+void win32_DeInitialize_DestroyWindowClass(private_t * tech_pvt)
+{
+  UnregisterClass(tech_pvt->SkypiaxHandles.win32_acInit_WindowClassName,
+                  tech_pvt->SkypiaxHandles.win32_hInit_ProcessHandle);
+  CloseHandle(tech_pvt->SkypiaxHandles.win32_hInit_ProcessHandle),
+    tech_pvt->SkypiaxHandles.win32_hInit_ProcessHandle = NULL;
+}
+
+int win32_Initialize_CreateMainWindow(private_t * tech_pvt)
+{
+  tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle =
+    CreateWindowEx(WS_EX_APPWINDOW | WS_EX_WINDOWEDGE,
+                   tech_pvt->SkypiaxHandles.win32_acInit_WindowClassName, "",
+                   WS_BORDER | WS_SYSMENU | WS_MINIMIZEBOX, CW_USEDEFAULT, CW_USEDEFAULT,
+                   128, 128, NULL, 0, tech_pvt->SkypiaxHandles.win32_hInit_ProcessHandle,
+                   tech_pvt);
+  return (tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle != NULL ? 1 : 0);
+}
+
+void win32_DeInitialize_DestroyMainWindow(private_t * tech_pvt)
+{
+  if (tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle != NULL)
+    DestroyWindow(tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle),
+      tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle = NULL;
+}
+
+DWORD win32_dwThreadId;
+
+void * skypiax_do_skypeapi_thread_func(void *obj)
+{
+  /*  create window class */
+  /*    create dummy/hidden window for processing messages */
+  /*      run message loop thread */
+  /*        do application control until exit */
+  /*        exit: send QUIT message to our own window */
+  /*              wait until thred terminates */
+  /*    destroy main window */
+  /*  destroy window class */
+
+  private_t *tech_pvt = obj;
+
+  switch_file_pipe_create(&tech_pvt->SkypiaxHandles.fdesc[0],
+                          &tech_pvt->SkypiaxHandles.fdesc[1], skypiax_module_pool);
+  tech_pvt->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIAttach =
+    RegisterWindowMessage("SkypeControlAPIAttach");
+  tech_pvt->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIDiscover =
+    RegisterWindowMessage("SkypeControlAPIDiscover");
+
+  skypiax_sleep(2000000);
+
+  if (tech_pvt->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIAttach != 0
+      && tech_pvt->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIDiscover != 0) {
+    if (win32_Initialize_CreateWindowClass(tech_pvt)) {
+      if (win32_Initialize_CreateMainWindow(tech_pvt)) {
+        if (SendMessage
+            (HWND_BROADCAST,
+             tech_pvt->SkypiaxHandles.win32_uiGlobal_MsgID_SkypeControlAPIDiscover,
+             (WPARAM) tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle, 0) != 0) {
+          tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle =
+            tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle;
+          while (1) {
+            MSG oMessage;
+            if (!running)
+              break;
+            while (GetMessage(&oMessage, 0, 0, 0)) {
+              TranslateMessage(&oMessage);
+              DispatchMessage(&oMessage);
+            }
+          }
+        }
+        win32_DeInitialize_DestroyMainWindow(tech_pvt);
+      }
+      win32_DeInitialize_DestroyWindowClass(tech_pvt);
+    }
+  }
+
+  return NULL;
+}
+
+#else /* NOT WIN32 */
+
+int X11_errors_handler(Display * dpy, XErrorEvent * err)
+{
+  (void) dpy;
+  private_t *tech_pvt = NULL;
+
+  xerror = err->error_code;
+  ERRORA("Received error code %d from X Server\n\n", SKYPIAX_P_LOG, xerror);
+  return 0;                     /*  ignore the error */
+}
+
+static void X11_errors_trap(void)
+{
+  xerror = 0;
+  old_handler = XSetErrorHandler(X11_errors_handler);
+}
+
+static int X11_errors_untrap(void)
+{
+  XSetErrorHandler(old_handler);
+  return (xerror != BadValue) && (xerror != BadWindow);
+}
+
+int skypiax_skype_send_message(struct SkypiaxHandles *SkypiaxHandles,
+                               const char *message_P)
+{
+
+  Window w_P;
+  Display *disp;
+  Window handle_P;
+  int ok;
+  private_t *tech_pvt = NULL;
+
+  w_P = SkypiaxHandles->skype_win;
+  disp = SkypiaxHandles->disp;
+  handle_P = SkypiaxHandles->win;
+
+  Atom atom1 = XInternAtom(disp, "SKYPECONTROLAPI_MESSAGE_BEGIN", False);
+  Atom atom2 = XInternAtom(disp, "SKYPECONTROLAPI_MESSAGE", False);
+  unsigned int pos = 0;
+  unsigned int len = strlen(message_P);
+  XEvent e;
+
+  memset(&e, 0, sizeof(e));
+  e.xclient.type = ClientMessage;
+  e.xclient.message_type = atom1;   /*  leading message */
+  e.xclient.display = disp;
+  e.xclient.window = handle_P;
+  e.xclient.format = 8;
+
+  X11_errors_trap();
+  //XLockDisplay(disp);
+  do {
+    unsigned int i;
+    for (i = 0; i < 20 && i + pos <= len; ++i)
+      e.xclient.data.b[i] = message_P[i + pos];
+    XSendEvent(disp, w_P, False, 0, &e);
+
+    e.xclient.message_type = atom2; /*  following messages */
+    pos += i;
+  } while (pos <= len);
+
+  XSync(disp, False);
+  ok = X11_errors_untrap();
+
+  if (!ok)
+    ERRORA("Sending message failed with status %d\n", SKYPIAX_P_LOG, xerror);
+  //XUnlockDisplay(disp);
+
+  return 1;
+}
+
+int skypiax_skype_present(struct SkypiaxHandles *SkypiaxHandles)
+{
+  Atom skype_inst = XInternAtom(SkypiaxHandles->disp, "_SKYPE_INSTANCE", True);
+
+  Atom type_ret;
+  int format_ret;
+  unsigned long nitems_ret;
+  unsigned long bytes_after_ret;
+  unsigned char *prop;
+  int status;
+  private_t *tech_pvt = NULL;
+
+  X11_errors_trap();
+  //XLockDisplay(disp);
+  status =
+    XGetWindowProperty(SkypiaxHandles->disp, DefaultRootWindow(SkypiaxHandles->disp),
+                       skype_inst, 0, 1, False, XA_WINDOW, &type_ret, &format_ret,
+                       &nitems_ret, &bytes_after_ret, &prop);
+  //XUnlockDisplay(disp);
+  X11_errors_untrap();
+
+  /*  sanity check */
+  if (status != Success || format_ret != 32 || nitems_ret != 1) {
+    SkypiaxHandles->skype_win = (Window) - 1;
+    DEBUGA_SKYPE("Skype instance not found\n", SKYPIAX_P_LOG);
+    return 0;
+  }
+
+  SkypiaxHandles->skype_win = *(const unsigned long *) prop & 0xffffffff;
+  DEBUGA_SKYPE("Skype instance found with id #%d\n", SKYPIAX_P_LOG,
+               (unsigned int) SkypiaxHandles->skype_win);
+  return 1;
+}
+
+void skypiax_skype_clean_disp(void *data)
+{
+
+  int *dispptr;
+  int disp;
+  private_t *tech_pvt = NULL;
+
+  dispptr = data;
+  disp = *dispptr;
+
+  if (disp) {
+    DEBUGA_SKYPE("to be destroyed disp %d\n", SKYPIAX_P_LOG, disp);
+    close(disp);
+    DEBUGA_SKYPE("destroyed disp\n", SKYPIAX_P_LOG);
+  } else {
+    DEBUGA_SKYPE("NOT destroyed disp\n", SKYPIAX_P_LOG);
+  }
+  DEBUGA_SKYPE("OUT destroyed disp\n", SKYPIAX_P_LOG);
+  skypiax_sleep(1000);
+}
+
+void * skypiax_do_skypeapi_thread_func(void *obj)
+{
+
+  private_t *tech_pvt = obj;
+  struct SkypiaxHandles *SkypiaxHandles;
+  char buf[512];
+  Display *disp = NULL;
+  Window root = -1;
+  Window win = -1;
+
+  DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);
+
+  if (pipe(tech_pvt->SkypiaxHandles.fdesc)) {
+    fcntl(tech_pvt->SkypiaxHandles.fdesc[0], F_SETFL, O_NONBLOCK);
+    fcntl(tech_pvt->SkypiaxHandles.fdesc[1], F_SETFL, O_NONBLOCK);
+  }
+  SkypiaxHandles = &tech_pvt->SkypiaxHandles;
+  disp = XOpenDisplay(tech_pvt->X11_display);
+  if (!disp) {
+    ERRORA("Cannot open X Display '%s', exiting skype thread\n", SKYPIAX_P_LOG,
+           tech_pvt->X11_display);
+    running=0;
+    return NULL;
+  } else {
+    DEBUGA_SKYPE("X Display '%s' opened\n", SKYPIAX_P_LOG, tech_pvt->X11_display);
+  }
+
+  int xfd;
+  xfd = XConnectionNumber(disp);
+  fcntl(xfd, F_SETFD, FD_CLOEXEC);
+
+  //FIXME pthread_cleanup_push(skypiax_skype_clean_disp, &xfd);
+
+  SkypiaxHandles->disp = disp;
+
+  if (skypiax_skype_present(SkypiaxHandles)) {
+    root = DefaultRootWindow(disp);
+    win =
+      XCreateSimpleWindow(disp, root, 0, 0, 1, 1, 0,
+                          BlackPixel(disp, DefaultScreen(disp)), BlackPixel(disp,
+                                                                            DefaultScreen
+                                                                            (disp)));
+
+    SkypiaxHandles->win = win;
+
+    snprintf(buf, 512, "NAME skypiax");
+
+    if (!skypiax_skype_send_message(SkypiaxHandles, buf)) {
+      ERRORA
+        ("Sending message failed - probably Skype crashed. Please run/restart Skype manually and launch Skypiax again\n",
+         SKYPIAX_P_LOG);
+      DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+    running=0;
+      return NULL;
+    }
+
+    snprintf(buf, 512, "PROTOCOL 6");
+    if (!skypiax_skype_send_message(SkypiaxHandles, buf)) {
+      ERRORA
+        ("Sending message failed - probably Skype crashed. Please run/restart Skype manually and launch Skypiax again\n",
+         SKYPIAX_P_LOG);
+      DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+    running=0;
+      return NULL;
+    }
+
+    /* perform an events loop */
+    XEvent an_event;
+    char buf[21];               /*  can't be longer */
+    char buffer[17000];
+    char *b;
+    int i;
+
+    b = buffer;
+
+    while (1) {
+      XNextEvent(disp, &an_event);
+      if (!running)
+        break;
+      switch (an_event.type) {
+      case ClientMessage:
+
+        if (an_event.xclient.format != 8)
+          break;
+
+        for (i = 0; i < 20 && an_event.xclient.data.b[i] != '\0'; ++i)
+          buf[i] = an_event.xclient.data.b[i];
+
+        buf[i] = '\0';
+
+        strcat(buffer, buf);
+
+        if (i < 20) {           /* last fragment */
+          unsigned int howmany;
+
+          howmany = strlen(b) + 1;
+
+          howmany = write(SkypiaxHandles->fdesc[1], b, howmany);
+          memset(buffer, '\0', 17000);
+        }
+
+        break;
+      default:
+        break;
+      }
+    }
+  } else {
+    ERRORA
+      ("Skype is not running, maybe crashed. Please run/restart Skype and relaunch Skypiax\n",
+       SKYPIAX_P_LOG);
+    running=0;
+    return NULL;
+  }
+  DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+    running=0;
+  return NULL;
+
+}
+#endif // WIN32
+
+int skypiax_skype_write(private_t * tech_pvt, char *msg_to_skype)
+{
+#ifdef WIN32
+  static char acInputRow[1024];
+  COPYDATASTRUCT oCopyData;
+#else /* WIN32 */
+  struct SkypiaxHandles *SkypiaxHandles;
+#endif /* WIN32 */
+
+  DEBUGA_SKYPE("SENDING: |||%s||||\n", SKYPIAX_P_LOG, msg_to_skype);
+
+#ifdef WIN32
+
+  if (option_debug > 100) {
+    DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);
+  }
+  sprintf(acInputRow, "%s", msg_to_skype);
+  if (option_debug > 100)
+    DEBUGA_SKYPE("acInputRow: |||%s||||\n", SKYPIAX_P_LOG, acInputRow);
+  /*  send command to skype */
+  oCopyData.dwData = 0;
+  oCopyData.lpData = acInputRow;
+  oCopyData.cbData = strlen(acInputRow) + 1;
+  if (oCopyData.cbData != 1) {
+    if (SendMessage
+        (tech_pvt->SkypiaxHandles.win32_hGlobal_SkypeAPIWindowHandle, WM_COPYDATA,
+         (WPARAM) tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle,
+         (LPARAM) & oCopyData) == FALSE) {
+      ERRORA
+        ("Sending message failed - probably Skype crashed.\n\nPlease shutdown Skypiax (Asterisk), then restart Skype from the menu, then launch Skypiax and try again.\n",
+         SKYPIAX_P_LOG);
+      if (option_debug > 100) {
+        DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+      }
+      return -1;
+    }
+  }
+#else /* WIN32 */
+
+  if (option_debug > 100) {
+    DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);
+  }
+  SkypiaxHandles = &tech_pvt->SkypiaxHandles;
+
+  if (!skypiax_skype_send_message(SkypiaxHandles, msg_to_skype)) {
+    ERRORA
+      ("Sending message failed - probably Skype crashed.\n\nPlease shutdown Skypiax (Asterisk), then restart Skype from the menu, then launch Skypiax and try again.\n",
+       SKYPIAX_P_LOG);
+    if (option_debug > 100) {
+      DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+    }
+    return -1;
+  }
+#endif /* WIN32 */
+
+  if (option_debug > 100) {
+    DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+  }
+  return 0;
+
+}
+
+int skypiax_skype_read(private_t * tech_pvt)
+{
+
+  char read_from_pipe[4096];
+  char messaggio[4096];
+  char messaggio_2[4096];
+  char *buf, obj[512] = "", id[512] = "", prop[512] = "", value[512] = "", *where;
+  char **stringp = NULL;
+  int rt;
+  int a;
+  unsigned int howmany;
+  unsigned int i;
+#ifndef WIN32
+  int fdselect;
+  fd_set fs;
+  struct timeval to;
+#endif /* WIN32 */
+
+  if (option_debug > 100) {
+    DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);
+  }
+
+  memset(read_from_pipe, 0, 4096);
+  memset(messaggio, 0, 4096);
+  memset(messaggio_2, 0, 4096);
+
+#ifdef WIN32
+  rt = 1;
+#else /* WIN32 */
+  fdselect = tech_pvt->SkypiaxHandles.fdesc[0];
+  FD_ZERO(&fs);
+  FD_SET(fdselect, &fs);
+  to.tv_usec = 2000000;         //500 msec
+  to.tv_sec = 0;
+  rt = select(fdselect + 1, &fs, NULL, NULL, &to);
+#endif /* WIN32 */
+
+  if (rt > 0) {
+    if (tech_pvt->SkypiaxHandles.fdesc[0]) {
+      howmany = sizeof(read_from_pipe);
+#ifdef WIN32
+      skypiax_file_read(tech_pvt->SkypiaxHandles.fdesc[0], read_from_pipe, &howmany);
+#else /* WIN32 */
+      howmany =
+        read(tech_pvt->SkypiaxHandles.fdesc[0], read_from_pipe, sizeof(read_from_pipe));
+#endif /* WIN32 */
+
+      a = 0;
+      for (i = 0; i < howmany; i++) {
+        messaggio[a] = read_from_pipe[i];
+        a++;
+
+        if (read_from_pipe[i] == '\0') {
+
+          //DEBUGA_SKYPE("read_skype: howmany=%d, i=%d, a=%d, |||%s||| \n", SKYPIAX_P_LOG, howmany, i, a, messaggio);
+          DEBUGA_SKYPE("READING: |||%s||| \n", SKYPIAX_P_LOG, messaggio);
+
+          if (!strcasecmp(messaggio, "ERROR 68")) { /* not yet protocol specified,
+                                                       just authorized */
+            DEBUGA_SKYPE
+              ("If I don't connect immediately, please give the Skype client authorization to be connected by Skypiax (and to not ask you again)\n",
+               SKYPIAX_P_LOG);
+            skypiax_sleep(1000000);
+            skypiax_skype_write(tech_pvt, "PROTOCOL 6");
+            skypiax_sleep(10000);
+            return 0;
+          }
+
+          if (!strncasecmp(messaggio, "ERROR 92 CALL", 12)) {
+            ERRORA("Skype got ERROR: |||%s|||, the number we called was not recognized\n",
+                   SKYPIAX_P_LOG, messaggio);
+            tech_pvt->skype_callflow = CALLFLOW_STATUS_FINISHED;
+            if (option_debug)
+              DEBUGA_SKYPE("skype_call now is DOWN\n", SKYPIAX_P_LOG);
+            tech_pvt->skype_call_id[0] = '\0';
+
+            if (tech_pvt->interface_state != SKYPIAX_STATE_HANGUP_REQUESTED) {
+              if (option_debug > 100) {
+                DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+              }
+              tech_pvt->interface_state = SKYPIAX_STATE_DOWN;
+              return CALLFLOW_INCOMING_HANGUP;
+            } else {
+              tech_pvt->interface_state = SKYPIAX_STATE_DOWN;
+            }
+          }
+
+          strncpy(messaggio_2, messaggio, sizeof(messaggio) - 1);
+
+          buf = messaggio;
+          stringp = &buf;
+          where = strsep(stringp, " ");
+          if (!where) {
+            WARNINGA("Skype MSG without spaces: %s\n", SKYPIAX_P_LOG, messaggio);
+          }
+
+          if (!strcasecmp(messaggio, "#333")) {
+            /* DEBUGA_SKYPE("Skype MSG: messaggio_2: %s, messaggio2[11]: %s\n", SKYPIAX_P_LOG,
+             * messaggio_2, &messaggio_2[11]); */
+            memset(tech_pvt->skype_friends, 0, 4096);
+            strncpy(tech_pvt->skype_friends, &messaggio_2[11], 4095);
+          }
+          if (!strcasecmp(messaggio, "#222")) {
+            /* DEBUGA_SKYPE("Skype MSG: messaggio_2: %s, messaggio2[10]: %s\n", SKYPIAX_P_LOG,
+             * messaggio_2, &messaggio_2[10]); */
+            memset(tech_pvt->skype_fullname, 0, 512);
+            strncpy(tech_pvt->skype_fullname, &messaggio_2[10], 511);
+          }
+          if (!strcasecmp(messaggio, "#765")) {
+            /* DEBUGA_SKYPE("Skype MSG: messaggio_2: %s, messaggio2[10]: %s\n", SKYPIAX_P_LOG,
+             * messaggio_2, &messaggio_2[10]); */
+            memset(tech_pvt->skype_displayname, 0, 512);
+            strncpy(tech_pvt->skype_displayname, &messaggio_2[10], 511);
+          }
+          if (!strcasecmp(messaggio, "ERROR")) {
+            ERRORA("Skype got ERROR: |||%s|||\n", SKYPIAX_P_LOG, messaggio);
+            tech_pvt->skype_callflow = CALLFLOW_STATUS_FINISHED;
+            if (option_debug)
+              DEBUGA_SKYPE("skype_call now is DOWN\n", SKYPIAX_P_LOG);
+            tech_pvt->skype_call_id[0] = '\0';
+
+            if (tech_pvt->interface_state != SKYPIAX_STATE_HANGUP_REQUESTED) {
+              if (option_debug > 100) {
+                DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+              }
+              tech_pvt->interface_state = SKYPIAX_STATE_DOWN;
+              return CALLFLOW_INCOMING_HANGUP;
+            } else {
+              tech_pvt->interface_state = SKYPIAX_STATE_DOWN;
+            }
+          }
+          if (!strcasecmp(messaggio, "CURRENTUSERHANDLE")) {
+            strncpy(obj, where, sizeof(obj) - 1);
+
+            where = strsep(stringp, " ");
+
+            strncpy(id, where, sizeof(id) - 1);
+
+            if (!strcasecmp(id, tech_pvt->skype_user)) {
+              tech_pvt->SkypiaxHandles.api_connected = 1;
+              //DEBUGA_SKYPE ("Skype MSG: messaggio: %s, currentuserhandle: %s, cuh: %s, skype_user: %s!\n", SKYPIAX_P_LOG, messaggio, obj, id, tech_pvt->skype_user);
+            }
+          }
+
+          if (!strcasecmp(messaggio, "USER")) {
+            strncpy(obj, where, sizeof(obj) - 1);
+
+            where = strsep(stringp, " ");
+
+            strncpy(id, where, sizeof(id) - 1);
+
+            where = strsep(stringp, " ");
+
+            strncpy(prop, where, sizeof(prop) - 1);
+
+            if (!strcasecmp(prop, "RECEIVEDAUTHREQUEST")) {
+              char msg_to_skype[256];
+              DEBUGA_SKYPE("Skype MSG: messaggio: %s, obj: %s, id: %s, prop: %s!\n",
+                           SKYPIAX_P_LOG, messaggio, obj, id, prop);
+
+              //FIXME: TODO: allow authorization based on config param
+              sprintf(msg_to_skype, "SET USER %s ISAUTHORIZED TRUE", id);
+              skypiax_skype_write(tech_pvt, msg_to_skype);
+            }
+          }
+
+          if (!strcasecmp(messaggio, "MESSAGE")) {
+            strncpy(obj, where, sizeof(obj) - 1);
+
+            where = strsep(stringp, " ");
+
+            strncpy(id, where, sizeof(id) - 1);
+
+            where = strsep(stringp, " ");
+
+            strncpy(prop, where, sizeof(prop) - 1);
+
+            if (!strcasecmp(prop, "STATUS")) {
+
+              where = strsep(stringp, " ");
+
+              strncpy(value, where, sizeof(value) - 1);
+
+              if (!strcasecmp(value, "RECEIVED")) {
+                char msg_to_skype[256];
+                DEBUGA_SKYPE
+                  ("Skype MSG: messaggio: %s, obj: %s, id: %s, prop: %s value: %s!\n",
+                   SKYPIAX_P_LOG, messaggio, obj, id, prop, value);
+
+                //FIXME: TODO: allow authorization based on config param
+                sprintf(msg_to_skype, "SET MESSAGE %s SEEN", id);
+                skypiax_skype_write(tech_pvt, msg_to_skype);
+              }
+            } else if (!strcasecmp(prop, "BODY")) {
+              char msg_to_skype[256];
+
+              DEBUGA_SKYPE("Skype MSG: messaggio: %s, obj: %s, id: %s, prop: %s!\n",
+                           SKYPIAX_P_LOG, messaggio, obj, id, prop);
+
+              //FIXME: TODO: on config param ???
+              sprintf(msg_to_skype, "SET MESSAGE %s SEEN", id);
+              skypiax_skype_write(tech_pvt, msg_to_skype);
+            }
+
+          }
+
+          if (!strcasecmp(messaggio, "CALL")) {
+
+            strncpy(obj, where, sizeof(obj) - 1);
+
+            where = strsep(stringp, " ");
+
+            strncpy(id, where, sizeof(id) - 1);
+
+            where = strsep(stringp, " ");
+
+            strncpy(prop, where, sizeof(prop) - 1);
+
+            where = strsep(stringp, " ");
+
+            strncpy(value, where, sizeof(value) - 1);
+
+            where = strsep(stringp, " ");
+
+            if (option_debug > 101)
+              DEBUGA_SKYPE
+                ("Skype MSG: messaggio: %s, obj: %s, id: %s, prop: %s, value: %s,where: %s!\n",
+                 SKYPIAX_P_LOG, messaggio, obj, id, prop, value, where ? where : "NULL");
+
+            if (!strcasecmp(prop, "PARTNER_HANDLE")) {
+              strncpy(tech_pvt->callid_number, value,
+                      sizeof(tech_pvt->callid_number) - 1);
+              DEBUGA_SKYPE
+                ("the skype_call %s caller PARTNER_HANDLE (tech_pvt->callid_number) is: %s\n",
+                 SKYPIAX_P_LOG, id, tech_pvt->callid_number);
+              return CALLFLOW_INCOMING_RING;
+            }
+            if (!strcasecmp(prop, "PARTNER_DISPNAME")) {
+              snprintf(tech_pvt->callid_name, sizeof(tech_pvt->callid_name) - 1, "%s%s%s",
+                       value, where ? " " : "", where ? where : "");
+              DEBUGA_SKYPE
+                ("the skype_call %s caller PARTNER_DISPNAME (tech_pvt->callid_name) is: %s\n",
+                 SKYPIAX_P_LOG, id, tech_pvt->callid_name);
+            }
+            if (!strcasecmp(prop, "CONF_ID") && !strcasecmp(value, "0")) {
+              DEBUGA_SKYPE("the skype_call %s is NOT a conference call\n", SKYPIAX_P_LOG,
+                           id);
+              if (tech_pvt->interface_state == SKYPIAX_STATE_DOWN)
+                tech_pvt->interface_state = SKYPIAX_STATE_PRERING;
+            }
+            if (!strcasecmp(prop, "CONF_ID") && strcasecmp(value, "0")) {
+              DEBUGA_SKYPE("the skype_call %s is a conference call\n", SKYPIAX_P_LOG, id);
+              if (tech_pvt->interface_state == SKYPIAX_STATE_DOWN)
+                tech_pvt->interface_state = SKYPIAX_STATE_PRERING;
+            }
+
+            if (!strcasecmp(prop, "DTMF")) { 
+
+              DEBUGA_SKYPE("Call %s received a DTMF: %s\n", SKYPIAX_P_LOG, id, value);
+
+	      dtmf_received(tech_pvt, value);
+            }
+
+            if (!strcasecmp(prop, "FAILUREREASON")) {
+              DEBUGA_SKYPE
+                ("Skype has FAILED on skype_call %s. Let's wait for the FAILED message.\n",
+                 SKYPIAX_P_LOG, id);
+            }
+            if (!strcasecmp(prop, "DURATION") && (!strcasecmp(value, "1"))) {
+              if (strcasecmp(id, tech_pvt->skype_call_id)) {
+                strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1);
+                if (option_debug > 1)
+                  DEBUGA_SKYPE
+                    ("We called a Skype contact and he answered us on skype_call: %s.\n",
+                     SKYPIAX_P_LOG, id);
+              }
+            }
+
+            if (!strcasecmp(prop, "STATUS")) {
+
+              if (!strcasecmp(value, "RINGING")) {
+                char msg_to_skype[1024];
+                if (tech_pvt->interface_state != SKYPIAX_STATE_DIALING) {
+                  /* we are not calling out */
+
+                  if (!strlen(tech_pvt->skype_call_id)) {   //FIXME
+                    /* we are not inside an active call */
+                    tech_pvt->skype_callflow = CALLFLOW_STATUS_RINGING;
+                    tech_pvt->interface_state = SKYPIAX_STATE_RING;
+                    /* no owner, no active call, let's answer */
+                    skypiax_skype_write(tech_pvt, "SET AGC OFF");
+                    skypiax_sleep(10000);
+                    skypiax_skype_write(tech_pvt, "SET AEC OFF");
+                    skypiax_sleep(10000);
+                    sprintf(msg_to_skype, "GET CALL %s PARTNER_DISPNAME", id);
+                    skypiax_skype_write(tech_pvt, msg_to_skype);
+                    skypiax_sleep(10000);
+                    sprintf(msg_to_skype, "GET CALL %s PARTNER_HANDLE", id);
+                    skypiax_skype_write(tech_pvt, msg_to_skype);
+                    skypiax_sleep(10000);
+                    sprintf(msg_to_skype, "ALTER CALL %s ANSWER", id);
+                    skypiax_skype_write(tech_pvt, msg_to_skype);
+                    if (option_debug)
+                      DEBUGA_SKYPE("We answered a Skype RING on skype_call %s\n",
+                                   SKYPIAX_P_LOG, id);
+                    strncpy(tech_pvt->skype_call_id, id,
+                            sizeof(tech_pvt->skype_call_id) - 1);
+                  } else {
+                    /* we're owned, we're in a call, let's refuse */
+                    sprintf(msg_to_skype, "ALTER CALL %s END HANGUP", id);
+                    skypiax_skype_write(tech_pvt, msg_to_skype);
+                    skypiax_sleep(10000);
+                    DEBUGA_SKYPE
+                      ("We have NOT answered a Skype RING on skype_call %s, because we are already in a skypiax call\n",
+                       SKYPIAX_P_LOG, id);
+
+                  }
+                } else {
+                  /* we are calling out */
+                  tech_pvt->skype_callflow = CALLFLOW_STATUS_RINGING;
+                  tech_pvt->interface_state = SKYPIAX_STATE_RINGING;
+                  //FIXME ast_queue_control(tech_pvt->owner, SKYPIAX_CONTROL_RINGING);
+                  strncpy(tech_pvt->skype_call_id, id,
+                          sizeof(tech_pvt->skype_call_id) - 1);
+                  DEBUGA_SKYPE("Our remote party in skype_call %s is RINGING\n",
+                               SKYPIAX_P_LOG, id);
+                }
+              } else if (!strcasecmp(value, "EARLYMEDIA")) {
+                tech_pvt->skype_callflow = CALLFLOW_STATUS_EARLYMEDIA;
+                tech_pvt->interface_state = SKYPIAX_STATE_DIALING;
+                //FIXME ast_queue_control(tech_pvt->owner, SKYPIAX_CONTROL_RINGING);
+                DEBUGA_SKYPE("Our remote party in skype_call %s is EARLYMEDIA\n",
+                             SKYPIAX_P_LOG, id);
+              } else if (!strcasecmp(value, "MISSED")) {
+                DEBUGA_SKYPE("We missed skype_call %s\n", SKYPIAX_P_LOG, id);
+
+              } else if (!strcasecmp(value, "FINISHED")) {
+                //tech_pvt->skype_callflow = CALLFLOW_STATUS_FINISHED;
+                if (option_debug)
+                  DEBUGA_SKYPE("skype_call %s now is DOWN\n", SKYPIAX_P_LOG, id);
+                tech_pvt->skype_call_id[0] = '\0';
+
+                if (tech_pvt->interface_state != SKYPIAX_STATE_HANGUP_REQUESTED) {
+                  if (option_debug > 100) {
+                    DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+                  }
+                  //tech_pvt->interface_state = SKYPIAX_STATE_DOWN;
+                  return CALLFLOW_INCOMING_HANGUP;
+                } else {
+                  tech_pvt->interface_state = SKYPIAX_STATE_DOWN;
+                }
+
+              } else if (!strcasecmp(value, "CANCELLED")) {
+                tech_pvt->skype_callflow = CALLFLOW_STATUS_CANCELLED;
+                if (option_debug)
+                  DEBUGA_SKYPE
+                    ("we tried to call Skype on skype_call %s and Skype has now CANCELLED\n",
+                     SKYPIAX_P_LOG, id);
+                tech_pvt->skype_call_id[0] = '\0';
+
+                if (tech_pvt->interface_state != SKYPIAX_STATE_HANGUP_REQUESTED) {
+                  if (option_debug > 100) {
+                    DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+                  }
+                  tech_pvt->interface_state = SKYPIAX_STATE_DOWN;
+                  return CALLFLOW_INCOMING_HANGUP;
+                } else {
+                  tech_pvt->interface_state = SKYPIAX_STATE_DOWN;
+                }
+              } else if (!strcasecmp(value, "FAILED")) {
+                tech_pvt->skype_callflow = CALLFLOW_STATUS_FAILED;
+                if (option_debug)
+                  DEBUGA_SKYPE
+                    ("we tried to call Skype on skype_call %s and Skype has now FAILED\n",
+                     SKYPIAX_P_LOG, id);
+                tech_pvt->skype_call_id[0] = '\0';
+                strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1);
+                tech_pvt->interface_state = SKYPIAX_STATE_DOWN;
+                if (option_debug > 100) {
+                  DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+                }
+                return CALLFLOW_INCOMING_HANGUP;
+              } else if (!strcasecmp(value, "REFUSED")) {
+                if (!strcasecmp(id, tech_pvt->skype_call_id)) {
+                  /* this is the id of the call we are in, probably we generated it */
+                  tech_pvt->skype_callflow = CALLFLOW_STATUS_REFUSED;
+                  if (option_debug)
+                    DEBUGA_SKYPE
+                      ("we tried to call Skype on skype_call %s and Skype has now REFUSED\n",
+                       SKYPIAX_P_LOG, id);
+                  strncpy(tech_pvt->skype_call_id, id,
+                          sizeof(tech_pvt->skype_call_id) - 1);
+                  tech_pvt->interface_state = SKYPIAX_STATE_DOWN;
+                  tech_pvt->skype_call_id[0] = '\0';
+                  if (option_debug > 100) {
+                    DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+                  }
+                  return CALLFLOW_INCOMING_HANGUP;
+                } else {
+                  /* we're here because were us that refused an incoming call */
+                  DEBUGA_SKYPE("we REFUSED skype_call %s\n", SKYPIAX_P_LOG, id);
+
+                }
+              } else if (!strcasecmp(value, "ROUTING")) {
+                tech_pvt->skype_callflow = CALLFLOW_STATUS_ROUTING;
+                tech_pvt->interface_state = SKYPIAX_STATE_DIALING;
+                strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1);
+                DEBUGA_SKYPE("skype_call: %s is now ROUTING\n", SKYPIAX_P_LOG, id);
+              } else if (!strcasecmp(value, "UNPLACED")) {
+                tech_pvt->skype_callflow = CALLFLOW_STATUS_UNPLACED;
+                tech_pvt->interface_state = SKYPIAX_STATE_DIALING;
+                strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1);
+                DEBUGA_SKYPE("skype_call: %s is now UNPLACED\n", SKYPIAX_P_LOG, id);
+              } else if (!strcasecmp(value, "INPROGRESS")) {
+                  char msg_to_skype[1024];
+                tech_pvt->skype_callflow = CALLFLOW_STATUS_INPROGRESS;
+                strncpy(tech_pvt->skype_call_id, id, sizeof(tech_pvt->skype_call_id) - 1);
+                tech_pvt->interface_state = SKYPIAX_STATE_UP;
+                if (option_debug > 1)
+                  DEBUGA_SKYPE("skype_call: %s is now active\n", SKYPIAX_P_LOG, id);
+
+                if (option_debug > 1)
+                  DEBUGA_SKYPE("skype_call: %s SKYPIAX_CONTROL_ANSWER sent\n",
+                               SKYPIAX_P_LOG, id);
+
+		start_audio_threads(tech_pvt);
+
+                  sprintf(msg_to_skype, "ALTER CALL %s SET_OUTPUT PORT=\"%d\"", id,
+                          tech_pvt->tcp_srv_port);
+                  skypiax_skype_write(tech_pvt, msg_to_skype);
+                  skypiax_sleep(100000);
+                  sprintf(msg_to_skype, "ALTER CALL %s SET_INPUT PORT=\"%d\"", id,
+                          tech_pvt->tcp_cli_port);
+                  skypiax_skype_write(tech_pvt, msg_to_skype);
+                  skypiax_sleep(100000);
+ 
+                tech_pvt->skype_callflow = SKYPIAX_STATE_UP;
+
+                if (!strlen(tech_pvt->session_uuid_str)) {
+
+                  DEBUGA_SKYPE("New Inbound Channel!\n", SKYPIAX_P_LOG);
+
+		  new_inbound_channel(tech_pvt);
+                } else { 
+
+                  DEBUGA_SKYPE("Outbound Channel Answered!\n", SKYPIAX_P_LOG);
+
+		  outbound_channel_answered(tech_pvt);
+                }
+
+              } else {
+                WARNINGA("skype_call: %s, STATUS: %s is not recognized\n", SKYPIAX_P_LOG,
+                         id, value);
+
+              }
+            }                   //STATUS
+
+          }                     //CALL
+
+          a = 0;
+        }                       //message end
+      }                         //read_from_pipe
+
+    }
+  }
+
+  if (option_debug > 100) {
+    DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+  }
+  //DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+  return 0;
+}
+
+int skypiax_skype_senddigit(private_t * tech_pvt, char digit)
+{
+  char msg_to_skype[1024];
+  if (option_debug > 10) {
+    DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);
+  }
+
+  DEBUGA_SKYPE("DIGIT received: %c\n", SKYPIAX_P_LOG, digit);
+
+  sprintf(msg_to_skype, "SET CALL %s DTMF %c", tech_pvt->skype_call_id, digit);
+
+  skypiax_skype_write(tech_pvt, msg_to_skype);
+
+  if (option_debug > 10) {
+    DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+  }
+  return 0;
+}
+
+int skypiax_skype_call(private_t * tech_pvt, char *rdest, int timeout)
+{
+  char msg_to_skype[1024];
+
+  if (option_debug > 10) {
+    DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);
+  }
+  skypiax_sleep(5000);
+  DEBUGA_SKYPE("Calling Skype, rdest is: %s\n", SKYPIAX_P_LOG, rdest);
+  skypiax_skype_write(tech_pvt, "SET AGC OFF");
+  skypiax_sleep(10000);
+  skypiax_skype_write(tech_pvt, "SET AEC OFF");
+  skypiax_sleep(10000);
+
+  sprintf(msg_to_skype, "CALL %s", rdest);
+  if (skypiax_skype_write(tech_pvt, msg_to_skype) < 0) {
+
+    ERRORA("failed to communicate with Skype client, now exit\n", SKYPIAX_P_LOG);
+    if (option_debug > 10) {
+      DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+    }
+    return -1;
+  }
+  //FIXME ast_queue_control(tech_pvt->owner, SKYPIAX_CONTROL_RINGING);
+  return 0;
+}
+
+#if 0
+static switch_status_t channel_write_frame(switch_core_session_t * session,
+                                           switch_frame_t * frame, switch_io_flag_t flags,
+                                           int stream_id)
+{
+  switch_channel_t *channel = NULL;
+  private_t *tech_pvt = NULL;
+  unsigned int sent;
+
+  channel = switch_core_session_get_channel(session);
+  assert(channel != NULL);
+
+  tech_pvt = switch_core_session_get_private(session);
+  assert(tech_pvt != NULL);
+
+  if (!switch_test_flag(tech_pvt, TFLAG_IO)) {
+    ERRORA("CIAPA \n", SKYPIAX_P_LOG);
+    return SWITCH_STATUS_FALSE;
+  }
+#ifdef BIGENDIAN
+  if (switch_test_flag(tech_pvt, TFLAG_LINEAR)) {
+    switch_swap_linear(frame->data, (int) frame->datalen / 2);
+  }
+#endif
+
+  sent = frame->datalen;
+#ifdef WIN32
+  switch_file_write(tech_pvt->audioskypepipe[1], frame->data, &sent);
+#else /* WIN32 */
+  sent = write(tech_pvt->audioskypepipe[1], frame->data, sent);
+#endif /* WIN32 */
+  if (sent != frame->datalen && sent != -1) {
+    DEBUGA_SKYPE("CLI PIPE write %d\n", SKYPIAX_P_LOG, sent);
+  }
+
+  return SWITCH_STATUS_SUCCESS;
+}
+#endif
+
+
+int skypiax_skypeaudio_write(struct skypiax_pvt *p, struct ast_frame *f)
+{
+  int sent;
+
+  if (option_debug > 100) {
+    DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);
+  }
+  sent = write(p->audioskypepipe[1], (short *) f->data, f->datalen);
+
+  if (option_debug > 100) {
+    DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+  }
+  return 0;
+}
+int skypiax_console_skype(int fd, int argc, char *argv[])
+{
+  struct skypiax_pvt *p = skypiax_console_find_desc(skypiax_console_active);
+  char skype_msg[1024];
+  int i, a, c;
+
+  if (argc == 1) {
+    return RESULT_SHOWUSAGE;
+  }
+  if (!p) {
+    ast_cli(fd,
+            "No \"current\" console for skypiax_skype, please enter 'help console'\n");
+    return RESULT_SUCCESS;
+  }
+  if (option_debug > 10) {
+    DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);
+  }
+  if (!p->skype) {
+    ast_cli(fd, "The \"current\" console is not connected to a Skype client'\n");
+    if (option_debug > 10) {
+      DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+    }
+    if (option_debug > 10) {
+      DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+    }
+    return RESULT_SUCCESS;
+  }
+
+  memset(skype_msg, 0, sizeof(skype_msg));
+  c = 0;
+  for (i = 1; i < argc; i++) {
+    for (a = 0; a < strlen(argv[i]); a++) {
+      skype_msg[c] = argv[i][a];
+      c++;
+      if (c == 1022)
+        break;
+    }
+    if (i != argc - 1) {
+      skype_msg[c] = ' ';
+      c++;
+    }
+    if (c == 1023)
+      break;
+  }
+  skypiax_skype_write(p, skype_msg);
+  if (option_debug > 10) {
+    DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+  }
+  return RESULT_SUCCESS;
+}
+int skypiax_console_skypiax_dir_import(int fd, int argc, char *argv[])
+{
+  //int res;
+  struct skypiax_pvt *p = skypiax_console_find_desc(skypiax_console_active);
+  //char list_command[64];
+  char fn[256];
+  char date[256] = "";
+  time_t t;
+  char *configfile = SKYPIAX_DIR_CONFIG;
+  int add_to_skypiax_dir_conf = 1;
+  //int fromskype = 0;
+  //int fromcell = 0;
+
+#if 0
+  if(directoriax_entry_extension){
+    skypiax_dir_entry_extension=directoriax_entry_extension;
+  }else{
+    ast_cli(fd, "No 'directoriax_entry_extension', you MUST have loaded directoriax.so\n");
+    return RESULT_SUCCESS;
+  }
+#endif
+
+  if (argc != 2)
+    return RESULT_SHOWUSAGE;
+  if (!p) {
+    ast_cli(fd, "No \"current\" console ???, please enter 'help skypiax_console'\n");
+    return RESULT_SUCCESS;
+  }
+
+  if (!strcasecmp(argv[1], "add"))
+    add_to_skypiax_dir_conf = 1;
+  else if (!strcasecmp(argv[1], "replace"))
+    add_to_skypiax_dir_conf = 0;
+  else {
+    ast_cli(fd, "\n\nYou have neither specified 'add' nor 'replace'\n\n");
+    return RESULT_SHOWUSAGE;
+  }
+
+#if 0
+  if (!strcasecmp(argv[2], "fromskype"))
+    fromskype = 1;
+  else if (!strcasecmp(argv[2], "fromcell"))
+    fromcell = 1;
+  else {
+    ast_cli(fd, "\n\nYou have neither specified 'fromskype' nor 'fromcell'\n\n");
+    return RESULT_SHOWUSAGE;
+  }
+
+  if (fromcell) {
+    ast_cli(fd,
+            "Importing from cellphone is currently supported only on \"AT\" cellphones :( !\n");
+    //fclose(p->phonebook_writing_fp);
+    //skypiax_dir_create_extensions();
+    return RESULT_SUCCESS;
+  }
+
+  if (fromskype)
+    if (!p->skype) {
+      ast_cli(fd, "Importing from skype is supported by skypiax_dir on chan_skypiax!\n");
+      //fclose(p->phonebook_writing_fp);
+      //skypiax_dir_create_extensions();
+      return RESULT_SUCCESS;
+    }
+
+  if (fromcell || fromskype)
+    if (argc != 3) {
+      ast_cli(fd,
+              "\n\nYou don't have to specify a filename with 'fromcell' or with 'fromskype'\n\n");
+      return RESULT_SHOWUSAGE;
+    }
+#endif
+
+  /*******************************************************************************************/
+
+  if (configfile[0] == '/') {
+    ast_copy_string(fn, configfile, sizeof(fn));
+  } else {
+    snprintf(fn, sizeof(fn), "%s/%s", ast_config_AST_CONFIG_DIR, configfile);
+  }
+  if (option_debug)
+    NOTICA("Opening '%s'\n", SKYPIAX_P_LOG, fn);
+  time(&t);
+  ast_copy_string(date, ctime(&t), sizeof(date));
+
+  if (add_to_skypiax_dir_conf)
+    p->phonebook_writing_fp = fopen(fn, "a+");
+  else
+    p->phonebook_writing_fp = fopen(fn, "w+");
+
+  if (p->phonebook_writing_fp) {
+    if (add_to_skypiax_dir_conf) {
+      if (option_debug)
+        NOTICA("Opened '%s' for appending \n", SKYPIAX_P_LOG, fn);
+      fprintf(p->phonebook_writing_fp, ";!\n");
+      fprintf(p->phonebook_writing_fp, ";! Update Date: %s", date);
+      fprintf(p->phonebook_writing_fp, ";! Updated by: %s, %d\n", __FILE__, __LINE__);
+      fprintf(p->phonebook_writing_fp, ";!\n");
+    } else {
+      if (option_debug)
+        NOTICA("Opened '%s' for writing \n", SKYPIAX_P_LOG, fn);
+      fprintf(p->phonebook_writing_fp, ";!\n");
+      fprintf(p->phonebook_writing_fp, ";! Automatically generated configuration file\n");
+      fprintf(p->phonebook_writing_fp, ";! Filename: %s (%s)\n", configfile, fn);
+      fprintf(p->phonebook_writing_fp, ";! Creation Date: %s", date);
+      fprintf(p->phonebook_writing_fp, ";! Generated by: %s, %d\n", __FILE__, __LINE__);
+      fprintf(p->phonebook_writing_fp, ";!\n");
+      fprintf(p->phonebook_writing_fp, "[general]\n\n");
+      fprintf(p->phonebook_writing_fp, "[default]\n");
+    }
+
+  /*******************************************************************************************/
+    //if (fromskype) {
+      if (p->skype) {
+        WARNINGA
+          ("About to querying the Skype client 'Contacts', it may take some moments... Don't worry.\n",
+           SKYPIAX_P_LOG);
+        if (p->skype_thread != AST_PTHREADT_NULL) {
+          char msg_to_skype[1024];
+
+          p->skype_friends[0] = '\0';
+          sprintf(msg_to_skype, "#333 SEARCH FRIENDS");
+          if (skypiax_skype_write(p, msg_to_skype) < 0) {
+            return -1;
+          }
+
+          int friends_count = 0;
+          while (p->skype_friends[0] == '\0') {
+            /* FIXME needs a timeout, can't wait forever! 
+             * eg. when skype is running but not connected! */
+            usleep(100);
+            friends_count++;
+            if (friends_count > 20000) {
+              return -1;        /* FIXME */
+            }
+          }
+
+        }
+
+        if (p->skype_thread != AST_PTHREADT_NULL) {
+          char msg_to_skype[1024];
+
+          if (p->skype_friends[0] != '\0') {
+            char *buf, *where;
+            char **stringp;
+            int skype_dir_file_written = 0;
+
+            buf = p->skype_friends;
+            stringp = &buf;
+            where = strsep(stringp, ", ");
+            while (where) {
+              if (where[0] != '\0') {
+                /*
+                 * So, we have the Skype username (the HANDLE, I think is called).
+                 * But we want to call the names we see in the Skype contact list
+                 * So, let's check the DISPLAYNAME (the end user modified contact name)
+                 * Then, we check the FULLNAME (that appears as it was the DISPLAYNAME 
+                 * if the end user has not modify it)
+                 * If we still have neither DISPLAYNAME nor FULLNAME, we'll use the 
+                 * Skipe username (the HANDLE)
+                 */
+
+                p->skype_displayname[0] = '\0';
+                sprintf(msg_to_skype, "#765 GET USER %s DISPLAYNAME", where);
+                skypiax_skype_write(p, msg_to_skype);
+                int displayname_count = 0;
+                while (p->skype_displayname[0] == '\0') {
+                  /* FIXME needs a timeout, can't wait forever! 
+                   * eg. when skype is running but not connected! */
+                  usleep(100);
+                  displayname_count++;
+                  if (displayname_count > 20000)
+                    return -1;  /* FIXME */
+                }
+                if (p->skype_displayname[0] != '\0') {
+                  char *where2;
+                  char sanitized[300];
+
+                  sanitized[0] = '\0';
+
+                  where2 = strstr(p->skype_displayname, "DISPLAYNAME ");
+                  if (where2) {
+
+                    /* there can be some *smart* that makes a displayname 
+                     * that is different than firstlast, */
+                    /* maybe initials, simbols, slashes, 
+                     * something smartish... let's check */
+
+                    if (where2[12] != '\0') {
+                      int i = 12;
+                      int x = 0;
+                      int spaces = 0;
+                      int last_char_was_space = 0;
+
+                      for (i = 12; i < strlen(where2) && x < 299; i++) {
+                        if (!isalnum(where2[i])) {
+                          if (!isblank(where2[i])) {
+                            /* bad char */
+                            continue;
+                          }
+                          /* is a space */
+                          if (last_char_was_space == 1) /* do not write 2 consecutive spaces */
+                            continue;
+                          last_char_was_space = 1;
+                          sanitized[x] = ' ';
+                          x++;
+                          continue;
+                        }
+                        /* is alphanum */
+                        last_char_was_space = 0;
+                        sanitized[x] = where2[i];
+                        x++;
+                        continue;
+                      }
+
+                      sanitized[x] = '\0';
+                      if (spaces == 0) {
+                      }
+                      DEBUGA_SKYPE("sanitized=|%s|, where=|%s|, where2=|%s|\n",
+                                   SKYPIAX_P_LOG, sanitized, where, &where2[12]);
+                    }
+
+                    if (where2[12] != '\0') {
+                      skypiax_dir_entry_extension++;
+                      if (where[0] == '+' || isdigit(where[0])) {   /* is a skypeout number */
+                        fprintf(p->phonebook_writing_fp,
+                                "%s  => ,%sSKO,,,hidefromdir=%s|phonebook_direct_calling_ext=%d%s%.4d|phonebook_entry_fromskype=%s|phonebook_entry_owner=%s\n",
+                                where, sanitized, "no",
+                                p->skypiax_dir_entry_extension_prefix, "2",
+                                skypiax_dir_entry_extension, "yes", "not_specified");
+                      } else {  /* is a skype name */
+                        fprintf(p->phonebook_writing_fp,
+                                "%s  => ,%sSKY,,,hidefromdir=%s|phonebook_direct_calling_ext=%d%s%.4d|phonebook_entry_fromskype=%s|phonebook_entry_owner=%s\n",
+                                where, sanitized, "no",
+                                p->skypiax_dir_entry_extension_prefix, "1",
+                                skypiax_dir_entry_extension, "yes", "not_specified");
+                      }
+                      skype_dir_file_written = 1;
+
+                    }
+                  }
+                }
+                p->skype_displayname[0] = '\0';
+
+                p->skype_fullname[0] = '\0';
+                sprintf(msg_to_skype, "#222 GET USER %s FULLNAME", where);
+                skypiax_skype_write(p, msg_to_skype);
+                int fullname_count = 0;
+                while (p->skype_fullname[0] == '\0') {
+                  /* FIXME needs a timeout, can't wait forever! 
+                   * eg. when skype is running but not connected! */
+                  usleep(100);
+                  fullname_count++;
+                  if (fullname_count > 20000)
+                    return -1;  /* FIXME */
+                }
+                if (p->skype_fullname[0] != '\0') {
+                  char *where2;
+                  char sanitized[300];
+
+                  where2 = strstr(p->skype_fullname, "FULLNAME ");
+                  if (where2) {
+
+                    /* there can be some *smart* that makes a fullname 
+                     * that is different than firstlast, */
+                    /* maybe initials, simbols, slashes,
+                     *  something smartish... let's check */
+
+                    if (where2[9] != '\0') {
+                      int i = 9;
+                      int x = 0;
+                      int spaces = 0;
+                      int last_char_was_space = 0;
+
+                      for (i = 9; i < strlen(where2) && x < 299; i++) {
+                        if (!isalnum(where2[i])) {
+                          if (!isblank(where2[i])) {
+                            /* bad char */
+                            continue;
+                          }
+                          /* is a space */
+                          if (last_char_was_space == 1) /* do not write 2 consecutive spaces */
+                            continue;
+                          last_char_was_space = 1;
+                          sanitized[x] = ' ';
+                          x++;
+                          continue;
+                        }
+                        /* alphanum */
+                        last_char_was_space = 0;
+                        sanitized[x] = where2[i];
+                        x++;
+                        continue;
+                      }
+
+                      sanitized[x] = '\0';
+                      if (spaces == 0) {
+                      }
+                      DEBUGA_SKYPE("sanitized=|%s|, where=|%s|, where2=|%s|\n",
+                                   SKYPIAX_P_LOG, sanitized, where, &where2[9]);
+                    }
+
+                    if (skype_dir_file_written == 0) {
+                      skypiax_dir_entry_extension++;
+                      if (where2[9] != '\0') {
+                        if (where[0] == '+' || isdigit(where[0])) { /* is a skypeout number */
+                          fprintf(p->phonebook_writing_fp,
+                                  "%s  => ,%sSKO,,,hidefromdir=%s|phonebook_direct_calling_ext=%d%s%.4d|phonebook_entry_fromskype=%s|phonebook_entry_owner=%s\n",
+                                  where, sanitized, "no",
+                                  p->skypiax_dir_entry_extension_prefix, "2",
+                                  skypiax_dir_entry_extension, "yes", "not_specified");
+                        } else {    /* is a skype name */
+                          fprintf(p->phonebook_writing_fp,
+                                  "%s  => ,%sSKY,,,hidefromdir=%s|phonebook_direct_calling_ext=%d%s%.4d|phonebook_entry_fromskype=%s|phonebook_entry_owner=%s\n",
+                                  where, sanitized, "no",
+                                  p->skypiax_dir_entry_extension_prefix, "1",
+                                  skypiax_dir_entry_extension, "yes", "not_specified");
+
+                        }
+
+                      } else {
+                        if (where[0] == '+' || isdigit(where[0])) { /* is a skypeout number */
+                          fprintf(p->phonebook_writing_fp,
+                                  "%s  => ,%sSKO,,,hidefromdir=%s|phonebook_direct_calling_ext=%d%s%.4d|phonebook_entry_fromskype=%s|phonebook_entry_owner=%s\n",
+                                  where, where, "no",
+                                  p->skypiax_dir_entry_extension_prefix, "2",
+                                  skypiax_dir_entry_extension, "yes", "not_specified");
+                        } else {    /* is a skype name */
+                          fprintf(p->phonebook_writing_fp,
+                                  "%s  => ,%sSKY,,,hidefromdir=%s|phonebook_direct_calling_ext=%d%s%.4d|phonebook_entry_fromskype=%s|phonebook_entry_owner=%s\n",
+                                  where, where, "no",
+                                  p->skypiax_dir_entry_extension_prefix, "1",
+                                  skypiax_dir_entry_extension, "yes", "not_specified");
+
+                        }
+                      }
+                    }
+
+                    skype_dir_file_written = 0;
+
+                  }
+
+                }
+                p->skype_fullname[0] = '\0';
+
+              }
+              where = strsep(stringp, ", ");
+            }
+
+            p->skype_friends[0] = '\0';
+          }
+        }
+      } else {
+
+        ast_cli(fd,
+                "Skype not configured on the 'current' console, not importing from Skype client!\n");
+      }
+    //}
+  /*******************************************************************************************/
+  /*******************************************************************************************/
+  } else {
+    ast_cli(fd, "\n\nfailed to open the skypiax_dir.conf configuration file: %s\n", fn);
+    ERRORA("failed to open the skypiax_dir.conf configuration file: %s\n", SKYPIAX_P_LOG,
+           fn);
+    return RESULT_FAILURE;
+  }
+
+  fclose(p->phonebook_writing_fp);
+  //skypiax_dir_create_extensions();
+
+  return RESULT_SUCCESS;
+}


From gmaruzz at freeswitch.org  Sat Jan 31 08:07:53 2009
From: gmaruzz at freeswitch.org (FreeSWITCH SVN)
Date: Sat, 31 Jan 2009 10:07:53 -0600
Subject: [Freeswitch-branches] [commit] r11578 -
	freeswitch/branches/gmaruzz/mod_skypiax/asterisk
Message-ID: 

Author: gmaruzz
Date: Sat Jan 31 10:07:53 2009
New Revision: 11578

Log:
skypiax: has answered first call on asterisk, DTMF incoming works (eg. IVR), outbound audio works, incoming audio not yet

Modified:
   freeswitch/branches/gmaruzz/mod_skypiax/asterisk/chan_skypiax.c
   freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax.h
   freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax_protocol.c

Modified: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/chan_skypiax.c
==============================================================================
--- freeswitch/branches/gmaruzz/mod_skypiax/asterisk/chan_skypiax.c	(original)
+++ freeswitch/branches/gmaruzz/mod_skypiax/asterisk/chan_skypiax.c	Sat Jan 31 10:07:53 2009
@@ -107,7 +107,7 @@
 /*! \brief Default skypiax_pvt structure values, 
  * used by skypiax_mkif to initialize the interfaces */
 struct skypiax_pvt skypiax_default = {
-  .interface_state = AST_STATE_DOWN,
+  .interface_state = SKYPIAX_STATE_DOWN,
   .skype_callflow = 0,
   .context = "default",
   .language = "en",
@@ -341,7 +341,7 @@
           DEBUGA_PBX("Requesting: %s, name: %s, format: %d\n", SKYPIAX_P_LOG, type, name,
                      format);
           /* create a new channel owning this interface */
-          tmp = skypiax_new(p, AST_STATE_DOWN, p->context);
+          tmp = skypiax_new(p, SKYPIAX_STATE_DOWN, p->context);
           if (!tmp) {
             /* the channel was not created, probable memory allocation error */
             *cause = AST_CAUSE_SWITCH_CONGESTION;
@@ -398,16 +398,16 @@
   if (option_debug > 10) {
     DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);
   }
-  if (p->skype && p->interface_state != AST_STATE_DOWN) {
+  if (p->skype && p->interface_state != SKYPIAX_STATE_DOWN) {
     char msg_to_skype[1024];
-    p->interface_state = AST_STATE_HANGUP_REQUESTED;
+    p->interface_state = SKYPIAX_STATE_HANGUP_REQUESTED;
     DEBUGA_SKYPE("hanging up skype call: %s\n", SKYPIAX_P_LOG, p->skype_call_id);
     //sprintf(msg_to_skype, "SET CALL %s STATUS FINISHED", p->skype_call_id);
     sprintf(msg_to_skype, "ALTER CALL %s HANGUP", p->skype_call_id);
     skypiax_skype_write(p, msg_to_skype);
   }
 
-  while (p->interface_state != AST_STATE_DOWN) {
+  while (p->interface_state != SKYPIAX_STATE_DOWN) {
     usleep(10000);
   }
   DEBUGA_SKYPE("Now is really DOWN\n", SKYPIAX_P_LOG);
@@ -434,7 +434,7 @@
   }
   p->controldev_thread = AST_PTHREADT_NULL;
 
-  p->interface_state = AST_STATE_DOWN;
+  p->interface_state = SKYPIAX_STATE_DOWN;
   p->skype_callflow = CALLFLOW_CALL_IDLE;
 
   DEBUGA_PBX("I'll send AST_CONTROL_HANGUP\n", SKYPIAX_P_LOG);
@@ -454,7 +454,7 @@
   /* our channel has no more this skypiax pvt interface to manage */
   c->tech_pvt = NULL;
   /* set the channel state to DOWN, eg. available, not in active use */
-  if (ast_setstate(c, AST_STATE_DOWN)) {
+  if (ast_setstate(c, SKYPIAX_STATE_DOWN)) {
     ERRORA("ast_setstate failed, BAD\n", SKYPIAX_P_LOG);
     if (option_debug > 10) {
       DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
@@ -490,11 +490,11 @@
     DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);
   }
   /* whle ringing, we just wait, the skype thread will answer */
-  while (p->interface_state == AST_STATE_RING) {
+  while (p->interface_state == SKYPIAX_STATE_RING) {
     usleep(10000);              //10msec
   }
-  if (p->interface_state != AST_STATE_UP) {
-    ERRORA("call answering failed\n", SKYPIAX_P_LOG);
+  if (p->interface_state != SKYPIAX_STATE_UP) {
+    ERRORA("call answering failed, we want it to be into interface_state=%d, got %d\n", SKYPIAX_P_LOG, SKYPIAX_STATE_UP, p->interface_state);
     res = -1;
   } else {
     if (option_debug)
@@ -603,7 +603,7 @@
   f.delivery.tv_usec = 0;
 
 /* if the call is not active (ie: answered), do not send audio frames, they would pile up in a lag queue */
-  if (p->owner && p->owner->_state != AST_STATE_UP) {
+  if (p->owner && p->owner->_state != SKYPIAX_STATE_UP) {
     if (option_debug > 100) {
       DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
     }
@@ -652,8 +652,8 @@
   if (option_debug > 10) {
     DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);
   }
-  if ((c->_state != AST_STATE_DOWN)
-      && (c->_state != AST_STATE_RESERVED)) {
+  if ((c->_state != SKYPIAX_STATE_DOWN)
+      && (c->_state != SKYPIAX_STATE_RESERVED)) {
     ERRORA("skypiax_call called on %s, neither down nor reserved\n", SKYPIAX_P_LOG,
            c->name);
     if (option_debug > 10) {
@@ -697,7 +697,7 @@
     DEBUGA_PBX("skypiax_call dialed idest: %s, timeout: %d, dstr: %s!\n", SKYPIAX_P_LOG,
                idest, timeout, dstr);
 
-  ast_setstate(p->owner, AST_STATE_DIALING);
+  ast_setstate(p->owner, SKYPIAX_STATE_DIALING);
   if (option_debug > 10) {
     DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
   }
@@ -732,7 +732,7 @@
   if (option_debug > 100) {
     DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);
   }
-  if (p->owner && p->owner->_state != AST_STATE_UP) {
+  if (p->owner && p->owner->_state != SKYPIAX_STATE_UP) {
     if (option_debug > 100) {
       DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
     }
@@ -862,7 +862,7 @@
       return NULL;
     }
     /* if the requested state is different from DOWN, let the pbx manage this interface (now part of the newly created channel) */
-    if (state != AST_STATE_DOWN) {
+    if (state != SKYPIAX_STATE_DOWN) {
       DEBUGA_PBX("Try to start PBX on %s, state=%d\n", SKYPIAX_P_LOG, tmp->name, state);
       if (ast_pbx_start(tmp)) {
         ERRORA("Unable to start PBX on %s\n", SKYPIAX_P_LOG, tmp->name);
@@ -1422,7 +1422,7 @@
     free(tmp);
     return NULL;
   }
-  res = pipe(tmp->AsteriskHandlesAst.fdesc);
+  res = pipe(tmp->SkypiaxHandles.fdesc);
   if (res) {
     ast_log(LOG_ERROR, "Unable to create skype pipe\n");
     if (option_debug > 10) {
@@ -1431,9 +1431,10 @@
     free(tmp);
     return NULL;
   }
-  fcntl(tmp->AsteriskHandlesAst.fdesc[0], F_SETFL, O_NONBLOCK);
-  fcntl(tmp->AsteriskHandlesAst.fdesc[1], F_SETFL, O_NONBLOCK);
+  fcntl(tmp->SkypiaxHandles.fdesc[0], F_SETFL, O_NONBLOCK);
+  fcntl(tmp->SkypiaxHandles.fdesc[1], F_SETFL, O_NONBLOCK);
   tmp->skype_thread = AST_PTHREADT_NULL;
+
   if (tmp->skype) {
     if (option_debug > 1)
       ast_log(LOG_DEBUG, "TO BE started skype_thread=%lu STOP=%lu NULL=%lu\n",
@@ -1441,7 +1442,7 @@
               (unsigned long) AST_PTHREADT_NULL);
 #ifdef __CYGWIN__
     if (ast_pthread_create
-        (&tmp->skype_thread, NULL, do_skypeapi_thread, &tmp->AsteriskHandlesAst) < 0) {
+        (&tmp->skype_thread, NULL, do_skypeapi_thread, &tmp->SkypiaxHandles) < 0) {
       ast_log(LOG_ERROR, "Unable to start skype_main thread.\n");
       if (option_debug > 10) {
         DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_TMP_LOG);
@@ -1452,7 +1453,7 @@
 #else /* __CYGWIN__ */
 #ifdef WANT_SKYPE_X11
     if (option_debug > 1)
-      ast_log(LOG_DEBUG, "AsteriskHandlesfd: %d\n", tmp->AsteriskHandlesAst.fdesc[1]);
+      ast_log(LOG_DEBUG, "AsteriskHandlesfd: %d\n", tmp->SkypiaxHandles.fdesc[1]);
     if (ast_pthread_create(&tmp->skype_thread, NULL, do_skypeapi_thread, tmp) < 0) {
       ast_log(LOG_ERROR, "Unable to start skype_main thread.\n");
       if (option_debug > 10) {
@@ -1478,6 +1479,57 @@
               (unsigned long) AST_PTHREADT_NULL);
   }
 
+
+#if 0
+  if (tmp->skype) {
+#if 0
+    if (option_debug > 1)
+      ast_log(LOG_DEBUG, "TO BE started skype_thread=%lu STOP=%lu NULL=%lu\n",
+              (unsigned long) tmp->skype_thread, (unsigned long) AST_PTHREADT_STOP,
+              (unsigned long) AST_PTHREADT_NULL);
+#endif
+#ifdef __CYGWIN__
+    if (ast_pthread_create
+        (&tmp->skype_thread, NULL, do_skypeapi_thread, &tmp->SkypiaxHandles) < 0) {
+      ast_log(LOG_ERROR, "Unable to start skype_main thread.\n");
+      if (option_debug > 10) {
+        DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_TMP_LOG);
+      }
+      free(tmp);
+      return NULL;
+    }
+#else /* __CYGWIN__ */
+#ifdef WANT_SKYPE_X11
+    if (ast_pthread_create(&tmp->signaling_thread, NULL, do_signaling_thread_fnc, tmp) < 0) {
+      ast_log(LOG_ERROR, "Unable to start skype_main thread.\n");
+      if (option_debug > 10) {
+        DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_TMP_LOG);
+      }
+      free(tmp);
+      return NULL;
+    }
+#endif /* WANT_SKYPE_X11 */
+#endif /* __CYGWIN__ */
+    usleep(100000); //0.1 sec
+    if( tmp->skype_thread == AST_PTHREADT_NULL){
+      ast_log(LOG_ERROR, "Unable to start skype_main thread.\n");
+      if (option_debug > 10) {
+        DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_TMP_LOG);
+      }
+      free(tmp);
+      return NULL;
+    }
+    if (option_debug > 1)
+      ast_log(LOG_DEBUG, "STARTED signaling_thread=%lu STOP=%lu NULL=%lu\n",
+              (unsigned long) tmp->signaling_thread, (unsigned long) AST_PTHREADT_STOP,
+              (unsigned long) AST_PTHREADT_NULL);
+  }
+
+#endif
+
+
+
+
   /* return the newly created skypiax_pvt */
   if (option_debug > 10) {
     DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_TMP_LOG);
@@ -1577,14 +1629,14 @@
         /* This interface needs to be watched, as it lacks an owner */
 
         if (p->skype) {
-          if (FD_ISSET(p->AsteriskHandlesAst.fdesc[0], &rfds))
-            ERRORA("Descriptor %d (AsteriskHandlesAst.fdesc[0]) appears twice ?\n",
-                   SKYPIAX_P_LOG, p->AsteriskHandlesAst.fdesc[0]);
-
-          if (p->AsteriskHandlesAst.fdesc[0] > 0) {
-            FD_SET(p->AsteriskHandlesAst.fdesc[0], &rfds);
-            if (p->AsteriskHandlesAst.fdesc[0] > max)
-              max = p->AsteriskHandlesAst.fdesc[0];
+          if (FD_ISSET(p->SkypiaxHandles.fdesc[0], &rfds))
+            ERRORA("Descriptor %d (SkypiaxHandles.fdesc[0]) appears twice ?\n",
+                   SKYPIAX_P_LOG, p->SkypiaxHandles.fdesc[0]);
+
+          if (p->SkypiaxHandles.fdesc[0] > 0) {
+            FD_SET(p->SkypiaxHandles.fdesc[0], &rfds);
+            if (p->SkypiaxHandles.fdesc[0] > max)
+              max = p->SkypiaxHandles.fdesc[0];
 
           }
         }
@@ -1639,12 +1691,12 @@
     for (; p; p = p->next) {
 
       if (p->skype) {
-        if (FD_ISSET(p->AsteriskHandlesAst.fdesc[0], &rfds)) {
+        if (FD_ISSET(p->SkypiaxHandles.fdesc[0], &rfds)) {
           res = skypiax_skype_read(p);
           if (res == CALLFLOW_INCOMING_CALLID || res == CALLFLOW_INCOMING_RING) {
             //ast_log(LOG_NOTICE, "CALLFLOW_INCOMING_RING SKYPE\n");
             DEBUGA_SKYPE("CALLFLOW_INCOMING_RING\n", SKYPIAX_P_LOG);
-            skypiax_new(p, AST_STATE_RING, p->context /* p->context */ );
+            skypiax_new(p, SKYPIAX_STATE_RING, p->context /* p->context */ );
           }
         }
       }
@@ -2051,7 +2103,33 @@
 	return 0;
 
 }
-int start_audio_threads(private_t *tech_pvt) {
+int start_audio_threads(private_t *p) {
+                if (!p->tcp_srv_thread) {
+                  if (ast_pthread_create
+                      (&p->tcp_srv_thread, NULL, skypiax_do_tcp_srv_thread, p) < 0) {
+                    ERRORA("Unable to start tcp_srv_thread thread.\n", SKYPIAX_P_LOG);
+                    if (option_debug > 100) {
+                      DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+                    }
+                    return -1;
+                  } else {
+                    DEBUGA_SKYPE("started tcp_srv_thread thread.\n", SKYPIAX_P_LOG);
+                  }
+                }
+                if (!p->tcp_cli_thread) {
+                  if (ast_pthread_create
+                      (&p->tcp_cli_thread, NULL, skypiax_do_tcp_cli_thread, p) < 0) {
+                    ERRORA("Unable to start tcp_cli_thread thread.\n", SKYPIAX_P_LOG);
+                    if (option_debug > 100) {
+                      DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+                    }
+                    return -1;
+                  } else {
+                    DEBUGA_SKYPE("started tcp_cli_thread thread.\n", SKYPIAX_P_LOG);
+                  }
+                }
+
+
 #ifdef NOTDEF
                   switch_threadattr_t *thd_attr = NULL;
 
@@ -2077,7 +2155,8 @@
 	return 0;
 }
 
-int new_inbound_channel(private_t *tech_pvt) {
+int new_inbound_channel(private_t *p) {
+
 #ifdef NOTDEF
                   switch_core_session_t *session = NULL;
                   switch_channel_t *channel = NULL;
@@ -2113,12 +2192,12 @@
                   }
                   switch_channel_mark_answered(channel);
 
-        DEBUGA_SKYPE("Here\n", SKYPIAX_P_LOG);
 
 #endif
+        NOTICA("Here\n", SKYPIAX_P_LOG);
 	return 0;
 }
-int outbound_channel_answered(private_t *tech_pvt) {
+int outbound_channel_answered(private_t *p) {
 #ifdef NOTDEF
                   switch_core_session_t *session = NULL;
                   switch_channel_t *channel = NULL;
@@ -2142,12 +2221,20 @@
                   }
 
                   switch_core_session_rwunlock(session);
-                  DEBUGA_SKYPE("HERE!\n", SKYPIAX_P_LOG);
 
 #endif
+                  NOTICA("HERE!\n", SKYPIAX_P_LOG);
 
 	return 0;
 }
+void * skypiax_do_tcp_srv_thread(void *obj)
+{
+	return skypiax_do_tcp_srv_thread_func(obj);
+}
+void * skypiax_do_tcp_cli_thread(void *obj)
+{
+	return skypiax_do_tcp_cli_thread_func(obj);
+}
 
 /************************************************/
 #ifdef ASTERISK_VERSION_1_4

Modified: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax.h
==============================================================================
--- freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax.h	(original)
+++ freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax.h	Sat Jan 31 10:07:53 2009
@@ -297,6 +297,7 @@
   char skype_password[256];
   char destination[256];
   char session_uuid_str[512 + 1];
+  pthread_t signaling_thread;
 };
 
 typedef struct skypiax_pvt private_t;
@@ -401,12 +402,13 @@
 int new_inbound_channel(private_t *tech_pvt);
 int outbound_channel_answered(private_t *tech_pvt);
 int skypiax_skype_senddigit(struct skypiax_pvt *p, char digit);
-#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
+#define		SKYPIAX_STATE_DOWN		AST_STATE_DOWN
+#define		SKYPIAX_STATE_RING		AST_STATE_RING
+#define		SKYPIAX_STATE_DIALING	AST_STATE_DIALING
+#define		SKYPIAX_STATE_BUSY		AST_STATE_BUSY
+#define		SKYPIAX_STATE_UP		AST_STATE_UP
+#define		SKYPIAX_STATE_RINGING	AST_STATE_RINGING
+#define		SKYPIAX_STATE_PRERING	AST_STATE_PRERING
+#define		SKYPIAX_STATE_RESERVED	AST_STATE_RESERVED
 #define 	SKYPIAX_STATE_HANGUP_REQUESTED   200
 #endif /* _SKYPIAX_H_ */

Modified: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax_protocol.c
==============================================================================
--- freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax_protocol.c	(original)
+++ freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax_protocol.c	Sat Jan 31 10:07:53 2009
@@ -126,8 +126,8 @@
 
         if ((SAMPLERATE_SKYPIAX - 8000) == 0) {
 
-          ERRORA("tech_pvt->audiopipe[0] = %d\n", SKYPIAX_P_LOG, tech_pvt->audiopipe[0]);
-          ERRORA("tech_pvt->audiopipe[1] = %d\n", SKYPIAX_P_LOG, tech_pvt->audiopipe[1]);
+          //ERRORA("tech_pvt->audiopipe[0] = %d\n", SKYPIAX_P_LOG, tech_pvt->audiopipe[0]);
+          //ERRORA("tech_pvt->audiopipe[1] = %d\n", SKYPIAX_P_LOG, tech_pvt->audiopipe[1]);
           if (len > 0) {
             a = 0;
             for (i = 0; i < len / sizeof(short); i++) {
@@ -933,6 +933,15 @@
 
   DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);
 
+  if(!strlen(tech_pvt->X11_display))
+  	strcpy(tech_pvt->X11_display, getenv("DISPLAY"));
+
+  if(!tech_pvt->tcp_srv_port)
+  	tech_pvt->tcp_srv_port = 10160;
+
+  if(!tech_pvt->tcp_cli_port)
+  	tech_pvt->tcp_cli_port = 10161;
+
   if (pipe(tech_pvt->SkypiaxHandles.fdesc)) {
     fcntl(tech_pvt->SkypiaxHandles.fdesc[0], F_SETFL, O_NONBLOCK);
     fcntl(tech_pvt->SkypiaxHandles.fdesc[1], F_SETFL, O_NONBLOCK);
@@ -1019,6 +1028,7 @@
           howmany = strlen(b) + 1;
 
           howmany = write(SkypiaxHandles->fdesc[1], b, howmany);
+      //DEBUGA_PBX("HERE: %s\n", SKYPIAX_P_LOG, b);
           memset(buffer, '\0', 17000);
         }
 


From gmaruzz at freeswitch.org  Sat Jan 31 08:48:15 2009
From: gmaruzz at freeswitch.org (FreeSWITCH SVN)
Date: Sat, 31 Jan 2009 10:48:15 -0600
Subject: [Freeswitch-branches] [commit] r11579 - in
	freeswitch/branches/gmaruzz/mod_skypiax: . asterisk
Message-ID: 

Author: gmaruzz
Date: Sat Jan 31 10:48:15 2009
New Revision: 11579

Log:
skypiax: same skyiax_protocol.c for FS and *. FS: works as before. Incoming audio not yet working on *, outgoing audio, incoming dtmf, IVR, works

Modified:
   freeswitch/branches/gmaruzz/mod_skypiax/asterisk/Makefile
   freeswitch/branches/gmaruzz/mod_skypiax/asterisk/chan_skypiax.c
   freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax_protocol.c
   freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c

Modified: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/Makefile
==============================================================================
--- freeswitch/branches/gmaruzz/mod_skypiax/asterisk/Makefile	(original)
+++ freeswitch/branches/gmaruzz/mod_skypiax/asterisk/Makefile	Sat Jan 31 10:48:15 2009
@@ -23,6 +23,9 @@
 #AST_INCLUDE_DIR=/home/maruzz/devel/svn_asterisk_branches_14/include
 AST_INCLUDE_DIR=/home/maruzz/devel/svn_celliax_trunk/asterisk-1.2.rev137401/include
 
+#ASTERISK
+CFLAGS+=-DASTERISK
+
 #ASTERISK VERSION
 #Uncomment one of the following lines to match your Asterisk series
 #CFLAGS+=-DASTERISK_VERSION_1_4

Modified: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/chan_skypiax.c
==============================================================================
--- freeswitch/branches/gmaruzz/mod_skypiax/asterisk/chan_skypiax.c	(original)
+++ freeswitch/branches/gmaruzz/mod_skypiax/asterisk/chan_skypiax.c	Sat Jan 31 10:48:15 2009
@@ -2236,6 +2236,71 @@
 	return skypiax_do_tcp_cli_thread_func(obj);
 }
 
+int skypiax_skypeaudio_write(struct skypiax_pvt *p, struct ast_frame *f)
+{
+  int sent;
+
+  if (option_debug > 100) {
+    DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);
+  }
+  sent = write(p->audioskypepipe[1], (short *) f->data, f->datalen);
+
+  if (option_debug > 100) {
+    DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+  }
+  return 0;
+}
+int skypiax_console_skype(int fd, int argc, char *argv[])
+{
+  struct skypiax_pvt *p = skypiax_console_find_desc(skypiax_console_active);
+  char skype_msg[1024];
+  int i, a, c;
+
+  if (argc == 1) {
+    return RESULT_SHOWUSAGE;
+  }
+  if (!p) {
+    ast_cli(fd,
+            "No \"current\" console for skypiax_skype, please enter 'help console'\n");
+    return RESULT_SUCCESS;
+  }
+  if (option_debug > 10) {
+    DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);
+  }
+  if (!p->skype) {
+    ast_cli(fd, "The \"current\" console is not connected to a Skype client'\n");
+    if (option_debug > 10) {
+      DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+    }
+    if (option_debug > 10) {
+      DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+    }
+    return RESULT_SUCCESS;
+  }
+
+  memset(skype_msg, 0, sizeof(skype_msg));
+  c = 0;
+  for (i = 1; i < argc; i++) {
+    for (a = 0; a < strlen(argv[i]); a++) {
+      skype_msg[c] = argv[i][a];
+      c++;
+      if (c == 1022)
+        break;
+    }
+    if (i != argc - 1) {
+      skype_msg[c] = ' ';
+      c++;
+    }
+    if (c == 1023)
+      break;
+  }
+  skypiax_skype_write(p, skype_msg);
+  if (option_debug > 10) {
+    DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
+  }
+  return RESULT_SUCCESS;
+}
+
 /************************************************/
 #ifdef ASTERISK_VERSION_1_4
 #ifndef AST_MODULE

Modified: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax_protocol.c
==============================================================================
--- freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax_protocol.c	(original)
+++ freeswitch/branches/gmaruzz/mod_skypiax/asterisk/skypiax_protocol.c	Sat Jan 31 10:48:15 2009
@@ -1,19 +1,23 @@
 #include "skypiax.h"
 
+#ifdef ASTERISK
 #define skypiax_sleep usleep
-#define skypiax_file_write switch_file_write
-#define skypiax_file_read switch_file_read
-
 #define tech_pvt p
-
 #define SKYPIAX_DIR_CONFIG "directoriax.conf"
-
 extern int skypiax_debug;
-//extern switch_memory_pool_t *skypiax_module_pool;
+#define skypiax_file_write switch_file_write
+#define skypiax_file_read switch_file_read
+extern char *skypiax_console_active;
+#else /* FREESWITCH */
+#define skypiax_sleep switch_sleep
+extern switch_memory_pool_t *skypiax_module_pool;
+extern switch_endpoint_interface_t *skypiax_endpoint_interface;
+#define skypiax_file_write switch_file_write
+#define skypiax_file_read switch_file_read
+#endif /* ASTERISK */
+
 extern int option_debug;
-//extern switch_endpoint_interface_t *skypiax_endpoint_interface;
 extern int running;
-extern char *skypiax_console_active;
 
 /* GLOBALS */
 int skypiax_dir_entry_extension=1;
@@ -1028,7 +1032,6 @@
           howmany = strlen(b) + 1;
 
           howmany = write(SkypiaxHandles->fdesc[1], b, howmany);
-      //DEBUGA_PBX("HERE: %s\n", SKYPIAX_P_LOG, b);
           memset(buffer, '\0', 17000);
         }
 
@@ -1632,110 +1635,7 @@
   return 0;
 }
 
-#if 0
-static switch_status_t channel_write_frame(switch_core_session_t * session,
-                                           switch_frame_t * frame, switch_io_flag_t flags,
-                                           int stream_id)
-{
-  switch_channel_t *channel = NULL;
-  private_t *tech_pvt = NULL;
-  unsigned int sent;
-
-  channel = switch_core_session_get_channel(session);
-  assert(channel != NULL);
-
-  tech_pvt = switch_core_session_get_private(session);
-  assert(tech_pvt != NULL);
-
-  if (!switch_test_flag(tech_pvt, TFLAG_IO)) {
-    ERRORA("CIAPA \n", SKYPIAX_P_LOG);
-    return SWITCH_STATUS_FALSE;
-  }
-#ifdef BIGENDIAN
-  if (switch_test_flag(tech_pvt, TFLAG_LINEAR)) {
-    switch_swap_linear(frame->data, (int) frame->datalen / 2);
-  }
-#endif
-
-  sent = frame->datalen;
-#ifdef WIN32
-  switch_file_write(tech_pvt->audioskypepipe[1], frame->data, &sent);
-#else /* WIN32 */
-  sent = write(tech_pvt->audioskypepipe[1], frame->data, sent);
-#endif /* WIN32 */
-  if (sent != frame->datalen && sent != -1) {
-    DEBUGA_SKYPE("CLI PIPE write %d\n", SKYPIAX_P_LOG, sent);
-  }
-
-  return SWITCH_STATUS_SUCCESS;
-}
-#endif
-
-
-int skypiax_skypeaudio_write(struct skypiax_pvt *p, struct ast_frame *f)
-{
-  int sent;
-
-  if (option_debug > 100) {
-    DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);
-  }
-  sent = write(p->audioskypepipe[1], (short *) f->data, f->datalen);
-
-  if (option_debug > 100) {
-    DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
-  }
-  return 0;
-}
-int skypiax_console_skype(int fd, int argc, char *argv[])
-{
-  struct skypiax_pvt *p = skypiax_console_find_desc(skypiax_console_active);
-  char skype_msg[1024];
-  int i, a, c;
-
-  if (argc == 1) {
-    return RESULT_SHOWUSAGE;
-  }
-  if (!p) {
-    ast_cli(fd,
-            "No \"current\" console for skypiax_skype, please enter 'help console'\n");
-    return RESULT_SUCCESS;
-  }
-  if (option_debug > 10) {
-    DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);
-  }
-  if (!p->skype) {
-    ast_cli(fd, "The \"current\" console is not connected to a Skype client'\n");
-    if (option_debug > 10) {
-      DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
-    }
-    if (option_debug > 10) {
-      DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
-    }
-    return RESULT_SUCCESS;
-  }
-
-  memset(skype_msg, 0, sizeof(skype_msg));
-  c = 0;
-  for (i = 1; i < argc; i++) {
-    for (a = 0; a < strlen(argv[i]); a++) {
-      skype_msg[c] = argv[i][a];
-      c++;
-      if (c == 1022)
-        break;
-    }
-    if (i != argc - 1) {
-      skype_msg[c] = ' ';
-      c++;
-    }
-    if (c == 1023)
-      break;
-  }
-  skypiax_skype_write(p, skype_msg);
-  if (option_debug > 10) {
-    DEBUGA_PBX("EXITING FUNC\n", SKYPIAX_P_LOG);
-  }
-  return RESULT_SUCCESS;
-}
+#ifdef ASTERISK
 int skypiax_console_skypiax_dir_import(int fd, int argc, char *argv[])
 {
   //int res;
@@ -2107,3 +2007,4 @@
 
   return RESULT_SUCCESS;
 }
+#endif /* ASTERISK */

Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c
==============================================================================
--- freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c	(original)
+++ freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c	Sat Jan 31 10:48:15 2009
@@ -1,14 +1,26 @@
 #include "skypiax.h"
 
+#ifdef ASTERISK
+#define skypiax_sleep usleep
+#define tech_pvt p
+#define SKYPIAX_DIR_CONFIG "directoriax.conf"
+extern int skypiax_debug;
+#define skypiax_file_write switch_file_write
+#define skypiax_file_read switch_file_read
+extern char *skypiax_console_active;
+#else /* FREESWITCH */
 #define skypiax_sleep switch_sleep
+extern switch_memory_pool_t *skypiax_module_pool;
+extern switch_endpoint_interface_t *skypiax_endpoint_interface;
 #define skypiax_file_write switch_file_write
 #define skypiax_file_read switch_file_read
+#endif /* ASTERISK */
 
-extern switch_memory_pool_t *skypiax_module_pool;
 extern int option_debug;
-extern switch_endpoint_interface_t *skypiax_endpoint_interface;
 extern int running;
 
+/* GLOBALS */
+int skypiax_dir_entry_extension=1;
 /*************************************/
 #ifndef WIN32
 XErrorHandler old_handler = 0;
@@ -118,8 +130,8 @@
 
         if ((SAMPLERATE_SKYPIAX - 8000) == 0) {
 
-          ERRORA("tech_pvt->audiopipe[0] = %d\n", SKYPIAX_P_LOG, tech_pvt->audiopipe[0]);
-          ERRORA("tech_pvt->audiopipe[1] = %d\n", SKYPIAX_P_LOG, tech_pvt->audiopipe[1]);
+          //ERRORA("tech_pvt->audiopipe[0] = %d\n", SKYPIAX_P_LOG, tech_pvt->audiopipe[0]);
+          //ERRORA("tech_pvt->audiopipe[1] = %d\n", SKYPIAX_P_LOG, tech_pvt->audiopipe[1]);
           if (len > 0) {
             a = 0;
             for (i = 0; i < len / sizeof(short); i++) {
@@ -509,7 +521,7 @@
     if (samples != SAMPLES_PER_FRAME * sizeof(short)) {
       //if (samples)
       //ERRORA("SRV PIPE READ=====> NOT GOOD samples=%u expected=%lu\n", SKYPIAX_P_LOG, samples, SAMPLES_PER_FRAME * sizeof(short));
-      assert(samples == SAMPLES_PER_FRAME * sizeof(short)); //do a crash, please
+      //assert(samples == SAMPLES_PER_FRAME * sizeof(short)); //do a crash, please
       return 0;
     } else {
       /* A real frame */
@@ -925,6 +937,15 @@
 
   DEBUGA_PBX("ENTERING FUNC\n", SKYPIAX_P_LOG);
 
+  if(!strlen(tech_pvt->X11_display))
+  	strcpy(tech_pvt->X11_display, getenv("DISPLAY"));
+
+  if(!tech_pvt->tcp_srv_port)
+  	tech_pvt->tcp_srv_port = 10160;
+
+  if(!tech_pvt->tcp_cli_port)
+  	tech_pvt->tcp_cli_port = 10161;
+
   if (pipe(tech_pvt->SkypiaxHandles.fdesc)) {
     fcntl(tech_pvt->SkypiaxHandles.fdesc[0], F_SETFL, O_NONBLOCK);
     fcntl(tech_pvt->SkypiaxHandles.fdesc[1], F_SETFL, O_NONBLOCK);
@@ -1613,3 +1634,377 @@
   //FIXME ast_queue_control(tech_pvt->owner, SKYPIAX_CONTROL_RINGING);
   return 0;
 }
+
+#ifdef ASTERISK
+int skypiax_console_skypiax_dir_import(int fd, int argc, char *argv[])
+{
+  //int res;
+  struct skypiax_pvt *p = skypiax_console_find_desc(skypiax_console_active);
+  //char list_command[64];
+  char fn[256];
+  char date[256] = "";
+  time_t t;
+  char *configfile = SKYPIAX_DIR_CONFIG;
+  int add_to_skypiax_dir_conf = 1;
+  //int fromskype = 0;
+  //int fromcell = 0;
+
+#if 0
+  if(directoriax_entry_extension){
+    skypiax_dir_entry_extension=directoriax_entry_extension;
+  }else{
+    ast_cli(fd, "No 'directoriax_entry_extension', you MUST have loaded directoriax.so\n");
+    return RESULT_SUCCESS;
+  }
+#endif
+
+  if (argc != 2)
+    return RESULT_SHOWUSAGE;
+  if (!p) {
+    ast_cli(fd, "No \"current\" console ???, please enter 'help skypiax_console'\n");
+    return RESULT_SUCCESS;
+  }
+
+  if (!strcasecmp(argv[1], "add"))
+    add_to_skypiax_dir_conf = 1;
+  else if (!strcasecmp(argv[1], "replace"))
+    add_to_skypiax_dir_conf = 0;
+  else {
+    ast_cli(fd, "\n\nYou have neither specified 'add' nor 'replace'\n\n");
+    return RESULT_SHOWUSAGE;
+  }
+
+#if 0
+  if (!strcasecmp(argv[2], "fromskype"))
+    fromskype = 1;
+  else if (!strcasecmp(argv[2], "fromcell"))
+    fromcell = 1;
+  else {
+    ast_cli(fd, "\n\nYou have neither specified 'fromskype' nor 'fromcell'\n\n");
+    return RESULT_SHOWUSAGE;
+  }
+
+  if (fromcell) {
+    ast_cli(fd,
+            "Importing from cellphone is currently supported only on \"AT\" cellphones :( !\n");
+    //fclose(p->phonebook_writing_fp);
+    //skypiax_dir_create_extensions();
+    return RESULT_SUCCESS;
+  }
+
+  if (fromskype)
+    if (!p->skype) {
+      ast_cli(fd, "Importing from skype is supported by skypiax_dir on chan_skypiax!\n");
+      //fclose(p->phonebook_writing_fp);
+      //skypiax_dir_create_extensions();
+      return RESULT_SUCCESS;
+    }
+
+  if (fromcell || fromskype)
+    if (argc != 3) {
+      ast_cli(fd,
+              "\n\nYou don't have to specify a filename with 'fromcell' or with 'fromskype'\n\n");
+      return RESULT_SHOWUSAGE;
+    }
+#endif
+
+  /*******************************************************************************************/
+
+  if (configfile[0] == '/') {
+    ast_copy_string(fn, configfile, sizeof(fn));
+  } else {
+    snprintf(fn, sizeof(fn), "%s/%s", ast_config_AST_CONFIG_DIR, configfile);
+  }
+  if (option_debug)
+    NOTICA("Opening '%s'\n", SKYPIAX_P_LOG, fn);
+  time(&t);
+  ast_copy_string(date, ctime(&t), sizeof(date));
+
+  if (add_to_skypiax_dir_conf)
+    p->phonebook_writing_fp = fopen(fn, "a+");
+  else
+    p->phonebook_writing_fp = fopen(fn, "w+");
+
+  if (p->phonebook_writing_fp) {
+    if (add_to_skypiax_dir_conf) {
+      if (option_debug)
+        NOTICA("Opened '%s' for appending \n", SKYPIAX_P_LOG, fn);
+      fprintf(p->phonebook_writing_fp, ";!\n");
+      fprintf(p->phonebook_writing_fp, ";! Update Date: %s", date);
+      fprintf(p->phonebook_writing_fp, ";! Updated by: %s, %d\n", __FILE__, __LINE__);
+      fprintf(p->phonebook_writing_fp, ";!\n");
+    } else {
+      if (option_debug)
+        NOTICA("Opened '%s' for writing \n", SKYPIAX_P_LOG, fn);
+      fprintf(p->phonebook_writing_fp, ";!\n");
+      fprintf(p->phonebook_writing_fp, ";! Automatically generated configuration file\n");
+      fprintf(p->phonebook_writing_fp, ";! Filename: %s (%s)\n", configfile, fn);
+      fprintf(p->phonebook_writing_fp, ";! Creation Date: %s", date);
+      fprintf(p->phonebook_writing_fp, ";! Generated by: %s, %d\n", __FILE__, __LINE__);
+      fprintf(p->phonebook_writing_fp, ";!\n");
+      fprintf(p->phonebook_writing_fp, "[general]\n\n");
+      fprintf(p->phonebook_writing_fp, "[default]\n");
+    }
+
+  /*******************************************************************************************/
+    //if (fromskype) {
+      if (p->skype) {
+        WARNINGA
+          ("About to querying the Skype client 'Contacts', it may take some moments... Don't worry.\n",
+           SKYPIAX_P_LOG);
+        if (p->skype_thread != AST_PTHREADT_NULL) {
+          char msg_to_skype[1024];
+
+          p->skype_friends[0] = '\0';
+          sprintf(msg_to_skype, "#333 SEARCH FRIENDS");
+          if (skypiax_skype_write(p, msg_to_skype) < 0) {
+            return -1;
+          }
+
+          int friends_count = 0;
+          while (p->skype_friends[0] == '\0') {
+            /* FIXME needs a timeout, can't wait forever! 
+             * eg. when skype is running but not connected! */
+            usleep(100);
+            friends_count++;
+            if (friends_count > 20000) {
+              return -1;        /* FIXME */
+            }
+          }
+
+        }
+
+        if (p->skype_thread != AST_PTHREADT_NULL) {
+          char msg_to_skype[1024];
+
+          if (p->skype_friends[0] != '\0') {
+            char *buf, *where;
+            char **stringp;
+            int skype_dir_file_written = 0;
+
+            buf = p->skype_friends;
+            stringp = &buf;
+            where = strsep(stringp, ", ");
+            while (where) {
+              if (where[0] != '\0') {
+                /*
+                 * So, we have the Skype username (the HANDLE, I think is called).
+                 * But we want to call the names we see in the Skype contact list
+                 * So, let's check the DISPLAYNAME (the end user modified contact name)
+                 * Then, we check the FULLNAME (that appears as it was the DISPLAYNAME 
+                 * if the end user has not modify it)
+                 * If we still have neither DISPLAYNAME nor FULLNAME, we'll use the 
+                 * Skipe username (the HANDLE)
+                 */
+
+                p->skype_displayname[0] = '\0';
+                sprintf(msg_to_skype, "#765 GET USER %s DISPLAYNAME", where);
+                skypiax_skype_write(p, msg_to_skype);
+                int displayname_count = 0;
+                while (p->skype_displayname[0] == '\0') {
+                  /* FIXME needs a timeout, can't wait forever! 
+                   * eg. when skype is running but not connected! */
+                  usleep(100);
+                  displayname_count++;
+                  if (displayname_count > 20000)
+                    return -1;  /* FIXME */
+                }
+                if (p->skype_displayname[0] != '\0') {
+                  char *where2;
+                  char sanitized[300];
+
+                  sanitized[0] = '\0';
+
+                  where2 = strstr(p->skype_displayname, "DISPLAYNAME ");
+                  if (where2) {
+
+                    /* there can be some *smart* that makes a displayname 
+                     * that is different than firstlast, */
+                    /* maybe initials, simbols, slashes, 
+                     * something smartish... let's check */
+
+                    if (where2[12] != '\0') {
+                      int i = 12;
+                      int x = 0;
+                      int spaces = 0;
+                      int last_char_was_space = 0;
+
+                      for (i = 12; i < strlen(where2) && x < 299; i++) {
+                        if (!isalnum(where2[i])) {
+                          if (!isblank(where2[i])) {
+                            /* bad char */
+                            continue;
+                          }
+                          /* is a space */
+                          if (last_char_was_space == 1) /* do not write 2 consecutive spaces */
+                            continue;
+                          last_char_was_space = 1;
+                          sanitized[x] = ' ';
+                          x++;
+                          continue;
+                        }
+                        /* is alphanum */
+                        last_char_was_space = 0;
+                        sanitized[x] = where2[i];
+                        x++;
+                        continue;
+                      }
+
+                      sanitized[x] = '\0';
+                      if (spaces == 0) {
+                      }
+                      DEBUGA_SKYPE("sanitized=|%s|, where=|%s|, where2=|%s|\n",
+                                   SKYPIAX_P_LOG, sanitized, where, &where2[12]);
+                    }
+
+                    if (where2[12] != '\0') {
+                      skypiax_dir_entry_extension++;
+                      if (where[0] == '+' || isdigit(where[0])) {   /* is a skypeout number */
+                        fprintf(p->phonebook_writing_fp,
+                                "%s  => ,%sSKO,,,hidefromdir=%s|phonebook_direct_calling_ext=%d%s%.4d|phonebook_entry_fromskype=%s|phonebook_entry_owner=%s\n",
+                                where, sanitized, "no",
+                                p->skypiax_dir_entry_extension_prefix, "2",
+                                skypiax_dir_entry_extension, "yes", "not_specified");
+                      } else {  /* is a skype name */
+                        fprintf(p->phonebook_writing_fp,
+                                "%s  => ,%sSKY,,,hidefromdir=%s|phonebook_direct_calling_ext=%d%s%.4d|phonebook_entry_fromskype=%s|phonebook_entry_owner=%s\n",
+                                where, sanitized, "no",
+                                p->skypiax_dir_entry_extension_prefix, "1",
+                                skypiax_dir_entry_extension, "yes", "not_specified");
+                      }
+                      skype_dir_file_written = 1;
+
+                    }
+                  }
+                }
+                p->skype_displayname[0] = '\0';
+
+                p->skype_fullname[0] = '\0';
+                sprintf(msg_to_skype, "#222 GET USER %s FULLNAME", where);
+                skypiax_skype_write(p, msg_to_skype);
+                int fullname_count = 0;
+                while (p->skype_fullname[0] == '\0') {
+                  /* FIXME needs a timeout, can't wait forever! 
+                   * eg. when skype is running but not connected! */
+                  usleep(100);
+                  fullname_count++;
+                  if (fullname_count > 20000)
+                    return -1;  /* FIXME */
+                }
+                if (p->skype_fullname[0] != '\0') {
+                  char *where2;
+                  char sanitized[300];
+
+                  where2 = strstr(p->skype_fullname, "FULLNAME ");
+                  if (where2) {
+
+                    /* there can be some *smart* that makes a fullname 
+                     * that is different than firstlast, */
+                    /* maybe initials, simbols, slashes,
+                     *  something smartish... let's check */
+
+                    if (where2[9] != '\0') {
+                      int i = 9;
+                      int x = 0;
+                      int spaces = 0;
+                      int last_char_was_space = 0;
+
+                      for (i = 9; i < strlen(where2) && x < 299; i++) {
+                        if (!isalnum(where2[i])) {
+                          if (!isblank(where2[i])) {
+                            /* bad char */
+                            continue;
+                          }
+                          /* is a space */
+                          if (last_char_was_space == 1) /* do not write 2 consecutive spaces */
+                            continue;
+                          last_char_was_space = 1;
+                          sanitized[x] = ' ';
+                          x++;
+                          continue;
+                        }
+                        /* alphanum */
+                        last_char_was_space = 0;
+                        sanitized[x] = where2[i];
+                        x++;
+                        continue;
+                      }
+
+                      sanitized[x] = '\0';
+                      if (spaces == 0) {
+                      }
+                      DEBUGA_SKYPE("sanitized=|%s|, where=|%s|, where2=|%s|\n",
+                                   SKYPIAX_P_LOG, sanitized, where, &where2[9]);
+                    }
+
+                    if (skype_dir_file_written == 0) {
+                      skypiax_dir_entry_extension++;
+                      if (where2[9] != '\0') {
+                        if (where[0] == '+' || isdigit(where[0])) { /* is a skypeout number */
+                          fprintf(p->phonebook_writing_fp,
+                                  "%s  => ,%sSKO,,,hidefromdir=%s|phonebook_direct_calling_ext=%d%s%.4d|phonebook_entry_fromskype=%s|phonebook_entry_owner=%s\n",
+                                  where, sanitized, "no",
+                                  p->skypiax_dir_entry_extension_prefix, "2",
+                                  skypiax_dir_entry_extension, "yes", "not_specified");
+                        } else {    /* is a skype name */
+                          fprintf(p->phonebook_writing_fp,
+                                  "%s  => ,%sSKY,,,hidefromdir=%s|phonebook_direct_calling_ext=%d%s%.4d|phonebook_entry_fromskype=%s|phonebook_entry_owner=%s\n",
+                                  where, sanitized, "no",
+                                  p->skypiax_dir_entry_extension_prefix, "1",
+                                  skypiax_dir_entry_extension, "yes", "not_specified");
+
+                        }
+
+                      } else {
+                        if (where[0] == '+' || isdigit(where[0])) { /* is a skypeout number */
+                          fprintf(p->phonebook_writing_fp,
+                                  "%s  => ,%sSKO,,,hidefromdir=%s|phonebook_direct_calling_ext=%d%s%.4d|phonebook_entry_fromskype=%s|phonebook_entry_owner=%s\n",
+                                  where, where, "no",
+                                  p->skypiax_dir_entry_extension_prefix, "2",
+                                  skypiax_dir_entry_extension, "yes", "not_specified");
+                        } else {    /* is a skype name */
+                          fprintf(p->phonebook_writing_fp,
+                                  "%s  => ,%sSKY,,,hidefromdir=%s|phonebook_direct_calling_ext=%d%s%.4d|phonebook_entry_fromskype=%s|phonebook_entry_owner=%s\n",
+                                  where, where, "no",
+                                  p->skypiax_dir_entry_extension_prefix, "1",
+                                  skypiax_dir_entry_extension, "yes", "not_specified");
+
+                        }
+                      }
+                    }
+
+                    skype_dir_file_written = 0;
+
+                  }
+
+                }
+                p->skype_fullname[0] = '\0';
+
+              }
+              where = strsep(stringp, ", ");
+            }
+
+            p->skype_friends[0] = '\0';
+          }
+        }
+      } else {
+
+        ast_cli(fd,
+                "Skype not configured on the 'current' console, not importing from Skype client!\n");
+      }
+    //}
+  /*******************************************************************************************/
+  /*******************************************************************************************/
+  } else {
+    ast_cli(fd, "\n\nfailed to open the skypiax_dir.conf configuration file: %s\n", fn);
+    ERRORA("failed to open the skypiax_dir.conf configuration file: %s\n", SKYPIAX_P_LOG,
+           fn);
+    return RESULT_FAILURE;
+  }
+
+  fclose(p->phonebook_writing_fp);
+  //skypiax_dir_create_extensions();
+
+  return RESULT_SUCCESS;
+}
+#endif /* ASTERISK */