Enviado por admin el
Actualizado 5 septiembre 2009
Hoy empezaremos con la configuración del archivo sip.conf que es donde tenemos que definir nuestras extensiones, nuestros proveedores VoIP y todo lo relacionado con el protocolo SIP. En otro articulo hablaré del protocolo IAX, que es otra forma de configurar nuestra extensiones. El archivo sip.conf està estructurado en tres bloques. La parte general donde hay que definir la configuración general de nuestras extensiones, el bloque central donde configuraremos la registración a nuestros proveedores VoIP (y, si queremos, los datos para conectar entre ellos distintos servidores Asterisk), y la parte final del archivo donde configuraremos todas nuestras extensiones internas y externas.
Pensamos en una centralita que algún día hemos visto entrando a alguna empresa. Asterisk funciona en el mismo modo. Con las extensiones configuradas podremos llamar de una a otra, enrutar las llamadas a teléfonos fijos o celulares, hacia nuestros proveedores VoIP y utilizar las típicos servicios de estos aparados como llamadas en espera, desvío de llamadas, llamada a tres, contestador, etc.
La que sigue es la configuración de una parte de mi sip.conf; cada línea del archivo viene acompañada de una breve explicación después del punto y coma. Ahora tengo instalada la versión 1.6 de asterisk pero la mayoría de las opciones son validas también para las versiones anteriores.
[general] ; etiqueta que introduce la parte general de la configuración
allowguest=no ; No permitir llamadas de extensiones SIP remotas sin contraseña
bindport=5060 ; el puerto utilizado para conectar las extensiones SIP al servidor asterisk (protocolo UDP)
bindaddr=0.0.0.0 : la dirección IP para conectarse al servidor Asterisk (en este caso cualquier dirección de la computadora donde está asterisk)
;tcpenable=yes ; desde la versión 1.6 es posible configurar el servidor para que permita también conexiones TCP
;tcpbindaddr=0.0.0.0:5059 ; dirección y puerto para las conexiones SIP con protocolo TCP
callevents=yes ; Cuando hay eventos (llamadas, etc.) estos vienen notificados al Asterisk Manager (útil para programas externos tipo FOP)
context=phones ; el contexto de base que todas las extensiones utilizaran si no viene especificado diversamente
domain=sip.miodominio.com ; el dominio local para el servidor asterisk. En mi caso son dos.
domain=10.8.0.1 ; Si queremos conectarnos a Asterisk usando un segundo dominio (ejemplo una red VPN)
subscribecontext = subscribe; contexto donde configurar las extensiones para activar la función subscribe del protocolo SIP
allowsubscribe=yes ; esto permite a las extensiones controlar el estado de las demás
notifyringing=yes ; notifica si la extensión está timbrando a las demás extensiones (ya veremos como funciona)
notifyhold=yes ; notifica si la extensión está en espera
disallow=all ; deshabilitar todos los codecs (audio y video)
allow=ulaw ; habilita el codec audio ulaw de base para todas las extensiones
allow=alaw ; igual que arriba para el codec alaw
useragent=X-Lite ; la centralita se presentará con este nombre. A veces algunos proveedores no permiten conectarse a ellos si reconoces que detrás de la conexión está un servidor Asterisk. En este modo nos presentamos como si fuéramos el softphone X-Lite
realm=sip.voztovoice.com ; si definimos esta opción podremos crear las contraseñas cifradas con el protocolo MD5
t38pt_udptl=yes ; permite el uso del protocolo T38 (fax sobre IP) pero solo para conexiones directas
videosupport=yes ; Para permitir videollamadas
srvlookup=yes ; permite hacer busquedas de registros DNS SRV para llamadas SIP salientes basadas en los nombres de dominio
Ahora viene la registración a nuestros proveedores de llamadas. Si los vamos a usar solo para las llamadas salientes no hace falta configurar esta parte. Les pongo un ejemplo a modo de explicación
register => fulano:contraseña@sip.justvoip.com
Nos registramos con el proveedor con el username fulano, la contraseña y la dirección del servidor del proveedor. Si el servidor usa un puerto que no es el 5060 tenemos que especificarlo al final de la línea de este modo
register => fulano:contraseña@sip.justvoip.com:5061
Ahora pasamos a la configuración de las extensiones:
[2000] ; numero de la extensión
accountcode=2000 ; el código que aparecerá en el registro de llamadas para esta extensión
language=es ; si hemos instaladas locuciones en más de un idioma, aquí podemos definir cual idioma usará la extensión
type=friend ; tipo de extensión. Puede ser friend, user o peer. Friend puede hacer y recibir llamadas, user solo recibir y peer solo puede hacer (como en el caso de proveedores VoIP que usamos solo para hacer llamadas)
secret=contraseña ; la clave de la extensión
qualify=yes ; Para saber el tiempo de respuesta de una extensión y si está alcanzable o no
mailbox=2000@default ; la casilla de voz de la extensión (según la configuración del archivo voicemail.conf)
host=dynamic ; si la extensión se conecta remotamente cambiando continuamente su direccion IP se pone este parametro
dtmfmode=rfc2833 ; el protocolo para enviar los tonos DTMF
context=phones ; el contexto que usará la extensión
canreinvite=no ; yes si queremos que la extensión intente conectarse directamente con la extensión llamada. No si queremos que Asterisk haga de puente entre las dos extensiones.
nat=yes ; si la extensión se conecta al servidor asterisk detrás de un cortafuego hay que poner yes
callerid=Fulano <2000> ; el nombre y el numero de identificación de la extensión
disallow=all ; deshabilitar todos los codecs
allow=gsm ; habilita el codec audio gsm (el primero que se intentará utilizar a lo largo de una llamada)
allow=ulaw ; habilita el codec audio ulaw
allow=alaw ; habilita el codec audio alaw
allow=g729 ; habilita el codec audio g729
allow=h263 ; habilita el codec vídeo h263
Ahora un ejemplo para un proveedor de llamadas VoIP
[justvoip] ; nombre que le asignamos al proveedor
type=peer ; lo vamos a utilizar solo para llamadas salientes (peer)
host=sip.justvoip.com ; el nombre del host del proveedor
fromdomain=sip.justvoip.com ;
fromuser=fulano ; los dato que nos pide el proveedor para conectarnos (usuario y contraseña)
username=fulano
secret=contraseña
qualify=yes
canreinvite=no
dtmfmode=rfc2833
context=from-justvoip ; el contexto de utilizar en extensions.conf para las llamadas entrantes
call-limit=2 ; numero de canales que brinda el proveedor.
language=es
disallow=all
allow=ulaw
allow=alaw
allow=g729
Cada vez que cambiamos la configuración de nuestro sip.conf tenemos que recargarla. Abrimos la consola de asterisk
asterisk -rvvvvvvvvvv
y escribimos
CLI> sip reload
Reloading SIP
Estos son los comandos disponibles para las extensiones SIP
CLI> help sip
sip notify Send a notify packet to a SIP peer
sip prune realtime [peer|all] Prune cached Realtime users/peers
sip qualify peer Send an OPTIONS packet to a peer
sip reload Reload SIP configuration
sip set debug {on|off|ip|peer} Enable/Disable SIP debugging
sip set history {on|off} Enable/Disable SIP history
sip show {channels|subscriptio List active SIP channels or subscriptions
sip show channelstats List statistics for active SIP channels
sip show channel Show detailed SIP channel info
sip show domains List our local SIP domains
sip show history Show SIP dialog history
sip show inuse List all inuse/limits
sip show objects List all SIP object allocations
sip show peers List defined SIP peers
sip show peer Show details on specific SIP peer
sip show registry List SIP registration status
sip show sched Present a report on the status of the sched queue
sip show settings Show SIP global settings
sip show tcp List TCP Connections
sip unregister Unregister (force expiration) a SIP peer from the registry
Intenten probarlos todos para ver que pasa :)
Un saludo
26 comentarios
Duda Asterisk
Enviado por Humberto (no verificado) el
Hola que tal...
Felicidades por tu pagina, esta muy entendible.
Aprovechando el viaje, quisiera exponerte una duda que tengo.
Tengo un Asterisk@Home funcionando localmente. Es decir, en una LAN.
Tengo creada la extension 1000 que funciona perfectamente dentro de mi LAN, pero al momento de querer conectarme fuera de ella, el X-Lite me dice Request Timeout.
En mi sip.conf tengo lo siguiente en general.
[general]
port = 5060 ; Se define el puerto que usa Asterisk para SIP (5060 por default)
bindaddr = 10.0.10.10 ; Defino la dirección IP de Asterisk
El asterisk lo tengo direccionado con un dominio dinamico que es el que pongo en el X-Lite para conectarlo.
Funcionaria si cambio la IP de arriba al nombre del host dinamico?
Por ejemplo; bindaddr = euriskooaxaca.dyndns.info??
Gracias!!!!
Asterisk IP publica
Enviado por admin el
Para que puedas conectarte desde una fuera de la red sigue estos pasos
Abres el sip.conf
en bindaddr pones 0.0.0.0 asi asterisk estará escuchando en todas la direcciones IP (red local y IP publica)
en la linea localnet pones la direccion IP local del computador donde esté instalado asterisk. Ejemplo
Localnet 10.0.10.10/255.255.255.0
luego configuras esto
externhost=euriskoooaxaca.dyndns.org
externrefresh=180
Para terminar asegurate que en tu router/firewall tengas abiertos los puertos (normalmente 5060 UDP para la señalizacion y 10000:20000 UDP para el protocolo RTP (audio-video)
Recarcas la configuracion del sip.conf
Intentas conectar tu x-lite y mira que te aparece en la consola de asterisk
Cuentame como te fue y saludos a Oaxaca una ciudad muy bonita que tuve la suerte de conocer
Chao
Duda Asterisk
Enviado por Humberto (no verificado) el
Ya hice la prueba. Y ya pude conectarme desde Internet via X-Lite con mi servidor Asterisk.
Muchas gracias por la ayuda.
Oye aprovechando tu ayuda, tengo conectado un Linksys SPA al Asterisk. Ya esta registrado con una extension y mi intencion por ahora es hacer llamadas a la PSTN via SPA.
Podrias ayudarme con esto?? Tienes algunas sugerencias???
Oye, que bueno que te gusto Oaxaca. De donde eres?
Spa y Asterisk
Enviado por admin el
No teniendo un linksys spa no te puedo ayudar mucho pero me imagino que se podría hacer algo así:
abres tu extensions.conf y añades las siguientes lineas:
[pstn]
exten => _9XXX.,1,Dial(SIP/1000/${EXTEN},45)
exten => _9XXX.,n,Hangup
Creas un contexto pstn y te aseguras que la extension que quieres usar con la pstn tenga acceso a ese contexto
en la primera linea le dices a Asterisk que todas las llamadas que empiecen con un 9 sean enrutadas a la extension 1000 (la extension de tu SPA) y que si el numero marcado no contesta dentro de 45 segundos pase a la linea 2 donde se cuelga el canal
Seguro que si buscas un poquito en internet encontrarás algo más preciso.
Saludos
informacion
Enviado por Roberto Del Rosario (no verificado) el
hola tengo un asterix conectado localmente funciona perfecto si le coloco una conexion con ip fija tambien funciona bien
pero si coloco una conecion adsl y abro los puertos solo me permite timbra o aser timbrar otras extenciones pero no se escucha ni de un lado no de otro
Duda
Enviado por SDS (no verificado) el
no puedo transeferir video por mas que halla configurado el si.conf con el videosuport y los codecs....me podrias decir a que se debe eso...alguien me dijo que necesito modificar el protocolo que usa asterisk, pero no se donde hago eso...agradesco de antemano tu ayuda
Pues tenemos el mismo
Enviado por Anónimo (no verificado) el
Pues tenemos el mismo problema con el video , a mi me pasa exactamente lo mismo , ¿que puertos utiliza para video?
Llamadas video
Enviado por admin el
Una vez lo he probado y me ha funcionado.
Asterisk tiene problemas para la negociacion audio/video (en el sentido que lo hace muy mal).
En el sip.conf para cada extension definene un solo codec video (ej. H264) y hacen lo mismo en los softphone.
Luego recargan la configuracion y intentan hacer una llamada video.
Si no les funciona pueden poner (siempre en la configuracion de las extensiones)
canreinvite=yes
Recargan la configuracion y lo intentan otra vez
Yo lo he probado una vez on un Softphone BRIA y me ha funcionado.
INFORMACION
Enviado por G2G (no verificado) el
HOLA QUISIERA SABER SI ALGUIEN PUDIERA AYUDARME NECESITO CONFIGURAR ASTERISK 1.6
PARA VIDEOCONFERENCIA Y QUE TIPO DE CAMARAS UTILIZAR
OJALA PUDIERAN AYUDARME POR FAVOR
SALUDOS
videconferencia
Enviado por admin el
Para cuartos de videoconferencia asterisk, por ahora, no es la solucion.
Para videollamadas funciona y puedes buscar más informacion en internet
INFO
Enviado por G2G (no verificado) el
QUISIERA SABER QUE TIPO DE CONFIGURACION SE NECESITA PARA PODER MONTAR ALGUN TIPO DE SERVIDOR PARA VIDEOCONFERENCIA EN LINUX EN ESPECIFICO CENTOS 5 OJALA PUEDAN ORIENTARME
SALUDOS
Como configurar la web de asterisk
Enviado por Anónimo (no verificado) el
Hola, sequi todos los pasos y todo Ok lo que necesito saber como puedo habilitar la web, ya que le doy localhost al navegador y solo me sale it works
Re: Como configurar la web de asterisk
Enviado por admin el
La verdad no entendí muy bien la pregunta. Me puedes explicar de una forma más clara que es lo que quieres hacer?
Gracias.
Saludos
llamadas desde extensiones externaS
Enviado por hbosslp (no verificado) el
Hola amigos soy muy nuevo usando asterisk y apenas he logrado conectar asterisk de forma local con extensiones locales pero aun no he podido hacerlo con extensiones de otra lan
les agradeseria si me pudieran decir como se configura el sip.conf y el extensions.conf para hacerlo funcionar
desventaja de la version elastix 2.0 con 1.6
Enviado por caroline (no verificado) el
Hola
?
Gracias
inquietud configuracion de asterisk 1.8
Enviado por William Medrano (no verificado) el
primero que todo muchas gracias por tus aportes en esta pagina sobre voz ip, y quiero aprovechar la oportunidad y tus conocimientos para realizarte esta consulta.
tengo instalado freepbx distro en una maquina la cual esta detrás de un router ADSL, los puertos los he redireccionado de la forma como explica aquí en la pagina, y conectándome desde Internet ( fuera de la red donde esta el servidor asterisk) con un softphone (x-lite) funciona de maravilla, de igual forma utilizando mi telefono celular y el softphone bria ( el celular es un iphone 4).
hasta aquí parece no haber ningún problema, pero cuando intento conectar una extencion desde un ht503 esta nunca se registra, ya he reiniciado enemil veces el ht503 y configurado me todas las formas posibles y no doy para que se registre, debe ser problemas de configuración en mi asterisk o en los puertos necesarios ya que al conectarme a otro servidor si se registra y funciona perfectamente, agradezco de antemano tu colaboración
Re: inquietud configuracion de asterisk 1.8
Enviado por admin el
Hola William,
si el HT503 se encuentra conectado al mismo router donde está el servidor Asterisk, en la configuración del HT503 deberías usar la IP local en lugar de la IP publica.
Si el HT503 se encuentra en otra red y no logra registrarse, deberías mirar en el servidor asterisk si las peticiones de registro están llegando correctamente.
Esto lo puedes hacer activando el debug en la consola de Asterisk:
CLI> sip set debug on
Mejor aun si lo haces con Ngrep:
ngrep -W byline port 5060
Si ves que no llega ninguna petición del HT503, el problema está en la configuración del HT503 ya que con otros dispositivos todo te funciona bien.
Saludos
consulta
Enviado por pepe3 (no verificado) el
primero que todo muchas gracias por tus aportes en esta pagina sobre voz ip, y quiero aprovechar la oportunidad....... este es tu comentario,;tag=as19e73c14'
como veo que tienes configurado asterisk para llamadas entrantes y salientes , pues yo no lo consigo si fueses tan amable de colgar tus sip.conf y tu extensions.conf te lo agradeceria enormemente , yo solo consigo hacer y recibir llamadas internas cuando intento hacer llamadas externas me sale esto :
WARNING[4901]: chan_sip.c:20058 handle_response_invite: Received response: "Forbidden" from '"+3495xxxxxxx"
-- SIP/yacom-00000007 is circuit-busy
== Everyone is busy/congested at this time (1:0/1/0)
-- Auto fallthrough, channel 'SIP/101-00000006' status is 'CONGESTION'
de ahi no soy capaz de salir me he atascado mi operador es ya.com
parece un poco especial ..
gracias
OPENVPN
Enviado por danmik8 (no verificado) el
HOLA xfa ayudenme.... tengo configurada una vpn en ubuntu y quisiera transmitir voz es x eso que configure asterisk en el servidor vpn.. pero no logro comunicarme desde un cliente remoto.. es decir desde mi cliente vpn
ayudaaaa
Enviado por Janikripta (no verificado) el
Hola
He leido todos los comentarios son muy buenos.
Como puedo acceder remotamente a la interfaz web de elastix. He escuchado que se puede mediante ssl pero alguién podría decirme como hacerlo paso a paso. No sé mucho de esto y me cuesta entenderlo.... graciias
puertos
Enviado por Janikripta (no verificado) el
En qué archivo o cómo le hago para asociar los puertos abiertos en mi router para que se conecten con elastix ojalá puedan ayudarmeeee
vps?
Enviado por Anónimo (no verificado) el
Que tal me gustaria saber si puedo instalar asterisk en un vps donde hosteo mi sitio y mi servidor web mail, podran ayudar de alguna forma?
No recibo llamadas entrantes y extension not in context default
Enviado por Javier (no verificado) el
Hola, muchas gracias por la información, soy nuevo con esto, esto utilizando un dispositivo que lleva la versión de Digium de Asterisk, las siguientes versiones:
- Asterisk/1.8.31.1
- Asterisk GUI-version : 2.1.0-rc1
He ido configurando todo desde el GUI, y aparentemente puedo hacer todas las opciones pero no me funcionas las "incoming calls".
La conexión la hago con fibra de movistar, y lo que que no me está funcionando es que si me llaman al número fijo quiero que la llamada suene en todos los teléfonos (extensiones conectadas) pero no me está funcionando. Si hago debug veo el siguiente error:aunque no sé si falla por eso, el error es:
NOTICE[27960]: chan_sip.c:23592 handle_request_invite: Call from '' (10.31.255.134:5070) to extension 's' rejected because extension not found in context 'default'.
He leído que esto puede ser porque tengo que poner como unas reglas para las extensiones y añadir el context "default" a esas extensiones, pero yo lo que quiero no es que vaya a una extensión sino a todas y la cuestión es que para mí es un lío porque veo tutoriales y no parecen corresponder con lo que leo, quizá por ser diferente versión. El caso es que a través del gui veo las extensiones solo se pueden configurar mediante la pestaña "users" y se graban en un archivo llamado users.conf, sin embargo los tutoriales que leo parece que las extensiones tienen que ir en el archivo "extensions.conf". También he leído que tengo que añadir la línea register en dicho archivo.
¿Podría orientarme con un ejemplo qué tengo que añadir y dónde? Estoy bastante perdido y agradecería la ayuda.
Un saludo,
Javier
Resuelto pero no me aparece el número llamante
Enviado por Javier (no verificado) el
Bueno probando cosas ya he logrado resolverlo, al parecer el entorno GUI de asterisk genera las líneas que hacen falta creando nuevos "contextos" pero luego hace falta cambiarlo manualmente tocando directamente en los ficheros.
La solución para mí fue cambiar en Sip-settings donde pone default por el nombre que haya creado el gui por ejemplo em eñ aàrtadp Romg group y con eso ya se me derivan todas las llamadas... o por ejemplo otra forma es en el apartado incoming calls, ahí pones una linea con s y luego miras en el fichero el contexto que se ha generado y copias o mueves lo que hay ahí a default, como mejor te parezca. Si alguien necesita ayuda con esto se lo puedo explicar más detallado.
Lo que no me funciona es que cuando asterix me dirige la llamada entrante al móvil, aparece "asterix@ip" pero no me indica el nº de teléfono que hace la llamada no me aparece, en lugar del nº aparece la palabra asterisk y me ha dicho un amigo que a él con freepbx sí que le sale ¿alguien sabe cómo hacer que aparezca el nº que llama? Gracias
Ayuda!
Enviado por Laia (no verificado) el
Buenas noches, muchas gracias por el articulo ha sido muy interesante.
Me pusieron un proyecto en la universidad donde debo tener 3 extensiones SIP, 800, 801 y 802.
Hay una condicion que dice que la extension 802 solo debe aceptar llamadas de la 800, y de la otra no.
Sabrias como puedo hacer eso???