[Asterisk] SipToSis with Asterisk

This Post is related to the original SipToSis with Asterisk from /dev/bios Blog

Nevertheless i finally managed to Get a working Skype <-> Asterisk connection via SipToSis. Hurray!
I didn’t get Skypeiax to work..

Hmm ok dann hoffen wir mal dass wir das auch hinbekommen😉

This is how i did it – with Asterisk 1.4.x branch on the same machine skype should also do – running Debian 5.0

Ok ich setze mal auf Suse (10.3 produktiv, 11.2 als Testmaschine)

First you really need to have a working asterisk distribution , second you need to install Xvfb virtual frame buffer and skype itself the installation and configuration will depend between the systems so i can only cover debian here.

… und ich bin mal für die Suse Distri zuständig

Xtightvnc helps you to install and configure Skype the first time.

… und zum starten von Skype ohne Konsolen login
ok mal schauen ob wir dass später anders machen

  • You need to install xvfb, tightvncserver, dbus-x11, dbus, xfce4 ( for configuring skype)
  • Next, download skype (from here) and install it
  • und für Suse nennen sich die Pakete – ein wenig anders
    xvfb (Additional Xservers)
    tightvnc (A virtual X-Window System Server)
    dbus-1-x11 (D-Bus Message Bus System)
    dbus-1 (D-Bus Message Bus System)
    xfce4-desktop (Desktop Manager for Xfce) (for configuring skype)
    X11vnc (allow connect with VNC to xvfb) (for configuring skype)
  • Next, download skype (im Moment die 2.1 Beta) (from here) and install it (RPM installieren)
    ACHTUNG die 2.1 Beta stürtze auf meinem SuSE beim Gespräch annehmen ab – hier gibts die alte Version (2.0.0.72)  http://www.mediafire.com/?ljvbzjn4lzu
    – Runterladen, entpacken mit tar xvfj skype…
    – verschieben in /usr/local: mv skype_static-2.0.0.72 /usr/local/skype
    – cd /usr/local/skype
    – symlink anlegen damit es einfach mit „skype“ aufgerufen werden kann: ln -s /usr/local/skype/skype /bin/
  • Then we need SipToSis
    if you have no Java installed – you can also have a look on the siptosis page and install it
    I have used the RPM – and install it into /usr/local/java
  • Now download the SipToSis SIP Skype Bridge from here (because the latest version costs – take the little bit older below)
    – unpack it the .zip
    – move the contents  into /usr/local/siptosis
    – grant execute permission to the STS startup script (chmod +x SipToSis_linux)
    – now the last Step -> copy the siptosis.cfg File from the samples Folder into the main Folder
    – prüfen ob im siptosis Ordner ein siptosis.cfg File und diverse .props angelegt wurden (nach dem ersten start von siptosis)

Nun können wir das ganze mal testen:
Now open 2 Konsoles and 1. run the SipToSis script (in /usr/local/siptosis) and 2. start Skype

  1. #  ./SipToSis_linux
  2. # nohup skype >/dev/null &

Hoffentlich hat bis hier alles geklappt, denn nun gehts an’s konfigurieren

If this looks good, we can add Skype and SipToSis for autmatic startup to the init.d
Zuerst in /etc/init.d ein File erstellen mit dem Namen start_sipToSkype.sh mit folgendem Inhalt
Dieses Startup Script ist speziell für SuSE und wurde nach der SuSE Anleitung erstellt.

————————————————————————————————-
#!/bin/sh

### BEGIN INIT INFO
# Provides:       SipToSis
# Required-Start: network asterisk cron
# Should-Start:
# Required-Stop:
# Should-Stop:
# Default-Start:  5
# Default-Stop:
# Description:    Start the Asterisk SKYPE Connector
### END INIT INFO
# Note on runlevels:
# 0 – halt/poweroff                     6 – reboot
# 1 – single user                       2 – multiuser without network exported
# 3 – multiuser w/ network (text mode)  5 – multiuser w/ network and X11 (xdm)
#
#. /lib/lsb/init-functions
# Shell functions sourced from /etc/rc.status:
#      rc_check         check and set local and overall rc status
#      rc_status        check and set local and overall rc status
#      rc_status -v     be verbose in local rc status and clear it afterwards
#      rc_status -v -r  ditto and clear both the local and overall rc status
#      rc_status -s     display „skipped“ and exit with status 3
#      rc_status -u     display „unused“ and exit with status 3
#      rc_failed        set local and overall rc status to failed
#      rc_failed <num>  set local and overall rc status to <num>
#      rc_reset         clear both the local and overall rc status
#      rc_exit          exit appropriate to overall rc status
#      rc_active        checks whether a service is activated by symlinks
. /etc/rc.status

# Reset status of this service
rc_reset

case „$1“ in
    start)
        echo -n „Starting SipToSis “

        # loading sound driver
        /sbin/modprobe snd_dummy
        # setting DISPLAY
        export DISPLAY=:2
        # setting Home for skype Profile
        export HOME=/root
        # starting virtual framebuffer X-Server
        nohup /usr/bin/Xvfb ${DISPLAY} -ac -screen scrn 300x600x8 >/dev/null &
        #nohup Xvnc ${DISPLAY} &
        #Start Skype
        cd /root
        nohup skype >/dev/null &
        #Give it some Time to boot
        sleep 5
        #Start SipToSiS
        cd /usr/local/src/siptosis
        nohup ./SipToSis_linux siptosis.cfg >/dev/null &

        ## Start daemon with startproc(8). If this fails
        ## the return value is set appropriately by startproc.

        # Remember status and be verbose
        rc_status -v
        ;;
    stop)
        killall -9 skype
        killall -9 Xvfb
        ;;
    *)
        echo „Usage: $0 {start|stop}“
        exit 1
        ;;
esac
rc_exit

————————————————————————————————-

Download hier http://devbios.pastebin.com/m26eb33e1

Dieses Script dann mit chmod +x /etc/init.d/start_sipToSkype.sh ausführbar machen, dann kann es auch mal testweise manuell gestartet werden.
Zu beginn ist der start per VNC aktiviert nohup Xvnc ${DISPLAY} & so kann man sich per VNCViewer (localhost:2) auf das Fenster schalten um z.B. Skype zu konfigurieren.
Wenn es damit funktioniert kann man die VNC Zeile auskommentieren und die nohup /usr/bin/Xvfb aktivieren.

Auch auf den Xvfb kann man sich spiegeln – oder gleich damit Skype konfigurieren.

Use the following command to startup an X-11 VNC Server to start skype and configure it:

# x11vnc -display :2

dann mit VNCViewer von irgendeinem Rechner aus verbinden
Evtl. muss man vorher die Firewall deaktivieren

Nun Skype konfigurieren (Sound Einstellungen nicht vergessen) und „automatic login“ Box anhaken
-> ich hatte das Problem dass das Passwort nicht gespeichert wurde => gefixt durch: erst Passwort eintragen DANN auto Login Haken setzen!!!
If Skype is now working (with automatic login) you can test SipToSis.

Damit das Script automatisch gestartet wird muss man es der init.d hinzufügen
per cd das Verzeichnis wechseln dann
chkconfig -s  start_sipToSkype.sh on

Zum Testen das System mal neu starten
wenn nun eine Meldung erscheint dass sound devices entfernt wurden und ob dies permenannt erfolgen soll -> diese NICHT permanent entfernen (denn SipToSis wird diese ja wieder erstellen) und nicht mehr nachfragen anklicken.

Now we have skype ready, we need to configure SipToSis, this is what i changed in the default siptosis.cfg config:

#host_port=5070
#username=skypests
#passwd=unimportantpassword
#do_register=no
host_port=5070
contact_url=sip:skypetestuser@172.0.0.254:5070
from_url="skypetestuser" <sip:siptosisuser@172.0.0.254:5060>
username=siptosisuser
realm=asterisk
passwd=siptosisregpassword
expires=3600
do_register=yes
minregrenewtime=120
regfailretrytime=15

Now we need to configure Asterisk with our new SIP User so it knows where to go when SipToSis tries to connect.
Asterisk’s sip.conf:

[siptosisuser]
username=siptosisuser
type=friend
context=from-sip
secret=siptosisregpassword
host=dynamic
nat=no
dtmfmode=auto
canreinvite=no ;(possibly set to yes if you know what you are doing)
qualify=yes

incominglimit=1
outgoinglimit=1
call-limit=1
busylevel=1

insecure=invite,port

As alwas the context is important, this is how i configured the extensions.conf:

For incoming Skype Calls:

[from-sip]
;Dialin from Skype
exten => skype,1,Dial(SIP/myPhone,30,j)

For Outgoing Skype Calls:

exten => 101,1,Dial(SIP/siptosisuser/mySkypeUser)

Save and restart Asterisk.

Now it it time to boot everything together, but first we need a startup script for our SipToSys System.

Startup Script use this for easy copy & paste:

--------------------------------------------------
#!/bin/sh
# loading sound driver
/sbin/modprobe snd_dummy
# setting DISPLAY
export DISPLAY=:1
# starting virtual framebuffer X-Server
nohup /usr/bin/Xvfb ${DISPLAY} -screen scrn 300x600x8 >/dev/null &
#Start Skype
nohup skype >/dev/null &
#Give it some Time to boot
sleep 5
#Start SipToSiS
cd /usr/local/siptosis
nohup ./SipToSis_linux siptosis.cfg >/dev/null &
--------------------------------------------------

After executing it look in the asterisk console (asterisk -r) and try to call the Skype user!😉

Hopefully this is a way for you to make it easier to understand the Connection between Asterisk and skype.

Have phun🙂

References:
SipToSis Website: http://www.mhspot.com/sts/siptosis_ata_howto.html
SipToSis Forum: http://www.mhspot.com/stsforum/index.php
older SipToSis Infos: http://www.vitki.net/v/soho/voip

Startup Script: here
SipIAX Informations: http://www.opennet.ru/base/net/skype2sip.txt.html (use google translator)

#host_port=5070
#username=skypests
#passwd=unimportantpassword
#do_register=no
host_port=5070
contact_url=sip:skypetestuser@172.0.0.254:5070
from_url="skypetestuser" <sip:siptosisuser@172.0.0.254:5060>
username=siptosisuser
realm=asterisk
passwd=siptosisregpassword
expires=3600
do_register=yes
minregrenewtime=120
regfailretrytime=15


Now we need to configure Asterisk with our new SIP User so it knows where to go when SipToSis tries to connect.
Asterisk’s sip.conf:

[siptosisuser]
username=siptosisuser
type=friend
context=from-sip
secret=siptosisregpassword
host=dynamic
nat=no
dtmfmode=auto
canreinvite=no ;(possibly set to yes if you know what you are doing)
qualify=yes

incominglimit=1
outgoinglimit=1
call-limit=1
busylevel=1

insecure=invite,port

As alwas the context is important, this is how i configured the extensions.conf:

For incoming Skype Calls:

[from-sip]
;Dialin from Skype
exten => skype_input,1,Dial(SIP/myPhone,30,j)

For Outgoing Skype Calls:

exten => 101,1,Dial(SIP/siptosisuser/mySkypeUser)

Save and restart Asterisk.

Now it it time to boot everything together, but first we need a startup script for our SipToSys System.

Startup Script use this for easy copy & paste:

--------------------------------------------------
#!/bin/sh
# loading sound driver
/sbin/modprobe snd_dummy
# setting DISPLAY
export DISPLAY=:1
# starting virtual framebuffer X-Server
nohup /usr/bin/Xvfb ${DISPLAY} -screen scrn 300x600x8 >/dev/null &
#Start Skype
nohup skype >/dev/null &
#Give it some Time to boot
sleep 5
#Start SipToSiS
cd /usr/local/siptosis
nohup ./SipToSis_linux siptosis.cfg >/dev/null &
--------------------------------------------------

After executing it look in the asterisk console (asterisk -r) and try to call the Skype user!😉

Hopefully this is a way for you to make it easier to understand the Connection between Asterisk and skype.

Have phun🙂

References:
SipToSis Website: http://www.mhspot.com/sts/siptosis_ata_howto.html
SipToSis Forum: http://www.mhspot.com/stsforum/index.php
older SipToSis Infos: http://www.vitki.net/v/soho/voip

Startup Script: here
SipIAX Informations: http://www.opennet.ru/base/net/skype2sip.txt.html (use google translator)

Eine Antwort to “[Asterisk] SipToSis with Asterisk”

  1. Da bin ich mal gespannt wie du das dann einsetzt😉

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: