- Mitglied seit
- 22 Mrz 2005
- Beiträge
- 275
- Punkte für Reaktionen
- 0
- Punkte
- 0
Zutaten:
1x debian
1x window-manager xfce
1x asterisk > 1.2.9
1x skype > 1.3 (nicht per apt sondern direkt von skype)
1x vncserver
1x chan_skype (UBUNTU!!!!!) von h++p://www2.chanskype.com/chanskype/download/packages/
oder ftp://ftp.chanskype.com/download/packages/
----------------------------
1. readme lesen! h++p://www2.chanskype.com/chanskype/download/packages/README.txt
das ist wichtig, da ich hier die dronen-accounts außen vor lasse. entweder das funktioniert unter debian nicht oder ich habe es nicht verstanden, aber nur weil ich es nicht hinbekomme will ich niemandem die möglichkeit nehmen.
alles in allem halte ich es für sinnvoll diese accounts nachträglich einzurichten und ersteinmal eine tragfähige installation zu bauen.
2. Installation:
- window-manager installieren (falls nicht schon geschehen)
ich habe mich für xfce entschieden, weil der schön schlank ist. der noch schlankere twm kam mit dem x11signaller nicht zurecht. achtung also!
- skype herunterladen, installieren und nicht ausführen.
- vnc installieren
- Chanskype installieren
hier sind wir fertig!
3. Fix (danke an divB) ---> laut divB seit chan_skype 1.2.9 obsolet
damit asterisk nicht beim laden von chan_skype abbricht, müssen wir für debian ein library beim start mitgeben. divB kann das aber viel besser erklären, hören wir also was er dazu sagt
:
3. Asterisk konfigurieren:
/etc/asterisk/modules.conf
/etc/asterisk/skype.conf
c'est ca.
4. chan_skype-fix (auf langsamen systemen <= k6-II 400)
da skype, wie wir später noch sehen werden, relativ oft neu gestartet werden muß, ist es unabdingbar, daß skype nicht jedesmal nachfragt, ob sich chan_skype mit skype verbinden darf. die auswahl wird auf langsamen systemen zwar gespeichert, offenbar reicht die zeit wärend dem start aber nicht aus, das wieder einzulesen, weshalb skype trotzdem bei jedem neustart noch einmal fragt. abhilfe schafft ein kleine modifikation der loadskype.sh:
relevant ist "sleep 20", die zeilen darüber und darunter geben die position an
. jetzt schläft das script 20 sek bevor der x11signaller gestartet wird. die zeit reicht aus, um skype in ruhe seine config laden zu lassen.
5. Konfiguration von Skype
Um skype zu konfigurieren starten wir erst einmal den vncserver
danach gehen wir nach readme vor:
6. Alles starten:
da der vnc desktop ein wenig groß ist schließen wir den jetzt wieder:
zuerst starten wir asterisk neu (falls noch nicht geschehen)
bitte nicht vergessen die startskripte dementsprechend anzupassen.
---> laut divB seit chan_skype 1.2.9 obsolet
wenn asterisk fehlerfrei gestartet ist können wir schonmal schauen was chanskype so macht:
die ausgabe sollte so aussehen:
sollte dort nicht skype1 auftauchen, nicht weiterlesen, sondern fehler suchen und hier posten
dann starten wir den vncserver (etwas kleiner und weniger bunt)
dann verbinden wir uns mit dem client, öffnen eine console oder bauen einen shortcut auf:
dann warten wir ein wenig und schauen zu, wie sich zuerst skype öffnet, dann ein kleines fenster (der X11signaller), dann fragt skype nach, ob chan_skype skype nutzen darf. das erlauben wir und sagen, daß er nicht mehr nachfragen soll.
danach skype wieder mit close beenden.
(skype sollte nach ein paar sekunden automatisch erneut starten, wenn ich mich richtig erinnere)
nun in die asterisk CLI wechseln und den skype status erneut abfragen.
das sollte jetzt so aussehen
Bis der username dort auftaucht kann schonmal eine minute vergehen, also keine panik. laut support kann man aber schon telefonieren, wenn er dort noch nicht angezeigt wird. probiert habe ich das noch nicht.
jetzt kann man mal die extension.conf bearbeiten, in etwa in diesem stil
speichern, "extensions reload" und mal mit einem anderen skype-client anrufen. wenn alles gut geht sollte man im beispiel oben die kostenlose netzbetreiber-ansage hören.
wenn alles gut gegangen ist, kommt der letzte teil, der cron-job.
7. cronjob
da, wie wir alle wissen, skype rotz ist und wir das ja nur benutzen, weil unsere bekannten sich nicht zu besserem bekehren lassen
, wird es niemanden wundern, daß es auch gar nicht richtig funktioniert:
skype wird (auch nach aussage von celliax) nach mehr als 10 minuten nichtstun instabil. wenn nun doch ein anruf reinkommt geht die prozessorlast auf 100% und der rechner macht gar nichts mehr (und das mitunter ganz schön lange). uns bleibt also nichts anderes übrig, als skype alle 10 minuten neu zu starten (das macht auch celliax so) um auf der sicheren seite zu sein.
Das ist zwar ärgerlich, aber es macht insofern nicht allzuviel, als das chan_skype sinnvollerweise den neustart verweigert, wenn man sich im gespräch befindet. so ist man halt einfach alle 10 minuten eine nicht mehr erreichbar (zur freude aller buddies, die einen incoming-sound eingestellt haben
).
das machen wir mit einem kleinen cronjob (oder mit 6)
crontab -e
nunja, ich denke, das wars. Vielleicht kann uns ja noch jemand in das Geheimnis der Dronenbildung einweihen
viel erfolg und viel spaß damit
n8|
1x debian
1x window-manager xfce
1x asterisk > 1.2.9
1x skype > 1.3 (nicht per apt sondern direkt von skype)
1x vncserver
1x chan_skype (UBUNTU!!!!!) von h++p://www2.chanskype.com/chanskype/download/packages/
oder ftp://ftp.chanskype.com/download/packages/
----------------------------
1. readme lesen! h++p://www2.chanskype.com/chanskype/download/packages/README.txt
das ist wichtig, da ich hier die dronen-accounts außen vor lasse. entweder das funktioniert unter debian nicht oder ich habe es nicht verstanden, aber nur weil ich es nicht hinbekomme will ich niemandem die möglichkeit nehmen.
alles in allem halte ich es für sinnvoll diese accounts nachträglich einzurichten und ersteinmal eine tragfähige installation zu bauen.
2. Installation:
- window-manager installieren (falls nicht schon geschehen)
ich habe mich für xfce entschieden, weil der schön schlank ist. der noch schlankere twm kam mit dem x11signaller nicht zurecht. achtung also!
Code:
apt-get install xfce4
Code:
wget [url]http://www.skype.com/go/getskype-linux-deb[/url]
dpkg -i skype skype_debian-1.3.0.53-1_i386.deb
- vnc installieren
Code:
apt-get install vnc-server
- Chanskype installieren
Code:
wget [url]http://www2.chanskype.com/chanskype/download/packages/chanskype-VERSIONSNUMMER-UBUNTU6.06.bin[/url]
./chanskype-VERSIONSNUMMER-UBUNTU6.06.bin
hier sind wir fertig!
3. Fix (danke an divB) ---> laut divB seit chan_skype 1.2.9 obsolet
damit asterisk nicht beim laden von chan_skype abbricht, müssen wir für debian ein library beim start mitgeben. divB kann das aber viel besser erklären, hören wir also was er dazu sagt
divB schrieb:Ich hab mir die Funktion aus dem Source der aktuellen libc besorgt, dieser sieht erstaunlich unspektakulär aus:
Code:unsigned long long int gnu_dev_makedev (unsigned int major, unsigned int minor) { return ((minor & 0xff) | ((major & 0xfff) << 8) | (((unsigned long long int) (minor & ~0xff)) << 12) | (((unsigned long long int) (major & ~0xfff)) << 32)); }
Nun erstelle ich einfach eine library mit dieser Funktion und linke sie dazu, die o.g. Funktion ist in libfixchanskype.c.
Code:$ gcc -fPIC -c -Wall fixchanskype.c $ gcc -shared -Wl,-soname,libfixchanskype.so -o libfixchanskype.so fixchanskype.o -lc
Die "Library" wird nach /usr/local/lib kopiert und Asterisk so gestartet:
Code:LD_PRELOAD=/usr/local/lib/libfixchanskype.so asterisk -U asterisk -gcvvvvvvvv
3. Asterisk konfigurieren:
/etc/asterisk/modules.conf
Code:
load => chan_skype
/etc/asterisk/skype.conf
Code:
[general]
; general config options, default values are shown
; all but debug can go also in the device-specific sections.
debug=1 ; misc debug flags, default is 0
channels=1
context=skype-in
c'est ca.
4. chan_skype-fix (auf langsamen systemen <= k6-II 400)
da skype, wie wir später noch sehen werden, relativ oft neu gestartet werden muß, ist es unabdingbar, daß skype nicht jedesmal nachfragt, ob sich chan_skype mit skype verbinden darf. die auswahl wird auf langsamen systemen zwar gespeichert, offenbar reicht die zeit wärend dem start aber nicht aus, das wieder einzulesen, weshalb skype trotzdem bei jedem neustart noch einmal fragt. abhilfe schafft ein kleine modifikation der loadskype.sh:
Code:
...
LD_PRELOAD=
sleep 20
echo /usr/local/bin/x11signaller -I$INSIGNAL -O$OUTSIGNAL
...
relevant ist "sleep 20", die zeilen darüber und darunter geben die position an
5. Konfiguration von Skype
Um skype zu konfigurieren starten wir erst einmal den vncserver
Code:
vncserver :1 -geometry 1280x1000 -depth 24
danach gehen wir nach readme vor:
Code:
a. alles unnötige des wm abschalten (wallpaper, screensaver, etc)
b. console öffnen und skype mit ~: skype starten
c. username passwort angeben und "automatisch anmelden" auswählen
d. Tools -> Options
General: "Show emoticons" AUS
"Do not show main window at startup" AN
inactive times "Away", "Not Available" = 0
Privacy: "only people from my Contacts can call" oder "anyone"
"only people from my Contacts can start chat"
"Automatically pop up requests for my contact details" AUS
Notifications: Alles AUS
Sounds: Alles AUS
Sound Devices: "OSS" und "/dev/dsp"
sollte das nicht auszuwählen sein: root-console starten und "makedsp.sh" ausführen
Advanced: "Check for updates automatically" AUS
"Close call tab after a complete call" AN
"Pop up chat window" AUS
Jetzt das Ganze mit "Save" speichern und ganz wichtig: Skype per close aus dem Menu beenden.
6. Alles starten:
da der vnc desktop ein wenig groß ist schließen wir den jetzt wieder:
Code:
vncserver -kill :1
Code:
LD_PRELOAD=/usr/local/lib/libfixchanskype.so asterisk -U asterisk -gcvvvvvvvv
---> laut divB seit chan_skype 1.2.9 obsolet
Code:
/usr/sbin/asterisk -f -q
wenn asterisk fehlerfrei gestartet ist können wir schonmal schauen was chanskype so macht:
Code:
asterisk -rx skype_status
Code:
DEV USER CALL# LASTFR LASTCS CONNST USERST LASTDUR
-------------------------------------------------------------------------
skype1 0 0 0 2 1 0
Licensed channels: 1
sollte dort nicht skype1 auftauchen, nicht weiterlesen, sondern fehler suchen und hier posten
dann starten wir den vncserver (etwas kleiner und weniger bunt)
Code:
vncserver :1 -geometry 300x800 -depth 8
Code:
/usr/local/bin/loadskypex.sh 1
danach skype wieder mit close beenden.
(skype sollte nach ein paar sekunden automatisch erneut starten, wenn ich mich richtig erinnere)
nun in die asterisk CLI wechseln und den skype status erneut abfragen.
das sollte jetzt so aussehen
Code:
DEV USER CALL# LASTFR LASTCS CONNST USERST LASTDUR
-------------------------------------------------------------------------
skype1 MeinUserName 0 0 0 2 1 0
Licensed channels: 1
jetzt kann man mal die extension.conf bearbeiten, in etwa in diesem stil
Code:
[skype-in]
exten=> skype1,1,dial(zap/g1/0310)
[skype-out]
exten=> 1,1,dial(Skype/any/<skypename>)
speichern, "extensions reload" und mal mit einem anderen skype-client anrufen. wenn alles gut geht sollte man im beispiel oben die kostenlose netzbetreiber-ansage hören.
wenn alles gut gegangen ist, kommt der letzte teil, der cron-job.
7. cronjob
da, wie wir alle wissen, skype rotz ist und wir das ja nur benutzen, weil unsere bekannten sich nicht zu besserem bekehren lassen
skype wird (auch nach aussage von celliax) nach mehr als 10 minuten nichtstun instabil. wenn nun doch ein anruf reinkommt geht die prozessorlast auf 100% und der rechner macht gar nichts mehr (und das mitunter ganz schön lange). uns bleibt also nichts anderes übrig, als skype alle 10 minuten neu zu starten (das macht auch celliax so) um auf der sicheren seite zu sein.
Das ist zwar ärgerlich, aber es macht insofern nicht allzuviel, als das chan_skype sinnvollerweise den neustart verweigert, wenn man sich im gespräch befindet. so ist man halt einfach alle 10 minuten eine nicht mehr erreichbar (zur freude aller buddies, die einen incoming-sound eingestellt haben
das machen wir mit einem kleinen cronjob (oder mit 6)
crontab -e
Code:
01 * * * * /usr/sbin/asterisk -rx "skype reload skype1" >>/var/log/asterisk/skype_reload.log 2>&1
11 * * * * /usr/sbin/asterisk -rx "skype reload skype1" >>/var/log/asterisk/skype_reload.log 2>&1
21 * * * * /usr/sbin/asterisk -rx "skype reload skype1" >>/var/log/asterisk/skype_reload.log 2>&1
31 * * * * /usr/sbin/asterisk -rx "skype reload skype1" >>/var/log/asterisk/skype_reload.log 2>&1
41 * * * * /usr/sbin/asterisk -rx "skype reload skype1" >>/var/log/asterisk/skype_reload.log 2>&1
51 * * * * /usr/sbin/asterisk -rx "skype reload skype1" >>/var/log/asterisk/skype_reload.log 2>&1
nunja, ich denke, das wars. Vielleicht kann uns ja noch jemand in das Geheimnis der Dronenbildung einweihen
viel erfolg und viel spaß damit
n8|
Zuletzt bearbeitet: