FreeSWITCH como Gateway Skype para Asterisk

DEBIDO AL CAMBIO DE LAS API DE SKYPE EL GATEWAY YA NO FUNCIONA (09/2017)

OBSOLETO!!! Nueva Guía

He decidido actualizar un viejo articulo que ya no funciona. Hoy veremos como crear un Gateway Skype entre FreeSWITCH y Asterisk PBX. De esta forma podremos cursar llamadas de este tipo:

Skype –> FreeSWITCH –> Asterisk

Asterisk –> FreeSWITCH –> Skype

Utilizaremos:

  1. FreeSWITCH git versión
  2. Asterisk PBX 11.7.0
  3. CentOS 6.5 64bit
  4. Un servidor Digital Ocean con 1GB de RAM

Antes de compilar FreeSWITCH preparamos el servidor. Accedemos vía SSH y actualizamos el sistema:

yum update -y

Instalamos el editor nano y wget:

yum install nano wget -y

Continuamos con la configuración de la zona horaria (personalizar según su país):

rm /etc/localtime
ln -s /usr/share/zoneinfo/America/Bogota /etc/localtime

El idioma (español):

nano /etc/sysconfig/i18n

modificamos esta línea:

LANG="en_US.UTF-8"

para que quede:

LANG="es_CO.iso88591"

Guardamos los cambios.

Instalamos el paquete del network time protocol que se utiliza para tener actualizada la hora del servidor:

yum install ntp -y

Lo configuramos para que arranque en automático:

chkconfig ntpd on

Lo iniciamos:

service ntpd start

Creamos la partición de Swap ya que no viene por defecto:

dd if=/dev/zero of=/swapfile bs=1024 count=512k
mkswap /swapfile
swapon /swapfile

Configuramos la partición de swap para que arranque con el sistema:

nano /etc/fstab

al final del archivo añadimos la línea que sigue:

/swapfile          swap            swap    defaults        0 0

Guardamos los cambios y se cambiamos los permisos del archivo recién creado:

chmod 0600 /swapfile

Reiniciamos el sistema:

reboot

Volvemos a acceder al servidor y instalamos una serie de dependencias para la compilación de FreeSWITCH y Asterisk PBX:

Vorbis, speex:

yum install libvorbis libvorbis-devel vorbis-tools libogg libogg-devel speex-devel -y

Curl:

yum install curl curl-devel libidn-devel -y

Paquetes para la compilación de las fuentes:

yum install gcc ncurses ncurses-devel make gcc-c++ libtermcap libtermcap-devel zlib zlib-devel libtool bison bison-devel -y

yum install openssl-devel bzip2 bzip2-devel wget newt newt-devel subversion flex gdbm-devel db4-devel perl-devel -y

MySQL:

yum install mysql mysql-server mysql-devel  sqlite sqlite-devel -y

ODBC:

yum install unixODBC unixODBC-devel mysql-connector-odbc libtool-ltdl-devel -y

Dependencias para SpanDSP:

yum install libtiff libtiff-devel libxml2 libxml2-devel libjpeg libjpeg-devel -y

Dependencias para iksemel (protocolo XMPP):

yum install gnutls gnutls-devel gnutls-utils –y

OpenLDAP:

yum install compat-openldap openldap openldap-clients openldap-devel openldap-servers -y

SNMP:

yum install net-snmp net-snmp-devel net-snmp-libs net-snmp-utils -y

Servidor de correo electrónico:

yum install sendmail sendmail-devel sendmail-cf -y

Quitamos Postfix ya que utilizaremos Sendmail:

yum remove postfix –y

Dependencias para el modulo mod_skypopen:

yum install libX11-devel Xvfb alsa-utils libXv libXScrnSaver xorg-x11-fonts* alsa-lib-devel libXScrnSaver alsa-lib libXScrnSaver libXv –y

y la versión 32bit:

yum install glibc.i686 alsa-lib.i686 libXv.i686 libXScrnSaver.i686 libSM.i686 libXi.i686 libXrender.i686 libXrandr.i686 libXfixes.i686 libXcursor.i686 libXinerama.i686 freetype.i686 fontconfig.i686 libstdc++.i686

Las fuentes del Kernel:

yum install -y kernel-devel-$(uname -r) -y

GIT:

yum install git -y

Descargamos y compilamos la ultima versión de FreeSWITCH:

cd /usr/src
git clone git://git.freeswitch.org/freeswitch.git
cd freeswitch
./bootstrap.sh
./configure
make && make install && make hd-sounds-install && make hd-moh-install && make samples

Solamente después de haber compilado e instalado FreeSWITCH, se compila e instala el modulo  Skyopen:

nano modules.conf

Modificamos esta línea:

#endpoints/mod_skypopen

para que quede:

endpoints/mod_skypopen

Guardamos los cambios y compilamos e instalamos el modulo:

make install

Continuamos con la compilación e instalación, como modulo del kernel, del falso driver OSS para Skype:

cd /usr/src/freeswitch/src/mod/endpoints/mod_skypopen/oss

make clean

make

insmod ./skypopen.ko

mknod /dev/dsp c 14 3

Instalamos unas dependencias para descomprimir el paquete de Skype:

yum install xz iptables-devel zip unzip

Llegados a este punto podemos utilizar el script en Perl para la configuración del modulo.

cd /usr/src/freeswitch/src/mod/endpoints/mod_skypopen/install

./install.pl

Enter your name
[Giovanni]:
Andrea
You gave: 'Andrea'
It's OK? Please answer 'Y' for yes or 'N' for not [N]: y

OK Andrea, GREAT! Let's start real questions! (At any time, Ctrl-C to abort)

At the end of questions, before I do anything, I'll let you review all your answers, don't worry! :)

I'm about to download the Skype client for Linux version 2.0.0.72 for OSS
nicely repackaged by Arch Linux with official Skype permission.
I need to create a directory to download and unpack the Skype client
To accept the default, just press Enter

Enter the full path of the Skype download directory
[/tmp/skype_download]:
You gave: '/tmp/skype_download'
It's OK? Please answer 'Y' for yes or 'N' for not [N]: y

I'm about to install the Skype client
I would put the binary in /usr/local/freeswitch/skypopen/skype-clients-symlinks-dir and the associated files in /usr/share/skype
Location of associated files is mandatory (/usr/share/skype)
Location of binary is recommended (/usr/local/freeswitch/skypopen/skype-clients-symlinks-dir)
To accept the default, just press Enter

Enter the directory full path for Skype client binary
[/usr/local/freeswitch/skypopen/skype-clients-symlinks-dir]:
You gave: '/usr/local/freeswitch/skypopen/skype-clients-symlinks-dir'
It's OK? Please answer 'Y' for yes or 'N' for not [N]: y

I'm about to create the FreeSWITCH configuration file for mod_skypopen (skypopen.conf.xml)
I need to know where to put it, eg: where is the FreeSWITCH modules' config dir
To accept the default, just press Enter

Enter the directory full path for FreeSWITCH modules' config files
[/usr/local/freeswitch/conf/autoload_configs]:
You gave: '/usr/local/freeswitch/conf/autoload_configs'
It's OK? Please answer 'Y' for yes or 'N' for not [N]: y

I'm about to create the directory where to put our fake sound driver
Location of fake sound driver directory is where you like it more :)
To accept the default, just press Enter

Enter the directory full path for fake sound driver
[/usr/local/freeswitch/skypopen/skypopen-sound-driver-dir]:
You gave: '/usr/local/freeswitch/skypopen/skypopen-sound-driver-dir'
It's OK? Please answer 'Y' for yes or 'N' for not [N]: y

I'm about to create the configuration directory needed by the Skype clients
Location of Skype clients configuration directory is where you like it more :)
To accept the default, just press Enter

Enter the directory full path for Skype clients config
[/usr/local/freeswitch/skypopen/skype-clients-configuration-dir]:
You gave: '/usr/local/freeswitch/skypopen/skype-clients-configuration-dir'
It's OK? Please answer 'Y' for yes or 'N' for not [N]: y

I'm about to create a directory where I'll put the Skype clients startup script
Location of Skype clients startup script directory is where you like it more :)
To accept the default, just press Enter

Enter the directory full path for Skype clients startup script
[/usr/local/freeswitch/skypopen/skype-clients-startup-dir]:
You gave: '/usr/local/freeswitch/skypopen/skype-clients-startup-dir'
It's OK? Please answer 'Y' for yes or 'N' for not [N]: y

I'm about to create the directory for symlinks needed by the Skype clients startup script
Location of symlinks directory is where you like it more :)
To accept the default, just press Enter

Enter the directory full path for Skype clients symlinks
[/usr/local/freeswitch/skypopen/skype-clients-symlinks-dir]:
You gave: '/usr/local/freeswitch/skypopen/skype-clients-symlinks-dir'
It's OK? Please answer 'Y' for yes or 'N' for not [N]: y

How many Skype clients (channels) do you want to launch?
Each Skype client will be one channel to FreeSWITCH and use approx 70MB of ram
A quad core CPU can very easily support 20 or more Skype clients
Each Skype client allows one concurrent call
Eg: if you plan to have a max of 10 concurrent (outbound and/or inbound) Skype calls then enter 10
To accept the default, just press Enter

Indicamos el numero de instancias del cliente Skype que queremos ejecutar. Esto sería el numero de canales Skype que luego tendremos disponibles:

Enter how many Skype clients will be launched
[5]:
10
You gave: '10'
It's OK? Please answer 'Y' for yes or 'N' for not [N]: y

You want all of the Skype clients to use the same Skype login (skypeusername)?
eg: you want all of your skypopen channels to be Bob on the Skype network, or you want channel skype01 to be Bob, channel skype02 to be Alice, etc?
Please answer 'one' for all channels using the same Skype login (you'll be asked just one time for Skype login and password) or 'multi' for being asked for each channel

Con esta opción indicamos que todos los canales serán asociados a la misma cuenta SKype:

Enter 'one' or 'multi'
[one]:
one
You gave: 'one'
It's OK? Please answer 'Y' for yes or 'N' for not [N]: y

I need the Skype username which will be used by ALL the Skype clients to be launched
(That's the one-word you registered as login to the Skype network)
This installer will create the needed files to launch concurrently many (or one) instances of it

NB: DON'T ACCEPT the DEFAULT, write YOUR OWN

Ponemos el usuario Skype:

Enter the Skype clients username
[your_own_skype_username]: voztovoice-soporte
You gave: 'voztovoice-soporte'
It's OK? Please answer 'Y' for yes or 'N' for not [N]: y

I need the Skype password which will be used by ALL the Skype clients to be launched
(That's the one-word you registered as password to the Skype network)

NB: DON'T ACCEPT the DEFAULT, write YOUR OWN

La contraseña del usuario Skype

Enter the Skype clients password
[your_own_skype_password]: sesamo
You gave: 'sesamo'
It's OK? Please answer 'Y' for yes or 'N' for not [N]: y

Please check the following values:

directory for downloading and unpacking Skype client:
'/tmp/skype_download'
directory for Skype client binary:
'/usr/local/freeswitch/skypopen/skype-clients-symlinks-dir'
directory for FreeSWITCH modules' configs:
'/usr/local/freeswitch/conf/autoload_configs'
directory for fake sound driver:
'/usr/local/freeswitch/skypopen/skypopen-sound-driver-dir'
directory for Skype clients configs:
'/usr/local/freeswitch/skypopen/skype-clients-configuration-dir'
directory for Skype clients startup script:
'/usr/local/freeswitch/skypopen/skype-clients-startup-dir'
directory for Skype clients symlinks:
'/usr/local/freeswitch/skypopen/skype-clients-symlinks-dir'
how many Skype clients to launch: '10'
Skype login: 'voztovoice-soporte'
Skype password: 'sesamo'

Confirmamos la configuración:

Are you sure you like the values? Write 'sure' for yes
[nope]: sure
You gave: 'sure'
It's OK? Please answer 'Y' for yes or 'N' for not [N]: y

GREAT! Please stand back, I'm working...
SUCCESS!!!

El proceso ha terminado.

El archivo:

/usr/local/freeswitch/skypopen/skype-clients-startup-dir/start_skype_clients.sh

Contendrá la configuración para iniciar las 10 instancias del cliente Skype. Ejecutamos el script:

sh /usr/local/freeswitch/skypopen/skype-clients-startup-dir/start_skype_clients.sh

Cuando termine instalamos el script de inicio de FreeSWITCH:

cd /usr/src/freeswitch/build/

cp freeswitch.init.redhat /etc/init.d/freeswitch

nano /etc/init.d/freeswitch

Cambiamos las líneas que siguen:

PID_FILE=${PID_FILE-/opt/freeswitch/run/freeswitch.pid}
FS_USER=${FS_USER-freeswitch}
FS_FILE=${FS_FILE-/opt/freeswitch/bin/freeswitch}
FS_HOME=${FS_HOME-/opt/freeswitch}
FREESWITCH_ARGS="-nc"

Para que queden:

PID_FILE=${PID_FILE-/usr/local/freeswitch/run/freeswitch.pid}
FS_USER=${FS_USER-root}
FS_FILE=${FS_FILE-/usr/local/freeswitch/bin/freeswitch}
FS_HOME=${FS_HOME-/usr/local/freeswitch}
FREESWITCH_ARGS="-nc -nonat"

Volvemos ejecutable el archivo:

chmod +x /etc/init.d/freeswitch

lo añadimos a la lista de servicios:

chkconfig --add freeswitch

FreeSWITCH tiene que iniciarse después de las instancias del cliente Skype. Por eso modificamos el archivo:

nano /usr/local/freeswitch/skypopen/skype-clients-startup-dir/start_skype_clients.sh

antes de esta línea:

exit 0

añadimos:

sleep 30
/etc/init.d/freeswitch start

Guardamos los cambios y añadimos la ejecución del script en el rc.local:

nano /etc/rc.local

al final del archivo añadimos:

sh /usr/local/freeswitch/skypopen/skype-clients-startup-dir/start_skype_clients.sh

Guardamos los cambios. Ahora configuramos FreeSWITCH. Como Asterisk PBX va a estar en el mismo servidor, tenemos que cambiar los puertos de escucha de FreeSWITCH:

nano /usr/local/freeswitch/conf/vars.xml

<X-PRE-PROCESS cmd="set" data="internal_sip_port=5060"/>
<X-PRE-PROCESS cmd="set" data="internal_tls_port=5061"/>

para que queden:

<X-PRE-PROCESS cmd="set" data="internal_sip_port=5062"/>
<X-PRE-PROCESS cmd="set" data="internal_tls_port=5063"/>

Guardamos los cambios. Ahora configuramos FreeSWITCH para que el trafico SIP y RTP con el Gateway (Asterisk) pase por la IP 127.0.0.1

nano /usr/local/freeswitch/conf/sip_profiles/external.xml

modificamos estas dos líneas:

<param name="rtp-ip" value="$${local_ip_v4}"/>
<param name="sip-ip" value="$${local_ip_v4}"/>

para que queden:

<param name="rtp-ip" value="127.0.0.1"/>
<param name="sip-ip" value="127.0.0.1"/
>

Guardamos los cambios y le decimos a FreeSWITCH donde enviar las llamadas que lleguen de usuarios Skype:

nano /usr/local/freeswitch/conf/autoload_configs/skypopen.conf.xml

cambiamos esta línea:

<param name="destination" value="5000"/>

para que quede:

<param name="destination" value="voztovoice-soporte"/>

Guardamos los cambios. Las llamadas llegarán al contexto “default” del dialplan. Lo abrimos:

nano /usr/local/freeswitch/conf/dialplan/default.xml

antes de este bloque:

<extension name="global-intercept">
      <condition field="destination_number" expression="^886$">
        <action application="answer"/>
        <action application="intercept" data="${hash(select/${domain_name}-last_dial_ext/global)}"/>
        <action application="sleep" data="2000"/>
      </condition>
    </extension>

Añadimos:

<extension name="skype-call">
      <condition field="destination_number" expression="^(voztovoice-soporte)$">
       <action application="set" data="effective_callee_id_name=${skype_user}" />
       <action application="set" data="effective_callee_id_number=${skype_user}" />
       <action application="set" data="skype_get_inband_dtmf=true"/>
       <action application="bridge" data="{sip_cid_type=rpid}sofia/gateway/asterisk/skype"/>
      </condition>
    </extension>

Como se puede ver, todas las llamadas procedentes de Skype se enviarán al servidor Asterisk, extensión skype. Ahora pasamos al contexto para las llamadas procedentes de Asterisk:

nano /usr/local/freeswitch/conf/dialplan/public.xml

Después de estas dos líneas:

<include>
  <context name="public">

Añadimos:

<extension name="skype_uri">
      <condition field="destination_number" expression="^skype-(.*)$">
        <action application="set" data="skype_get_inband_dtmf=true"/>
        <action application="bridge" data="skypopen/RR/$1"/>
      </condition>
    </extension>

LA RR está por Round Robin y utiliza este algoritmo para distribuir las llamadas salientes entre los distintos canales Skype disponibles en FreeSWITCH.

Guardamos los cambios. De esta forma todas las llamadas procedentes de Asterisk que tengan como prefijo del nombre de extensión skype-, se procesaran en este bloque.

Por ultimo configuramos la troncal con Asterisk:

nano /usr/local/freeswitch/conf/sip_profiles/external/asterisk.xml

Copiamos las siguientes líneas:

<include>
  <gateway name="asterisk">
  <param name="realm" value="astersik"/>
  <param name="from-domain" value="127.0.0.1"/>
  <param name="extension" value=""/>
  <param name="password" value="password"/>
  <param name="proxy" value="127.0.0.1"/>-->
  <param name="expire-seconds" value="3600"/>
  <param name="register-transport" value="udp"/>
  <param name="register" value="false"/>
  <param name="retry-seconds" value="30"/>
  <param name="extension-in-contact" value="true"/>
  <param name="ping" value="25"/>
  </gateway>
</include>

Guardamos los cambios y seguimos con la instalación y configuración de Asterisk:

cd /usr/src

wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-11.7.0.tar.gz
tar -xf asterisk-11.7.0.tar.gz
cd asterisk-11.7.0
./configure --libdir=/usr/lib64
make
make install
make samples
make config

Ahora tenemos que modificar dos archivos:

  • sip.conf
  • extensions.conf

nano /etc/asterisk/sip.conf

al final del archivo añadimos la configuración de la extensión que recibirá las llamadas procedentes de los usuario Skype y la troncal con FreeSWITCH:

[skgateway]
type=peer
context=skype
disallow=all
allow=alaw
allow=ulaw
qualify=yes
port=5080 
host=127.0.0.1
nat=no
directmedia=no

[1000]
type=friend
secret=sesamo
context=phones
disallow=all
allow=alaw
allow=g722
language=es
qualify=yes
host=dynamic
nat=force_rport,comedia
directmedia=no

Guardamos los cambios. Las llamadas procedentes de FreeSWITCH llegarán al contexto [skype] y la extensión 1000 tendrá acceso al contexto phones. Ahora el dialplan:

nano /etc/asterisk/extensions.conf

Al final del archivo insertamos el contexto para llamar a FreeSWITCH y de ahí a los usuarios Skype:

[phones]
exten => _[a-z].,1,Set(prefix=skype-${EXTEN})
same => n,set(CALLERID(all)=voztovoice-soporte)
same => n,NoOp(${prefix})
same => n,Dial(SIP/skgateway/${prefix})
same => n,Hangupg

Las llamadas procedentes de FreeSWITCH (contexto skype, extensión skype) la enviamos a la extensión 1000:

[skype]
exten => skype,1,NoOp(Llamada desde FreeSWITCH)
same => n,Set(skype=${SIP_HEADER(from)})
same => n,Dial(SIP/1000,30)
same => n,Hangup

Guardamos los cambios y iniciamos Asterisk:

service asterisk start

Configuramos X-Lite como extensión 1000 y sucesivamente iniciamos FreeSWITCH in primer plano para ver si hay errores:

/usr/local/freeswitch/bin/freeswitch -nonat

Por defecto el modulo Skypopen no se carga. Lo hacemos manualmente:

freeswitch> load mod_skypopen

miramos si FreeSWITCH se ha conectado a las 10 instancias:

freeswitch> sk list

sk console is NOT yet assigned
F ID        Name        IB (F/T)    OB (F/T)    State   CallFlw         UUID
= ====    ========      =======     =======     ======  ============    ======
  1     [skype101]        0/0        0/0        IDLE    IDLE
  2     [skype102]        0/0        0/0        IDLE    IDLE
  3     [skype103]        0/0        0/0        IDLE    IDLE
  4     [skype104]        0/0        0/0        IDLE    IDLE
  5     [skype105]        0/0        0/0        IDLE    IDLE
  6     [skype106]        0/0        0/0        IDLE    IDLE
  7     [skype107]        0/0        0/0        IDLE    IDLE
  8     [skype108]        0/0        0/0        IDLE    IDLE
  9     [skype109]        0/0        0/0        IDLE    IDLE
  10    [skype110]        0/0        0/0        IDLE    IDLE

Ahora en la consola de Asterisk debería estar la troncal activa. Salimos de la consola de FreeSWITCH digitando tres .:

freeswitch>

Configuramos FreeSWITCH de forma que le modulo Skypopen se cargue al iniciar FreeSWITCH:

nano /usr/local/freeswitch/conf/autoload_configs/modules.conf.xml

al final de este bloque:

<!—Endpoints -->

Añadimos:

<load module="mod_skypopen"/>

Guardamos los cambios y iniciamos FreeSWITCH como servicio:

service freeswitch start

Después de unos segundos miramos si está corriendo:

service freeswitch status

Ahora entramos en la consola de Asterisk:

asterisk -rvvvvvvvvvvvvvv

y miramos si la troncal con FreeSWITCH está activa:

CLI> sip show peers

skypega1

Ahora la prueba. Desde un cliente Skype, llamamos el usuario voztovoice-soporte:

skypega2

Timbrará el SoftPhone X-Lite:

skypega3

Perfecto. Ahora al contrario. Desde X-Lite llamamos el usuario Skype voztovoice:

skypega4

skypega5

De esta forma los únicos puertos que tenemos que abrir en el firewall son los que va a utilizar Asterisk.

A mi me parece que tenemos una cosa bien Chevere!

Y ahora a bailar merengue

Vota el Articulo: 

Sin votos (todavía)
Evalúa la calidad del articulo

4 comentarios

error para generar llamadas a numeros fijos

Hola soy nuevo en esto de la centralitas y estoy configurando una cuenta skype con plan de minutos y llamadas a red fija, te comento que recibo llamadas de mabas partes (a mi usuario y a mi numero fijo skype), pero por lo contrario, solo puedo llamara usuarios skype

recibo este mensaje

== Using SIP RTP CoS mark 5
[Feb 23 19:12:37] NOTICE[1892][C-00000100]: chan_sip.c:25450 handle_request_invite: Call from '1000' (190.47.175.78:48219) to extension '+56552532705' rejected because extension not found in context 'phones'.

ademas no sé como incorporar la opcion de comunicacion entre anexos ni ivr juntos a las llamadas a skype.

cree usuarios, ademas del que espesificas en este post, de numeracion 100 dentro de contexto que acontinuacion detallo. (me he amanecido dos dias seguidos y no puedo inegrar ambas funcionalidades en un solo contexto, las de skype y las internas)

[ies]
exten =>_1XX,1,Set(Buzon=${EXTEN})
same =>n,Set(Anexo=${DB(usuarios/${EXTEN})})
same =>n,Dial(SIP/${Anexo},10,Tt)
same =>n,Goto(s-${DIALSTATUS},1)
exten =>s-BUSY,1,Voicemail(${Buzon}@mensaje,b)
exten =>s-NOANSWER,1,Voicemail(${Buzon}@mensaje,u)
same =>n,Hangup()

exten =>_s-.,1,Goto(s-NOANSWER,1)
exten => s,1,Answer
exten => s,n,Wait(1)
exten => s,n,Goto(ivr.conf,s,1)

usuarios
[usuario1]
type=friend
qualify=yes
secret=clave dificil
callerid=usuario
host=dynamic
context=ies
nat=yes
dtmfmode=rfc2833
canreinvite=no
disallow=all
allow=ulaw
allow=alaw

Re: error para generar llamadas a numeros fijos

Hola,

para las llamadas salientes. La extensión 1000 tiene que tener acceso al contexto phones ya que:

= Using SIP RTP CoS mark 5
[Feb 23 19:12:37] NOTICE[1892][C-00000100]: chan_sip.c:25450
handle_request_invite: Call from '1000' (190.47.175.78:48219) to
extension '+56552532705' rejected because extension not found in context
'phones'.

Luego en el contexto phones, tienes que añadir algo por el estilo:

exten => _00.,1,Set(prefix=skype-+${EXTEN:2})
same => n,NoOp(${prefix})
same => n,Dial(SIP/skgateway/${prefix})
same => n,Hangup

Si no quieres marcar con el 00:

exten => _56.,1,Set(prefix=skype-+${EXTEN})
same => n,NoOp(${prefix})
same => n,Dial(SIP/skgateway/${prefix})
same => n,Hangup

Con esta pieza de dialplan podrás sacar llamadas vía Skype.

La segunda parte del comentario, la verdad no la entendí.

Saludos

Gracias! y nuevo problema detectado!!

Muchas gracias! la verdad que pude generar llamadas al instante, pero luego de que comence a funcionar detecté que al recibir llamadas desde numeros fijos o celular a mis numeros skype atraves de mi asterisk.
describo los sintomas:

1.- llamo desde mi celular a mi numero skype configurado con mi asterisk..
2.- levanto el auricular de mi equipo IP configurado con mi asterisk.
3.- sigue sonando el tono de llamada en mi celular
4.- luego de 9 segundos (cronometrados) conecta mi asterisk al celular o red fija y puedo hablar.

Suscribirse a Comentarios de "FreeSWITCH como Gateway Skype para Asterisk" Suscribirse a VozToVoice - Todos los comentarios