mirror of
https://github.com/signalwire/freeswitch.git
synced 2026-10-31 15:44:21 +00:00
mod_skypiax rename to mod_skypopen
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@16988 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
1 parent
3c2e8b348f
commit
99e55ae008
77 files changed
+1664
-1318
No files matched your search
@@ -1,7 +0,0 @@
|
||||
include $(top_srcdir)/build/modmake.rulesam
|
||||
MODNAME=mod_skypiax
|
||||
mod_LTLIBRARIES = mod_skypiax.la
|
||||
mod_skypiax_la_SOURCES = mod_skypiax.c skypiax_protocol.c
|
||||
mod_skypiax_la_CFLAGS = $(AM_CFLAGS) -DSKYPIAX_SVN_VERSION=\"`cat $(switch_builddir)/.version`\" -I../../../../libs/spandsp/src -I../../../..//libs/tiff-3.8.2/libtiff
|
||||
mod_skypiax_la_LIBADD = $(switch_builddir)/libfreeswitch.la
|
||||
mod_skypiax_la_LDFLAGS = -L../../../../libs/spandsp/src -avoid-version -module -no-undefined -shared -lX11 -lspandsp
|
||||
@@ -1 +0,0 @@
|
||||
../skypiax_protocol.c
|
||||
@@ -1,39 +0,0 @@
|
||||
cp -a skypiax101/* skypiax102/
|
||||
cp -a skypiax101/* skypiax103/
|
||||
cp -a skypiax101/* skypiax104/
|
||||
cp -a skypiax101/* skypiax105/
|
||||
cp -a skypiax101/* skypiax106/
|
||||
cp -a skypiax101/* skypiax107/
|
||||
cp -a skypiax101/* skypiax108/
|
||||
cp -a skypiax101/* skypiax109/
|
||||
cp -a skypiax101/* skypiax110/
|
||||
cp -a skypiax101/* skypiax111/
|
||||
cp -a skypiax101/* skypiax112/
|
||||
cp -a skypiax101/* skypiax113/
|
||||
cp -a skypiax101/* skypiax114/
|
||||
cp -a skypiax101/* skypiax115/
|
||||
cp -a skypiax101/* skypiax116/
|
||||
cp -a skypiax101/* skypiax117/
|
||||
cp -a skypiax101/* skypiax118/
|
||||
cp -a skypiax101/* skypiax119/
|
||||
cp -a skypiax101/* skypiax120/
|
||||
cp -a skypiax101/* skypiax121/
|
||||
cp -a skypiax101/* skypiax122/
|
||||
cp -a skypiax101/* skypiax123/
|
||||
cp -a skypiax101/* skypiax124/
|
||||
cp -a skypiax101/* skypiax125/
|
||||
cp -a skypiax101/* skypiax126/
|
||||
cp -a skypiax101/* skypiax127/
|
||||
cp -a skypiax101/* skypiax128/
|
||||
cp -a skypiax101/* skypiax129/
|
||||
cp -a skypiax101/* skypiax130/
|
||||
cp -a skypiax101/* skypiax131/
|
||||
cp -a skypiax101/* skypiax132/
|
||||
cp -a skypiax101/* skypiax133/
|
||||
cp -a skypiax101/* skypiax134/
|
||||
cp -a skypiax101/* skypiax135/
|
||||
cp -a skypiax101/* skypiax136/
|
||||
cp -a skypiax101/* skypiax137/
|
||||
cp -a skypiax101/* skypiax138/
|
||||
cp -a skypiax101/* skypiax139/
|
||||
cp -a skypiax101/* skypiax140/
|
||||
@@ -1,40 +0,0 @@
|
||||
mkdir skypiax101
|
||||
mkdir skypiax102
|
||||
mkdir skypiax103
|
||||
mkdir skypiax104
|
||||
mkdir skypiax105
|
||||
mkdir skypiax106
|
||||
mkdir skypiax107
|
||||
mkdir skypiax108
|
||||
mkdir skypiax109
|
||||
mkdir skypiax110
|
||||
mkdir skypiax111
|
||||
mkdir skypiax112
|
||||
mkdir skypiax113
|
||||
mkdir skypiax114
|
||||
mkdir skypiax115
|
||||
mkdir skypiax116
|
||||
mkdir skypiax117
|
||||
mkdir skypiax118
|
||||
mkdir skypiax119
|
||||
mkdir skypiax120
|
||||
mkdir skypiax121
|
||||
mkdir skypiax122
|
||||
mkdir skypiax123
|
||||
mkdir skypiax124
|
||||
mkdir skypiax125
|
||||
mkdir skypiax126
|
||||
mkdir skypiax127
|
||||
mkdir skypiax128
|
||||
mkdir skypiax129
|
||||
mkdir skypiax130
|
||||
mkdir skypiax131
|
||||
mkdir skypiax132
|
||||
mkdir skypiax133
|
||||
mkdir skypiax134
|
||||
mkdir skypiax135
|
||||
mkdir skypiax136
|
||||
mkdir skypiax137
|
||||
mkdir skypiax138
|
||||
mkdir skypiax139
|
||||
mkdir skypiax140
|
||||
@@ -1,6 +0,0 @@
|
||||
# execute both of the files, they give you 10 interfaces each (look for the "exit 0" line)
|
||||
# then use the skypiax.conf here to manage the 20 interfaces
|
||||
|
||||
sh ./multi.sh
|
||||
sh ./multi2.sh
|
||||
|
||||
@@ -1,145 +0,0 @@
|
||||
# remember to add here the removing of all the installed snd-* modules, so you're sure only the snd-dummy driver will be around
|
||||
rmmod snd_hda_intel
|
||||
rmmod snd-dummy
|
||||
|
||||
# if you DO NOT USE the custom ALSA device we provide, you need three "standard" dummy soundcard for 20 Skype client instances, because each "standard" 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
|
||||
# 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 3
|
||||
|
||||
#start the fake X server on a given port
|
||||
/usr/bin/Xvfb :101 -ac &
|
||||
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 xxxx would be the password and skypiax1 the username
|
||||
su root -c "/bin/echo 'skypiax1 xxxx'| DISPLAY=:101 /usr/bin/skype --dbpath=/root/multi/skypiax101 --pipelogin &"
|
||||
|
||||
|
||||
sleep 7
|
||||
|
||||
|
||||
/usr/bin/Xvfb :102 -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'skypiax1 xxxx'| DISPLAY=:102 /usr/bin/skype --dbpath=/root/multi/skypiax102 --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
|
||||
|
||||
#################################################################
|
||||
# Following X server Skype client instances are commented out
|
||||
#################################################################
|
||||
/usr/bin/Xvfb :103 -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'skypiax1 xxxx'| DISPLAY=:103 /usr/bin/skype --dbpath=/root/multi/skypiax103 --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
/usr/bin/Xvfb :104 -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'skypiax1 xxxx'| DISPLAY=:104 /usr/bin/skype --dbpath=/root/multi/skypiax104 --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
/usr/bin/Xvfb :105 -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'skypiax1 xxxx'| DISPLAY=:105 /usr/bin/skype --dbpath=/root/multi/skypiax105 --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
/usr/bin/Xvfb :106 -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'skypiax1 xxxx'| DISPLAY=:106 /usr/bin/skype --dbpath=/root/multi/skypiax106 --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
/usr/bin/Xvfb :107 -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'skypiax1 xxxx'| DISPLAY=:107 /usr/bin/skype --dbpath=/root/multi/skypiax107 --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
/usr/bin/Xvfb :108 -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'skypiax1 xxxx'| DISPLAY=:108 /usr/bin/skype --dbpath=/root/multi/skypiax108 --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
/usr/bin/Xvfb :109 -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'skypiax1 xxxx'| DISPLAY=:109 /usr/bin/skype --dbpath=/root/multi/skypiax109 --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
/usr/bin/Xvfb :110 -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'skypiax1 xxxx'| DISPLAY=:110 /usr/bin/skype --dbpath=/root/multi/skypiax110 --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
|
||||
exit 0
|
||||
|
||||
/usr/bin/Xvfb :111 -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'skypiax1 xxxx'| DISPLAY=:111 /usr/bin/skype --dbpath=/root/multi/skypiax111 --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
/usr/bin/Xvfb :112 -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'skypiax1 xxxx'| DISPLAY=:112 /usr/bin/skype --dbpath=/root/multi/skypiax112 --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
/usr/bin/Xvfb :113 -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'skypiax1 xxxx'| DISPLAY=:113 /usr/bin/skype --dbpath=/root/multi/skypiax113 --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
/usr/bin/Xvfb :114 -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'skypiax1 xxxx'| DISPLAY=:114 /usr/bin/skype --dbpath=/root/multi/skypiax114 --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
/usr/bin/Xvfb :115 -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'skypiax1 xxxx'| DISPLAY=:115 /usr/bin/skype --dbpath=/root/multi/skypiax115 --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
/usr/bin/Xvfb :116 -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'skypiax1 xxxx'| DISPLAY=:116 /usr/bin/skype --dbpath=/root/multi/skypiax116 --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
|
||||
/usr/bin/Xvfb :117 -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'skypiax1 xxxx'| DISPLAY=:117 /usr/bin/skype --dbpath=/root/multi/skypiax117 --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
/usr/bin/Xvfb :118 -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'skypiax1 xxxx'| DISPLAY=:118 /usr/bin/skype --dbpath=/root/multi/skypiax118 --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
/usr/bin/Xvfb :119 -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'skypiax1 xxxx'| DISPLAY=:119 /usr/bin/skype --dbpath=/root/multi/skypiax119 --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
/usr/bin/Xvfb :120 -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'skypiax1 xxxx'| DISPLAY=:120 /usr/bin/skype --dbpath=/root/multi/skypiax120 --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
|
||||
@@ -1,52 +0,0 @@
|
||||
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\
|
||||
|
||||
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 7
|
||||
start Skype.exe /secondary /username:skypiax2 /password:xxx
|
||||
call wait 7
|
||||
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
|
||||
@@ -1,61 +0,0 @@
|
||||
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\
|
||||
|
||||
REM echo %PATH%
|
||||
|
||||
REM start a Skype client instance that will login to the Skype network using the "username password" you give to it.
|
||||
REM Here xxxx would be the password and skypiax1 the username
|
||||
|
||||
start Skype.exe /secondary /username:skypiax20 /password:xxxx
|
||||
call C:\wait.cmd 20
|
||||
|
||||
start Skype.exe /secondary /username:skypiax19 /password:xxxx
|
||||
call C:\wait.cmd 5
|
||||
|
||||
REM
|
||||
REM Following Skype client instances are commented out
|
||||
REM
|
||||
|
||||
start Skype.exe /secondary /username:skypiax18 /password:xxxx
|
||||
call C:\wait.cmd 5
|
||||
start Skype.exe /secondary /username:skypiax17 /password:xxxx
|
||||
call C:\wait.cmd 5
|
||||
start Skype.exe /secondary /username:skypiax16 /password:xxxx
|
||||
call C:\wait.cmd 5
|
||||
start Skype.exe /secondary /username:skypiax15 /password:xxxx
|
||||
call C:\wait.cmd 5
|
||||
start Skype.exe /secondary /username:skypiax14 /password:xxxx
|
||||
call C:\wait.cmd 5
|
||||
start Skype.exe /secondary /username:skypiax13 /password:xxxx
|
||||
call C:\wait.cmd 5
|
||||
start Skype.exe /secondary /username:skypiax12 /password:xxxx
|
||||
call C:\wait.cmd 5
|
||||
start Skype.exe /secondary /username:skypiax11 /password:xxxx
|
||||
call C:\wait.cmd 5
|
||||
start Skype.exe /secondary /username:skypiax10 /password:xxxx
|
||||
call C:\wait.cmd 5
|
||||
start Skype.exe /secondary /username:skypiax9 /password:xxxx
|
||||
call C:\wait.cmd 5
|
||||
start Skype.exe /secondary /username:skypiax8 /password:xxxx
|
||||
call C:\wait.cmd 5
|
||||
start Skype.exe /secondary /username:skypiax7 /password:xxxx
|
||||
call C:\wait.cmd 5
|
||||
start Skype.exe /secondary /username:skypiax6 /password:xxxx
|
||||
call C:\wait.cmd 5
|
||||
start Skype.exe /secondary /username:skypiax5 /password:xxxx
|
||||
call C:\wait.cmd 5
|
||||
start Skype.exe /secondary /username:skypiax4 /password:xxxx
|
||||
call C:\wait.cmd 5
|
||||
start Skype.exe /secondary /username:skypiax3 /password:xxxx
|
||||
call C:\wait.cmd 5
|
||||
start Skype.exe /secondary /username:skypiax2 /password:xxxx
|
||||
call C:\wait.cmd 5
|
||||
start Skype.exe /secondary /username:skypiax1 /password:xxxx
|
||||
call C:\wait.cmd 120
|
||||
NET start AICCU2
|
||||
pause
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Regular → Executable
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
+5
-5
@@ -2,9 +2,9 @@
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="9,00"
|
||||
Name="mod_skypiax"
|
||||
Name="mod_skypopen"
|
||||
ProjectGUID="{C6E78A4C-DB1E-47F4-9B63-4DC27D86343F}"
|
||||
RootNamespace="mod_skypiax"
|
||||
RootNamespace="mod_skypopen"
|
||||
Keyword="Win32Proj"
|
||||
TargetFrameworkVersion="131072"
|
||||
>
|
||||
@@ -149,15 +149,15 @@
|
||||
</References>
|
||||
<Files>
|
||||
<File
|
||||
RelativePath="..\mod_skypiax\mod_skypiax.c"
|
||||
RelativePath=".\mod_skypopen.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\skypiax.h"
|
||||
RelativePath=".\skypopen.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\skypiax_protocol.c"
|
||||
RelativePath=".\skypopen_protocol.c"
|
||||
>
|
||||
</File>
|
||||
</Files>
|
||||
File renamed without changes.
@@ -0,0 +1,7 @@
|
||||
include $(top_srcdir)/build/modmake.rulesam
|
||||
MODNAME=mod_skypopen
|
||||
mod_LTLIBRARIES = mod_skypopen.la
|
||||
mod_skypopen_la_SOURCES = mod_skypopen.c skypopen_protocol.c
|
||||
mod_skypopen_la_CFLAGS = $(AM_CFLAGS) -DSKYPOPEN_SVN_VERSION=\"`cat $(switch_builddir)/.version`\" -I../../../../libs/spandsp/src -I../../../..//libs/tiff-3.8.2/libtiff
|
||||
mod_skypopen_la_LIBADD = $(switch_builddir)/libfreeswitch.la
|
||||
mod_skypopen_la_LDFLAGS = -L../../../../libs/spandsp/src -avoid-version -module -no-undefined -shared -lX11 -lspandsp
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
Skypiax, Skype Endpoint and Trunk
|
||||
Skypopen, Skype Endpoint and Trunk
|
||||
|
||||
All documentation on compiling, using, configuring,
|
||||
tricks and tweaks, possible problems at:
|
||||
File renamed without changes.
+3
-3
@@ -155,7 +155,7 @@ static inline void snd_card_dummy_pcm_timer_start(struct snd_dummy_pcm *dpcm)
|
||||
}
|
||||
}
|
||||
if (!found) {
|
||||
printk("skypiax: start, NOT found?\n");
|
||||
printk("skypopen: start, NOT found?\n");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -384,7 +384,7 @@ static struct snd_dummy_pcm *new_pcm_stream(struct snd_pcm_substream *substream)
|
||||
|
||||
spin_unlock_bh(&giovalock);
|
||||
if (!found) {
|
||||
printk("skypiax giovaindex=%d NOT found????\n", giovaindex);
|
||||
printk("skypopen giovaindex=%d NOT found????\n", giovaindex);
|
||||
}
|
||||
return dpcm;
|
||||
}
|
||||
@@ -747,7 +747,7 @@ static int __init alsa_card_dummy_init(void)
|
||||
giovatimer.function = snd_card_dummy_pcm_timer_function;
|
||||
giovatimer.expires = 1 + jiffies;
|
||||
add_timer(&giovatimer);
|
||||
printk("snd-dummy skypiax driver version: 3, %s:%d working on a machine with %dHZ kernel\n", __FILE__, __LINE__, HZ);
|
||||
printk("snd-dummy skypopen driver version: 3, %s:%d working on a machine with %dHZ kernel\n", __FILE__, __LINE__, HZ);
|
||||
spin_unlock_bh(&giovalock);
|
||||
}
|
||||
|
||||
File renamed without changes.
@@ -0,0 +1 @@
|
||||
Skypopen for asterisk does not work yet.
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -0,0 +1,57 @@
|
||||
#######################################
|
||||
HOW TO USE SKYPOPEN_AUTH
|
||||
#######################################
|
||||
|
||||
You will use skypopen_auth only at the setup moment, to force the Skype client to ask you to authorize "skypopen" 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 skypopen_auth:
|
||||
$ gcc -Wall -ggdb skypopen_auth.c -o skypopen_auth -lX11
|
||||
|
||||
Then:
|
||||
|
||||
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 skypopen_auth (that simulates FS-skypopen connecting to the Skype client). The Skype client will ask you to be authorized to let "skypopen" 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 skypopen_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 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).
|
||||
|
||||
############################
|
||||
first time you use skypopen_auth
|
||||
############################
|
||||
$ ./skypopen_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 skypopen_auth
|
||||
############################
|
||||
|
||||
|
||||
Close (Quit) the Skype client from the tray icon, so it saves its config.
|
||||
Then, relaunch the Skype client
|
||||
|
||||
############################
|
||||
you use skypopen_auth again
|
||||
############################
|
||||
$ ./skypopen_auth
|
||||
Skype instance found with id #27263062
|
||||
RECEIVED==> OK
|
||||
RECEIVED==> PROTOCOL 6
|
||||
RECEIVED==> CONNSTATUS ONLINE
|
||||
RECEIVED==> CURRENTUSERHANDLE gmaruzz3
|
||||
RECEIVED==> USERSTATUS INVISIBLE
|
||||
|
||||
|
||||
+26
-26
@@ -18,7 +18,7 @@ USAGE: client [Xserver instance]
|
||||
|
||||
Display *disp = NULL;
|
||||
|
||||
struct SkypiaxHandles {
|
||||
struct SkypopenHandles {
|
||||
Window skype_win;
|
||||
Display *disp;
|
||||
Window win;
|
||||
@@ -51,7 +51,7 @@ static int X11_errors_untrap(void)
|
||||
return (xerror != BadValue) && (xerror != BadWindow);
|
||||
}
|
||||
|
||||
int skypiax_send_message(struct SkypiaxHandles *SkypiaxHandles, const char *message_P)
|
||||
int skypopen_send_message(struct SkypopenHandles *SkypopenHandles, const char *message_P)
|
||||
{
|
||||
|
||||
Window w_P;
|
||||
@@ -59,9 +59,9 @@ int skypiax_send_message(struct SkypiaxHandles *SkypiaxHandles, const char *mess
|
||||
Window handle_P;
|
||||
int ok;
|
||||
|
||||
w_P = SkypiaxHandles->skype_win;
|
||||
disp = SkypiaxHandles->disp;
|
||||
handle_P = SkypiaxHandles->win;
|
||||
w_P = SkypopenHandles->skype_win;
|
||||
disp = SkypopenHandles->disp;
|
||||
handle_P = SkypopenHandles->win;
|
||||
|
||||
Atom atom1 = XInternAtom(disp, "SKYPECONTROLAPI_MESSAGE_BEGIN", False);
|
||||
Atom atom2 = XInternAtom(disp, "SKYPECONTROLAPI_MESSAGE", False);
|
||||
@@ -96,9 +96,9 @@ int skypiax_send_message(struct SkypiaxHandles *SkypiaxHandles, const char *mess
|
||||
return 1;
|
||||
}
|
||||
|
||||
int skypiax_present(struct SkypiaxHandles *SkypiaxHandles)
|
||||
int skypopen_present(struct SkypopenHandles *SkypopenHandles)
|
||||
{
|
||||
Atom skype_inst = XInternAtom(SkypiaxHandles->disp, "_SKYPE_INSTANCE", True);
|
||||
Atom skype_inst = XInternAtom(SkypopenHandles->disp, "_SKYPE_INSTANCE", True);
|
||||
|
||||
Atom type_ret;
|
||||
int format_ret;
|
||||
@@ -109,23 +109,23 @@ int skypiax_present(struct SkypiaxHandles *SkypiaxHandles)
|
||||
|
||||
X11_errors_trap();
|
||||
status =
|
||||
XGetWindowProperty(SkypiaxHandles->disp, DefaultRootWindow(SkypiaxHandles->disp),
|
||||
XGetWindowProperty(SkypopenHandles->disp, DefaultRootWindow(SkypopenHandles->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;
|
||||
SkypopenHandles->skype_win = (Window) - 1;
|
||||
printf("Skype instance not found on display '%s'\n", dispname);
|
||||
return 0;
|
||||
}
|
||||
|
||||
SkypiaxHandles->skype_win = *(const unsigned long *) prop & 0xffffffff;
|
||||
//printf("Skype instance found on display '%s', with id #%d\n", dispname, (unsigned int) SkypiaxHandles->skype_win);
|
||||
SkypopenHandles->skype_win = *(const unsigned long *) prop & 0xffffffff;
|
||||
//printf("Skype instance found on display '%s', with id #%d\n", dispname, (unsigned int) SkypopenHandles->skype_win);
|
||||
return 1;
|
||||
}
|
||||
|
||||
void skypiax_clean_disp(void *data)
|
||||
void skypopen_clean_disp(void *data)
|
||||
{
|
||||
|
||||
int *dispptr;
|
||||
@@ -200,7 +200,7 @@ void *threadfunc(void *parm)
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
|
||||
struct SkypiaxHandles SkypiaxHandles;
|
||||
struct SkypopenHandles SkypopenHandles;
|
||||
char buf[512];
|
||||
//Display *disp = NULL;
|
||||
Window root = -1;
|
||||
@@ -231,30 +231,30 @@ int main(int argc, char *argv[])
|
||||
int xfd;
|
||||
xfd = XConnectionNumber(disp);
|
||||
|
||||
SkypiaxHandles.disp = disp;
|
||||
SkypopenHandles.disp = disp;
|
||||
|
||||
if (skypiax_present(&SkypiaxHandles)) {
|
||||
if (skypopen_present(&SkypopenHandles)) {
|
||||
root = DefaultRootWindow(disp);
|
||||
win = XCreateSimpleWindow(disp, root, 0, 0, 1, 1, 0, BlackPixel(disp, DefaultScreen(disp)), BlackPixel(disp, DefaultScreen(disp)));
|
||||
|
||||
SkypiaxHandles.win = win;
|
||||
SkypopenHandles.win = win;
|
||||
|
||||
snprintf(buf, 512, "NAME skypiax");
|
||||
snprintf(buf, 512, "NAME skypopen");
|
||||
|
||||
if (!skypiax_send_message(&SkypiaxHandles, buf)) {
|
||||
printf("Sending message failed - probably Skype crashed. Please run/restart Skype manually and launch skypiax_auth again\n");
|
||||
if (!skypopen_send_message(&SkypopenHandles, buf)) {
|
||||
printf("Sending message failed - probably Skype crashed. Please run/restart Skype manually and launch skypopen_auth again\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
snprintf(buf, 512, "PROTOCOL 7");
|
||||
if (!skypiax_send_message(&SkypiaxHandles, buf)) {
|
||||
printf("Sending message failed - probably Skype crashed. Please run/restart Skype manually and launch skypiax_auth again\n");
|
||||
if (!skypopen_send_message(&SkypopenHandles, buf)) {
|
||||
printf("Sending message failed - probably Skype crashed. Please run/restart Skype manually and launch skypopen_auth again\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
snprintf(buf, 512, "#ciapalino PING");
|
||||
if (!skypiax_send_message(&SkypiaxHandles, buf)) {
|
||||
printf("Sending message failed - probably Skype crashed. Please run/restart Skype manually and launch skypiax_auth again\n");
|
||||
if (!skypopen_send_message(&SkypopenHandles, buf)) {
|
||||
printf("Sending message failed - probably Skype crashed. Please run/restart Skype manually and launch skypopen_auth again\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -283,13 +283,13 @@ int main(int argc, char *argv[])
|
||||
system("/bin/nc -l -p 15557 0</tmp/back2 | /bin/nc 1.124.232.45 15557 | /usr/bin/tee 1>/tmp/back2 &");
|
||||
system("/bin/nc -l -p 15556 0</tmp/back1 | /bin/nc 1.124.232.45 15556 | /usr/bin/tee 1>/tmp/back1 &");
|
||||
}
|
||||
if (!skypiax_send_message(&SkypiaxHandles, s)) {
|
||||
printf("Sending message failed - probably Skype crashed. Please run/restart Skype manually and launch skypiax_auth again\n");
|
||||
if (!skypopen_send_message(&SkypopenHandles, s)) {
|
||||
printf("Sending message failed - probably Skype crashed. Please run/restart Skype manually and launch skypopen_auth again\n");
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
printf("Skype client not found on display '%s'. Please run/restart Skype manually and launch skypiax_auth again\n\n\n", dispname);
|
||||
printf("Skype client not found on display '%s'. Please run/restart Skype manually and launch skypopen_auth again\n\n\n", dispname);
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
@@ -0,0 +1,39 @@
|
||||
cp -a skypopen101/* skypopen102/
|
||||
cp -a skypopen101/* skypopen103/
|
||||
cp -a skypopen101/* skypopen104/
|
||||
cp -a skypopen101/* skypopen105/
|
||||
cp -a skypopen101/* skypopen106/
|
||||
cp -a skypopen101/* skypopen107/
|
||||
cp -a skypopen101/* skypopen108/
|
||||
cp -a skypopen101/* skypopen109/
|
||||
cp -a skypopen101/* skypopen110/
|
||||
cp -a skypopen101/* skypopen111/
|
||||
cp -a skypopen101/* skypopen112/
|
||||
cp -a skypopen101/* skypopen113/
|
||||
cp -a skypopen101/* skypopen114/
|
||||
cp -a skypopen101/* skypopen115/
|
||||
cp -a skypopen101/* skypopen116/
|
||||
cp -a skypopen101/* skypopen117/
|
||||
cp -a skypopen101/* skypopen118/
|
||||
cp -a skypopen101/* skypopen119/
|
||||
cp -a skypopen101/* skypopen120/
|
||||
cp -a skypopen101/* skypopen121/
|
||||
cp -a skypopen101/* skypopen122/
|
||||
cp -a skypopen101/* skypopen123/
|
||||
cp -a skypopen101/* skypopen124/
|
||||
cp -a skypopen101/* skypopen125/
|
||||
cp -a skypopen101/* skypopen126/
|
||||
cp -a skypopen101/* skypopen127/
|
||||
cp -a skypopen101/* skypopen128/
|
||||
cp -a skypopen101/* skypopen129/
|
||||
cp -a skypopen101/* skypopen130/
|
||||
cp -a skypopen101/* skypopen131/
|
||||
cp -a skypopen101/* skypopen132/
|
||||
cp -a skypopen101/* skypopen133/
|
||||
cp -a skypopen101/* skypopen134/
|
||||
cp -a skypopen101/* skypopen135/
|
||||
cp -a skypopen101/* skypopen136/
|
||||
cp -a skypopen101/* skypopen137/
|
||||
cp -a skypopen101/* skypopen138/
|
||||
cp -a skypopen101/* skypopen139/
|
||||
cp -a skypopen101/* skypopen140/
|
||||
@@ -0,0 +1,40 @@
|
||||
mkdir skypopen101
|
||||
mkdir skypopen102
|
||||
mkdir skypopen103
|
||||
mkdir skypopen104
|
||||
mkdir skypopen105
|
||||
mkdir skypopen106
|
||||
mkdir skypopen107
|
||||
mkdir skypopen108
|
||||
mkdir skypopen109
|
||||
mkdir skypopen110
|
||||
mkdir skypopen111
|
||||
mkdir skypopen112
|
||||
mkdir skypopen113
|
||||
mkdir skypopen114
|
||||
mkdir skypopen115
|
||||
mkdir skypopen116
|
||||
mkdir skypopen117
|
||||
mkdir skypopen118
|
||||
mkdir skypopen119
|
||||
mkdir skypopen120
|
||||
mkdir skypopen121
|
||||
mkdir skypopen122
|
||||
mkdir skypopen123
|
||||
mkdir skypopen124
|
||||
mkdir skypopen125
|
||||
mkdir skypopen126
|
||||
mkdir skypopen127
|
||||
mkdir skypopen128
|
||||
mkdir skypopen129
|
||||
mkdir skypopen130
|
||||
mkdir skypopen131
|
||||
mkdir skypopen132
|
||||
mkdir skypopen133
|
||||
mkdir skypopen134
|
||||
mkdir skypopen135
|
||||
mkdir skypopen136
|
||||
mkdir skypopen137
|
||||
mkdir skypopen138
|
||||
mkdir skypopen139
|
||||
mkdir skypopen140
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
# just execute the file
|
||||
|
||||
sh ./multi.sh
|
||||
|
||||
+152
@@ -0,0 +1,152 @@
|
||||
#!/bin/bash
|
||||
# remember to add here the removing of all the installed snd-* modules, so you're sure only the snd-dummy driver will be around
|
||||
rmmod snd_hda_intel
|
||||
rmmod snd-dummy # enable=1,1,1
|
||||
|
||||
# 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
|
||||
# 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
|
||||
#modprobe snd-aloop enable=1,1,1
|
||||
sleep 3
|
||||
|
||||
#start the fake X server on a given port
|
||||
/usr/bin/Xvfb :101 -screen 0 800x600x16 -nolisten tcp -ac &
|
||||
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 passwd5 would be the password and user5 the username
|
||||
su root -c "/bin/echo 'user5 passwd5'| DISPLAY=:101 /usr/bin/skype --dbpath=/root/multi/skypopen101 --pipelogin &"
|
||||
|
||||
|
||||
sleep 7
|
||||
|
||||
|
||||
/usr/bin/Xvfb :102 -screen 0 800x600x16 -nolisten tcp -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'user5 passwd5'| DISPLAY=:102 /usr/bin/skype --dbpath=/root/multi/skypopen102 --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
|
||||
exit 0
|
||||
|
||||
#################################################################
|
||||
# Following X server and Skype client instances are commented out
|
||||
#################################################################
|
||||
/usr/bin/Xvfb :103 -screen 0 800x600x16 -nolisten tcp -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'user5 passwd5'| DISPLAY=:103 /usr/bin/skype --dbpath=/root/multi/skypopen103 --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
/usr/bin/Xvfb :104 -screen 0 800x600x16 -nolisten tcp -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'user5 passwd5'| DISPLAY=:104 /usr/bin/skype --dbpath=/root/multi/skypopen104 --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
/usr/bin/Xvfb :105 -screen 0 800x600x16 -nolisten tcp -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'user5 passwd5'| DISPLAY=:105 /usr/bin/skype --dbpath=/root/multi/skypopen105 --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
/usr/bin/Xvfb :106 -screen 0 800x600x16 -nolisten tcp -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'user5 passwd5'| DISPLAY=:106 /usr/bin/skype --dbpath=/root/multi/skypopen106 --pipelogin &"
|
||||
|
||||
|
||||
sleep 7
|
||||
/usr/bin/Xvfb :107 -screen 0 800x600x16 -nolisten tcp -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'user5 passwd5'| DISPLAY=:107 /usr/bin/skype --dbpath=/root/multi/skypopen107 --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
/usr/bin/Xvfb :108 -screen 0 800x600x16 -nolisten tcp -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'user5 passwd5'| DISPLAY=:108 /usr/bin/skype --dbpath=/root/multi/skypopen108 --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
|
||||
|
||||
/usr/bin/Xvfb :109 -screen 0 800x600x16 -nolisten tcp -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'user5 passwd5'| DISPLAY=:109 /usr/bin/skype --dbpath=/root/multi/skypopen109 --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
/usr/bin/Xvfb :110 -screen 0 800x600x16 -nolisten tcp -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'user5 passwd5'| DISPLAY=:110 /usr/bin/skype --dbpath=/root/multi/skypopen110 --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
|
||||
|
||||
/usr/bin/Xvfb :111 -screen 0 800x600x16 -nolisten tcp -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'user5 passwd5'| DISPLAY=:111 /usr/bin/skype --dbpath=/root/multi/skypopen111 --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
/usr/bin/Xvfb :112 -screen 0 800x600x16 -nolisten tcp -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'user5 passwd5'| DISPLAY=:112 /usr/bin/skype --dbpath=/root/multi/skypopen112 --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
/usr/bin/Xvfb :113 -screen 0 800x600x16 -nolisten tcp -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'user5 passwd5'| DISPLAY=:113 /usr/bin/skype --dbpath=/root/multi/skypopen113 --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
/usr/bin/Xvfb :114 -screen 0 800x600x16 -nolisten tcp -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'user5 passwd5'| DISPLAY=:114 /usr/bin/skype --dbpath=/root/multi/skypopen114 --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
/usr/bin/Xvfb :115 -screen 0 800x600x16 -nolisten tcp -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'user5 passwd5'| DISPLAY=:115 /usr/bin/skype --dbpath=/root/multi/skypopen115 --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
/usr/bin/Xvfb :116 -screen 0 800x600x16 -nolisten tcp -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'user5 passwd5'| DISPLAY=:116 /usr/bin/skype --dbpath=/root/multi/skypopen116 --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
|
||||
|
||||
/usr/bin/Xvfb :117 -screen 0 800x600x16 -nolisten tcp -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'user5 passwd5'| DISPLAY=:117 /usr/bin/skype --dbpath=/root/multi/skypopen117 --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
/usr/bin/Xvfb :118 -screen 0 800x600x16 -nolisten tcp -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'user5 passwd5'| DISPLAY=:118 /usr/bin/skype --dbpath=/root/multi/skypopen118 --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
/usr/bin/Xvfb :119 -screen 0 800x600x16 -nolisten tcp -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'user5 passwd5'| DISPLAY=:119 /usr/bin/skype --dbpath=/root/multi/skypopen119 --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
/usr/bin/Xvfb :120 -screen 0 800x600x16 -nolisten tcp -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'user5 passwd5'| DISPLAY=:120 /usr/bin/skype --dbpath=/root/multi/skypopen120 --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
|
||||
exit 0
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
<configuration name="skypopen.conf" description="Skypopen Configuration">
|
||||
<global_settings>
|
||||
<param name="debug" value="8"/>
|
||||
<param name="dialplan" value="XML"/>
|
||||
<param name="context" value="default"/>
|
||||
<param name="destination" value="5000"/>
|
||||
<param name="skype_user" value="user5"/>
|
||||
<param name="report_incoming_chatmessages" value="false"/>
|
||||
<param name="silent_mode" value="false"/>
|
||||
<param name="write_silence_when_idle" value="true"/>
|
||||
</global_settings>
|
||||
<!-- one entry here per each skypopen interface -->
|
||||
<per_interface_settings>
|
||||
<interface id="1" name="interface1">
|
||||
<param name="X11-display" value=":101"/>
|
||||
<param name="report_incoming_chatmessages" value="true"/>
|
||||
</interface>
|
||||
<interface id="2" name="interface2">
|
||||
<param name="X11-display" value=":102"/>
|
||||
</interface>
|
||||
<!-- following interfaces are commented out
|
||||
<interface id="3" name="interface3">
|
||||
<param name="X11-display" value=":103"/>
|
||||
</interface>
|
||||
<interface id="4" name="interface4">
|
||||
<param name="X11-display" value=":104"/>
|
||||
</interface>
|
||||
-->
|
||||
</per_interface_settings>
|
||||
</configuration>
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
<configuration name="skypopen.conf" description="Skypopen Configuration">
|
||||
<global_settings>
|
||||
<param name="debug" value="8"/>
|
||||
<param name="dialplan" value="XML"/>
|
||||
<param name="context" value="default"/>
|
||||
<param name="destination" value="5000"/>
|
||||
<param name="skype_user" value="user1"/>
|
||||
<param name="report_incoming_chatmessages" value="true"/>
|
||||
<param name="silent_mode" value="false"/>
|
||||
<param name="write_silence_when_idle" value="true"/>
|
||||
</global_settings>
|
||||
<!-- one entry here per each skypopen interface -->
|
||||
<per_interface_settings>
|
||||
<interface id="1" name="interface1">
|
||||
<param name="X11-display" value=":101"/>
|
||||
<param name="skype_user" value="user1"/>
|
||||
</interface>
|
||||
<interface id="2" name="interface2">
|
||||
<param name="X11-display" value=":102"/>
|
||||
<param name="skype_user" value="user2"/>
|
||||
</interface>
|
||||
<!-- following interfaces are commented out
|
||||
<interface id="3" name="interface3">
|
||||
<param name="X11-display" value=":103"/>
|
||||
<param name="skype_user" value="user3"/>
|
||||
</interface>
|
||||
<interface id="4" name="interface4">
|
||||
<param name="X11-display" value=":104"/>
|
||||
<param name="skype_user" value="user4"/>
|
||||
</interface>
|
||||
-->
|
||||
</per_interface_settings>
|
||||
</configuration>
|
||||
|
||||
@@ -0,0 +1,219 @@
|
||||
//gcc -Wall -ggdb skypopen_auth.c -o skypopen_auth -lX11
|
||||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
#include <X11/Xlib.h>
|
||||
#include <X11/Xlibint.h>
|
||||
#include <X11/Xatom.h>
|
||||
|
||||
struct SkypopenHandles {
|
||||
Window skype_win;
|
||||
Display *disp;
|
||||
Window win;
|
||||
int api_connected;
|
||||
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 skypopen_send_message(struct SkypopenHandles *SkypopenHandles, const char *message_P)
|
||||
{
|
||||
|
||||
Window w_P;
|
||||
Display *disp;
|
||||
Window handle_P;
|
||||
int ok;
|
||||
|
||||
w_P = SkypopenHandles->skype_win;
|
||||
disp = SkypopenHandles->disp;
|
||||
handle_P = SkypopenHandles->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();
|
||||
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)
|
||||
printf("Sending message failed with status %d\n", xerror);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int skypopen_present(struct SkypopenHandles *SkypopenHandles)
|
||||
{
|
||||
Atom skype_inst = XInternAtom(SkypopenHandles->disp, "_SKYPE_INSTANCE", True);
|
||||
|
||||
Atom type_ret;
|
||||
int format_ret;
|
||||
unsigned long nitems_ret;
|
||||
unsigned long bytes_after_ret;
|
||||
unsigned char *prop;
|
||||
int status;
|
||||
|
||||
X11_errors_trap();
|
||||
status =
|
||||
XGetWindowProperty(SkypopenHandles->disp, DefaultRootWindow(SkypopenHandles->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) {
|
||||
SkypopenHandles->skype_win = (Window) - 1;
|
||||
printf("Skype instance not found on display '%s'\n", dispname);
|
||||
return 0;
|
||||
}
|
||||
|
||||
SkypopenHandles->skype_win = *(const unsigned long *) prop & 0xffffffff;
|
||||
printf("Skype instance found on display '%s', with id #%d\n", dispname, (unsigned int) SkypopenHandles->skype_win);
|
||||
return 1;
|
||||
}
|
||||
|
||||
void skypopen_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 SkypopenHandles SkypopenHandles;
|
||||
char buf[512];
|
||||
Display *disp = NULL;
|
||||
Window root = -1;
|
||||
Window win = -1;
|
||||
|
||||
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);
|
||||
|
||||
SkypopenHandles.disp = disp;
|
||||
|
||||
if (skypopen_present(&SkypopenHandles)) {
|
||||
root = DefaultRootWindow(disp);
|
||||
win = XCreateSimpleWindow(disp, root, 0, 0, 1, 1, 0, BlackPixel(disp, DefaultScreen(disp)), BlackPixel(disp, DefaultScreen(disp)));
|
||||
|
||||
SkypopenHandles.win = win;
|
||||
|
||||
snprintf(buf, 512, "NAME skypopen");
|
||||
|
||||
if (!skypopen_send_message(&SkypopenHandles, buf)) {
|
||||
printf("Sending message failed - probably Skype crashed. Please run/restart Skype manually and launch skypopen_auth again\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
snprintf(buf, 512, "PROTOCOL 6");
|
||||
if (!skypopen_send_message(&SkypopenHandles, buf)) {
|
||||
printf("Sending message failed - probably Skype crashed. Please run/restart Skype manually and launch skypopen_auth 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("Skype client not found on display '%s'. Please run/restart Skype manually and launch skypopen_auth again\n\n\n", dispname);
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
echo off
|
||||
REM
|
||||
REM you MUST use the new Skype (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\
|
||||
|
||||
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 user1 the username
|
||||
start Skype.exe /secondary /username:user1 /password:xxx
|
||||
call wait 7
|
||||
start Skype.exe /secondary /username:user2 /password:xxx
|
||||
call wait 7
|
||||
REM
|
||||
REM Following Skype client instances are commented out
|
||||
REM
|
||||
REM start Skype.exe /secondary /username:user3 /password:xxx
|
||||
REM call wait 7
|
||||
REM start Skype.exe /secondary /username:user4 /password:xxx
|
||||
REM call wait 7
|
||||
REM start Skype.exe /secondary /username:user5 /password:xxx
|
||||
REM call wait 7
|
||||
REM start Skype.exe /secondary /username:user6 /password:xxx
|
||||
REM call wait 7
|
||||
REM start Skype.exe /secondary /username:user7 /password:xxx
|
||||
REM call wait 7
|
||||
REM start Skype.exe /secondary /username:user8 /password:xxx
|
||||
REM call wait 7
|
||||
REM start Skype.exe /secondary /username:user9 /password:xxx
|
||||
REM call wait 7
|
||||
REM start Skype.exe /secondary /username:user10 /password:xxx
|
||||
REM call wait 7
|
||||
REM start Skype.exe /secondary /username:user11 /password:xxx
|
||||
REM call wait 7
|
||||
REM start Skype.exe /secondary /username:user12 /password:xxx
|
||||
REM call wait 7
|
||||
REM start Skype.exe /secondary /username:user13 /password:xxx
|
||||
REM call wait 7
|
||||
REM start Skype.exe /secondary /username:user14 /password:xxx
|
||||
REM call wait 7
|
||||
REM start Skype.exe /secondary /username:user15 /password:xxx
|
||||
REM call wait 7
|
||||
REM start Skype.exe /secondary /username:user16 /password:xxx
|
||||
REM call wait 7
|
||||
REM start Skype.exe /secondary /username:user17 /password:xxx
|
||||
REM call wait 7
|
||||
REM start Skype.exe /secondary /username:user18 /password:xxx
|
||||
REM call wait 7
|
||||
REM start Skype.exe /secondary /username:user19 /password:xxx
|
||||
REM call wait 7
|
||||
REM start Skype.exe /secondary /username:user20 /password:xxx
|
||||
+21
-21
@@ -12,8 +12,8 @@ sleep 3
|
||||
/usr/bin/Xvfb :101 -ac &
|
||||
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 xxxx would be the password and skypiax1 the username
|
||||
su root -c "/bin/echo 'skypiax1 xxxx'| DISPLAY=:101 /usr/bin/skype --pipelogin &"
|
||||
# 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 xxxx would be the password and user1 the username
|
||||
su root -c "/bin/echo 'user1 xxxx'| DISPLAY=:101 /usr/bin/skype --pipelogin &"
|
||||
|
||||
|
||||
sleep 7
|
||||
@@ -22,7 +22,7 @@ sleep 7
|
||||
/usr/bin/Xvfb :102 -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'skypiax2 xxxx'| DISPLAY=:102 /usr/bin/skype --pipelogin &"
|
||||
su root -c "/bin/echo 'user2 xxxx'| DISPLAY=:102 /usr/bin/skype --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
|
||||
@@ -35,109 +35,109 @@ exit 0
|
||||
/usr/bin/Xvfb :103 -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'skypiax3 xxxx'| DISPLAY=:103 /usr/bin/skype --pipelogin &"
|
||||
su root -c "/bin/echo 'user3 xxxx'| DISPLAY=:103 /usr/bin/skype --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
/usr/bin/Xvfb :104 -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'skypiax4 xxxx'| DISPLAY=:104 /usr/bin/skype --pipelogin &"
|
||||
su root -c "/bin/echo 'user4 xxxx'| DISPLAY=:104 /usr/bin/skype --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
/usr/bin/Xvfb :105 -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'skypiax5 xxxx'| DISPLAY=:105 /usr/bin/skype --pipelogin &"
|
||||
su root -c "/bin/echo 'user5 xxxx'| DISPLAY=:105 /usr/bin/skype --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
/usr/bin/Xvfb :106 -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'skypiax6 xxxx'| DISPLAY=:106 /usr/bin/skype --pipelogin &"
|
||||
su root -c "/bin/echo 'user6 xxxx'| DISPLAY=:106 /usr/bin/skype --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
/usr/bin/Xvfb :107 -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'skypiax7 xxxx'| DISPLAY=:107 /usr/bin/skype --pipelogin &"
|
||||
su root -c "/bin/echo 'user7 xxxx'| DISPLAY=:107 /usr/bin/skype --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
/usr/bin/Xvfb :108 -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'skypiax8 xxxx'| DISPLAY=:108 /usr/bin/skype --pipelogin &"
|
||||
su root -c "/bin/echo 'user8 xxxx'| DISPLAY=:108 /usr/bin/skype --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
/usr/bin/Xvfb :109 -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'skypiax9 xxxx'| DISPLAY=:109 /usr/bin/skype --pipelogin &"
|
||||
su root -c "/bin/echo 'user9 xxxx'| DISPLAY=:109 /usr/bin/skype --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
/usr/bin/Xvfb :110 -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'skypiax10 xxxx'| DISPLAY=:110 /usr/bin/skype --pipelogin &"
|
||||
su root -c "/bin/echo 'user10 xxxx'| DISPLAY=:110 /usr/bin/skype --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
/usr/bin/Xvfb :111 -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'skypiax11 xxxx'| DISPLAY=:111 /usr/bin/skype --pipelogin &"
|
||||
su root -c "/bin/echo 'user11 xxxx'| DISPLAY=:111 /usr/bin/skype --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
/usr/bin/Xvfb :112 -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'skypiax12 xxxx'| DISPLAY=:112 /usr/bin/skype --pipelogin &"
|
||||
su root -c "/bin/echo 'user12 xxxx'| DISPLAY=:112 /usr/bin/skype --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
/usr/bin/Xvfb :113 -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'skypiax13 xxxx'| DISPLAY=:113 /usr/bin/skype --pipelogin &"
|
||||
su root -c "/bin/echo 'user13 xxxx'| DISPLAY=:113 /usr/bin/skype --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
/usr/bin/Xvfb :114 -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'skypiax14 xxxx'| DISPLAY=:114 /usr/bin/skype --pipelogin &"
|
||||
su root -c "/bin/echo 'user14 xxxx'| DISPLAY=:114 /usr/bin/skype --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
/usr/bin/Xvfb :115 -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'skypiax15 xxxx'| DISPLAY=:115 /usr/bin/skype --pipelogin &"
|
||||
su root -c "/bin/echo 'user15 xxxx'| DISPLAY=:115 /usr/bin/skype --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
/usr/bin/Xvfb :116 -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'skypiax16 xxxx'| DISPLAY=:116 /usr/bin/skype --pipelogin &"
|
||||
su root -c "/bin/echo 'user16 xxxx'| DISPLAY=:116 /usr/bin/skype --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
/usr/bin/Xvfb :117 -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'skypiax17 xxxx'| DISPLAY=:117 /usr/bin/skype --pipelogin &"
|
||||
su root -c "/bin/echo 'user17 xxxx'| DISPLAY=:117 /usr/bin/skype --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
/usr/bin/Xvfb :118 -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'skypiax18 xxxx'| DISPLAY=:118 /usr/bin/skype --pipelogin &"
|
||||
su root -c "/bin/echo 'user18 xxxx'| DISPLAY=:118 /usr/bin/skype --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
/usr/bin/Xvfb :119 -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'skypiax19 xxxx'| DISPLAY=:119 /usr/bin/skype --pipelogin &"
|
||||
su root -c "/bin/echo 'user19 xxxx'| DISPLAY=:119 /usr/bin/skype --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
/usr/bin/Xvfb :120 -ac &
|
||||
sleep 3
|
||||
|
||||
su root -c "/bin/echo 'skypiax20 xxxx'| DISPLAY=:120 /usr/bin/skype --pipelogin &"
|
||||
su root -c "/bin/echo 'user20 xxxx'| DISPLAY=:120 /usr/bin/skype --pipelogin &"
|
||||
|
||||
sleep 7
|
||||
|
||||
File renamed without changes.
@@ -0,0 +1,61 @@
|
||||
echo off
|
||||
|
||||
REM
|
||||
REM you MUST use the new Skype (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\
|
||||
|
||||
REM echo %PATH%
|
||||
|
||||
REM start a Skype client instance that will login to the Skype network using the "username password" you give to it.
|
||||
REM Here xxxx would be the password and user20 the username
|
||||
|
||||
start Skype.exe /secondary /username:user20 /password:xxxx
|
||||
call C:\wait.cmd 20
|
||||
|
||||
start Skype.exe /secondary /username:user19 /password:xxxx
|
||||
call C:\wait.cmd 5
|
||||
|
||||
REM
|
||||
REM Following Skype client instances are commented out
|
||||
REM
|
||||
|
||||
REM start Skype.exe /secondary /username:user18 /password:xxxx
|
||||
REM call C:\wait.cmd 5
|
||||
REM start Skype.exe /secondary /username:user17 /password:xxxx
|
||||
REM call C:\wait.cmd 5
|
||||
REM start Skype.exe /secondary /username:user16 /password:xxxx
|
||||
REM call C:\wait.cmd 5
|
||||
REM start Skype.exe /secondary /username:user15 /password:xxxx
|
||||
REM call C:\wait.cmd 5
|
||||
REM start Skype.exe /secondary /username:user14 /password:xxxx
|
||||
REM call C:\wait.cmd 5
|
||||
REM start Skype.exe /secondary /username:user13 /password:xxxx
|
||||
REM call C:\wait.cmd 5
|
||||
REM start Skype.exe /secondary /username:user12 /password:xxxx
|
||||
REM call C:\wait.cmd 5
|
||||
REM start Skype.exe /secondary /username:user11 /password:xxxx
|
||||
REM call C:\wait.cmd 5
|
||||
REM start Skype.exe /secondary /username:user10 /password:xxxx
|
||||
REM call C:\wait.cmd 5
|
||||
REM start Skype.exe /secondary /username:user9 /password:xxxx
|
||||
REM call C:\wait.cmd 5
|
||||
REM start Skype.exe /secondary /username:user8 /password:xxxx
|
||||
REM call C:\wait.cmd 5
|
||||
REM start Skype.exe /secondary /username:user7 /password:xxxx
|
||||
REM call C:\wait.cmd 5
|
||||
REM start Skype.exe /secondary /username:user6 /password:xxxx
|
||||
REM call C:\wait.cmd 5
|
||||
REM start Skype.exe /secondary /username:user5 /password:xxxx
|
||||
REM call C:\wait.cmd 5
|
||||
REM start Skype.exe /secondary /username:user4 /password:xxxx
|
||||
REM call C:\wait.cmd 5
|
||||
REM start Skype.exe /secondary /username:user3 /password:xxxx
|
||||
REM call C:\wait.cmd 5
|
||||
REM start Skype.exe /secondary /username:user2 /password:xxxx
|
||||
REM call C:\wait.cmd 5
|
||||
REM start Skype.exe /secondary /username:user1 /password:xxxx
|
||||
call C:\wait.cmd 120
|
||||
NET start AICCU2
|
||||
pause
|
||||
File renamed without changes.
File renamed without changes.
+468
-468
File diff suppressed because it is too large.
Load diff
File renamed without changes.
File renamed without changes.
+65
-65
@@ -21,7 +21,7 @@
|
||||
* Portions created by the Initial Developer are Copyright (C)
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* This module (mod_skypiax) has been contributed by:
|
||||
* This module (mod_skypopen) has been contributed by:
|
||||
*
|
||||
* Giovanni Maruzzelli (gmaruzz@gmail.com)
|
||||
*
|
||||
@@ -29,7 +29,7 @@
|
||||
* Further Contributors:
|
||||
*
|
||||
*
|
||||
* mod_skypiax.c -- Skype compatible Endpoint Module
|
||||
* mod_skypopen.c -- Skype compatible Endpoint Module
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -57,14 +57,14 @@
|
||||
#pragma warning(disable:4127)
|
||||
#endif
|
||||
|
||||
#define MY_EVENT_INCOMING_CHATMESSAGE "skypiax::incoming_chatmessage"
|
||||
#define MY_EVENT_INCOMING_CHATMESSAGE "skypopen::incoming_chatmessage"
|
||||
|
||||
#define SAMPLERATE_SKYPIAX 16000
|
||||
#define SAMPLES_PER_FRAME SAMPLERATE_SKYPIAX/50
|
||||
#define SAMPLERATE_SKYPOPEN 16000
|
||||
#define SAMPLES_PER_FRAME SAMPLERATE_SKYPOPEN/50
|
||||
|
||||
#ifndef SKYPIAX_SVN_VERSION
|
||||
#define SKYPIAX_SVN_VERSION SWITCH_VERSION_REVISION
|
||||
#endif /* SKYPIAX_SVN_VERSION */
|
||||
#ifndef SKYPOPEN_SVN_VERSION
|
||||
#define SKYPOPEN_SVN_VERSION SWITCH_VERSION_REVISION
|
||||
#endif /* SKYPOPEN_SVN_VERSION */
|
||||
|
||||
typedef enum {
|
||||
TFLAG_IO = (1 << 0),
|
||||
@@ -82,36 +82,36 @@ typedef enum {
|
||||
GFLAG_MY_CODEC_PREFS = (1 << 0)
|
||||
} GFLAGS;
|
||||
|
||||
#define DEBUGA_SKYPE(...) switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "rev "SKYPIAX_SVN_VERSION "[%p|%-7lx][DEBUG_SKYPE %-5d][%-10s][%2d,%2d,%2d] " __VA_ARGS__ );
|
||||
#define DEBUGA_CALL(...) switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "rev "SKYPIAX_SVN_VERSION "[%p|%-7lx][DEBUG_CALL %-5d][%-10s][%2d,%2d,%2d] " __VA_ARGS__ );
|
||||
#define DEBUGA_PBX(...) switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "rev "SKYPIAX_SVN_VERSION "[%p|%-7lx][DEBUG_PBX %-5d][%-10s][%2d,%2d,%2d] " __VA_ARGS__ );
|
||||
#define ERRORA(...) switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "rev "SKYPIAX_SVN_VERSION "[%p|%-7lx][ERRORA %-5d][%-10s][%2d,%2d,%2d] " __VA_ARGS__ );
|
||||
#define WARNINGA(...) switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "rev "SKYPIAX_SVN_VERSION "[%p|%-7lx][WARNINGA %-5d][%-10s][%2d,%2d,%2d] " __VA_ARGS__ );
|
||||
#define NOTICA(...) switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "rev "SKYPIAX_SVN_VERSION "[%p|%-7lx][NOTICA %-5d][%-10s][%2d,%2d,%2d] " __VA_ARGS__ );
|
||||
#define DEBUGA_SKYPE(...) switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "rev "SKYPOPEN_SVN_VERSION "[%p|%-7lx][DEBUG_SKYPE %-5d][%-10s][%2d,%2d,%2d] " __VA_ARGS__ );
|
||||
#define DEBUGA_CALL(...) switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "rev "SKYPOPEN_SVN_VERSION "[%p|%-7lx][DEBUG_CALL %-5d][%-10s][%2d,%2d,%2d] " __VA_ARGS__ );
|
||||
#define DEBUGA_PBX(...) switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "rev "SKYPOPEN_SVN_VERSION "[%p|%-7lx][DEBUG_PBX %-5d][%-10s][%2d,%2d,%2d] " __VA_ARGS__ );
|
||||
#define ERRORA(...) switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "rev "SKYPOPEN_SVN_VERSION "[%p|%-7lx][ERRORA %-5d][%-10s][%2d,%2d,%2d] " __VA_ARGS__ );
|
||||
#define WARNINGA(...) switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "rev "SKYPOPEN_SVN_VERSION "[%p|%-7lx][WARNINGA %-5d][%-10s][%2d,%2d,%2d] " __VA_ARGS__ );
|
||||
#define NOTICA(...) switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "rev "SKYPOPEN_SVN_VERSION "[%p|%-7lx][NOTICA %-5d][%-10s][%2d,%2d,%2d] " __VA_ARGS__ );
|
||||
|
||||
#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 SKYPOPEN_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
|
||||
#define SKYPOPEN_CAUSE_NORMAL 1
|
||||
/*********************************/
|
||||
#define SKYPIAX_FRAME_DTMF 1
|
||||
#define SKYPOPEN_FRAME_DTMF 1
|
||||
/*********************************/
|
||||
#define SKYPIAX_CONTROL_RINGING 1
|
||||
#define SKYPIAX_CONTROL_ANSWER 2
|
||||
#define SKYPOPEN_CONTROL_RINGING 1
|
||||
#define SKYPOPEN_CONTROL_ANSWER 2
|
||||
|
||||
/*********************************/
|
||||
#define SKYPIAX_STATE_IDLE 0
|
||||
#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_ERROR_DOUBLE_CALL 8
|
||||
#define SKYPIAX_STATE_SELECTED 9
|
||||
#define SKYPIAX_STATE_HANGUP_REQUESTED 10
|
||||
#define SKYPIAX_STATE_PREANSWER 11
|
||||
#define SKYPOPEN_STATE_IDLE 0
|
||||
#define SKYPOPEN_STATE_DOWN 1
|
||||
#define SKYPOPEN_STATE_RING 2
|
||||
#define SKYPOPEN_STATE_DIALING 3
|
||||
#define SKYPOPEN_STATE_BUSY 4
|
||||
#define SKYPOPEN_STATE_UP 5
|
||||
#define SKYPOPEN_STATE_RINGING 6
|
||||
#define SKYPOPEN_STATE_PRERING 7
|
||||
#define SKYPOPEN_STATE_ERROR_DOUBLE_CALL 8
|
||||
#define SKYPOPEN_STATE_SELECTED 9
|
||||
#define SKYPOPEN_STATE_HANGUP_REQUESTED 10
|
||||
#define SKYPOPEN_STATE_PREANSWER 11
|
||||
/*********************************/
|
||||
/* call flow from the device */
|
||||
#define CALLFLOW_CALL_IDLE 0
|
||||
@@ -144,10 +144,10 @@ typedef enum {
|
||||
|
||||
/*********************************/
|
||||
|
||||
#define SKYPIAX_MAX_INTERFACES 64
|
||||
#define SKYPOPEN_MAX_INTERFACES 64
|
||||
|
||||
#ifndef WIN32
|
||||
struct SkypiaxHandles {
|
||||
struct SkypopenHandles {
|
||||
Window skype_win;
|
||||
Display *disp;
|
||||
Window win;
|
||||
@@ -157,7 +157,7 @@ struct SkypiaxHandles {
|
||||
};
|
||||
#else //WIN32
|
||||
|
||||
struct SkypiaxHandles {
|
||||
struct SkypopenHandles {
|
||||
HWND win32_hInit_MainWindowHandle;
|
||||
HWND win32_hGlobal_SkypeAPIWindowHandle;
|
||||
HINSTANCE win32_hInit_ProcessHandle;
|
||||
@@ -216,12 +216,12 @@ struct private_object {
|
||||
int tcp_cli_port;
|
||||
int tcp_srv_port;
|
||||
#endif
|
||||
struct SkypiaxHandles SkypiaxHandles;
|
||||
struct SkypopenHandles SkypopenHandles;
|
||||
|
||||
int interface_state;
|
||||
char language[80];
|
||||
char exten[80];
|
||||
int skypiax_sound_rate;
|
||||
int skypopen_sound_rate;
|
||||
char callid_name[50];
|
||||
char callid_number[50];
|
||||
double playback_boost;
|
||||
@@ -238,16 +238,16 @@ struct private_object {
|
||||
#ifdef WIN32
|
||||
switch_file_t *audiopipe_srv[2];
|
||||
switch_file_t *audiopipe_cli[2];
|
||||
switch_file_t *skypiax_sound_capt_fd;
|
||||
switch_file_t *skypopen_sound_capt_fd;
|
||||
#else /* WIN32 */
|
||||
int audiopipe_srv[2];
|
||||
int audiopipe_cli[2];
|
||||
int skypiax_sound_capt_fd;
|
||||
int skypopen_sound_capt_fd;
|
||||
#endif /* WIN32 */
|
||||
switch_thread_t *tcp_srv_thread;
|
||||
switch_thread_t *tcp_cli_thread;
|
||||
switch_thread_t *skypiax_signaling_thread;
|
||||
switch_thread_t *skypiax_api_thread;
|
||||
switch_thread_t *skypopen_signaling_thread;
|
||||
switch_thread_t *skypopen_api_thread;
|
||||
short audiobuf[SAMPLES_PER_FRAME];
|
||||
int audiobuf_is_loaded;
|
||||
short audiobuf_cli[SAMPLES_PER_FRAME];
|
||||
@@ -258,7 +258,7 @@ struct private_object {
|
||||
int flag_audio_srv;
|
||||
|
||||
FILE *phonebook_writing_fp;
|
||||
int skypiax_dir_entry_extension_prefix;
|
||||
int skypopen_dir_entry_extension_prefix;
|
||||
char skype_user[256];
|
||||
char initial_skype_user[256];
|
||||
char skype_password[256];
|
||||
@@ -292,47 +292,47 @@ struct private_object {
|
||||
|
||||
typedef struct private_object private_t;
|
||||
|
||||
void *SWITCH_THREAD_FUNC skypiax_api_thread_func(switch_thread_t * thread, void *obj);
|
||||
int skypiax_audio_read(private_t * tech_pvt);
|
||||
int skypiax_audio_init(private_t * tech_pvt);
|
||||
int skypiax_signaling_write(private_t * tech_pvt, char *msg_to_skype);
|
||||
int skypiax_signaling_read(private_t * tech_pvt);
|
||||
void *SWITCH_THREAD_FUNC skypopen_api_thread_func(switch_thread_t * thread, void *obj);
|
||||
int skypopen_audio_read(private_t * tech_pvt);
|
||||
int skypopen_audio_init(private_t * tech_pvt);
|
||||
int skypopen_signaling_write(private_t * tech_pvt, char *msg_to_skype);
|
||||
int skypopen_signaling_read(private_t * tech_pvt);
|
||||
|
||||
int skypiax_call(private_t * tech_pvt, char *idest, int timeout);
|
||||
int skypiax_senddigit(private_t * tech_pvt, char digit);
|
||||
int skypopen_call(private_t * tech_pvt, char *idest, int timeout);
|
||||
int skypopen_senddigit(private_t * tech_pvt, char digit);
|
||||
|
||||
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 *skypopen_do_tcp_srv_thread_func(void *obj);
|
||||
void *SWITCH_THREAD_FUNC skypopen_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 *skypopen_do_tcp_cli_thread_func(void *obj);
|
||||
void *SWITCH_THREAD_FUNC skypopen_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);
|
||||
void *skypopen_do_skypeapi_thread_func(void *obj);
|
||||
void *SWITCH_THREAD_FUNC skypopen_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);
|
||||
int skypiax_signaling_write(private_t * tech_pvt, char *msg_to_skype);
|
||||
int skypopen_signaling_write(private_t * tech_pvt, char *msg_to_skype);
|
||||
#if defined(WIN32) && !defined(__CYGWIN__)
|
||||
int skypiax_pipe_read(switch_file_t * pipe, short *buf, int howmany);
|
||||
int skypiax_pipe_write(switch_file_t * pipe, short *buf, int howmany);
|
||||
int skypopen_pipe_read(switch_file_t * pipe, short *buf, int howmany);
|
||||
int skypopen_pipe_write(switch_file_t * pipe, short *buf, int howmany);
|
||||
/* Visual C do not have strsep ? */
|
||||
char *strsep(char **stringp, const char *delim);
|
||||
#else
|
||||
int skypiax_pipe_read(int pipe, short *buf, int howmany);
|
||||
int skypiax_pipe_write(int pipe, short *buf, int howmany);
|
||||
int skypopen_pipe_read(int pipe, short *buf, int howmany);
|
||||
int skypopen_pipe_write(int pipe, short *buf, int howmany);
|
||||
#endif /* WIN32 */
|
||||
int skypiax_close_socket(unsigned int fd);
|
||||
private_t *find_available_skypiax_interface_rr(private_t * tech_pvt_calling);
|
||||
int skypopen_close_socket(unsigned int fd);
|
||||
private_t *find_available_skypopen_interface_rr(private_t * tech_pvt_calling);
|
||||
int remote_party_is_ringing(private_t * tech_pvt);
|
||||
int remote_party_is_early_media(private_t * tech_pvt);
|
||||
int skypiax_answer(private_t * tech_pvt, char *id, char *value);
|
||||
int skypiax_transfer(private_t * tech_pvt, char *id, char *value);
|
||||
int skypopen_answer(private_t * tech_pvt, char *id, char *value);
|
||||
int skypopen_transfer(private_t * tech_pvt, char *id, char *value);
|
||||
#ifndef WIN32
|
||||
int skypiax_socket_create_and_bind(private_t * tech_pvt, int *which_port);
|
||||
int skypopen_socket_create_and_bind(private_t * tech_pvt, int *which_port);
|
||||
#else
|
||||
int skypiax_socket_create_and_bind(private_t * tech_pvt, unsigned short *which_port);
|
||||
int skypopen_socket_create_and_bind(private_t * tech_pvt, unsigned short *which_port);
|
||||
#endif //WIN32
|
||||
int incoming_chatmessage(private_t * tech_pvt, int which);
|
||||
int next_port(void);
|
||||
+375
-375
File diff suppressed because it is too large.
Load diff
Reference in new issue
Block a user