Voip en Español

[[asterisk_configuracion_sip.conf]]

Traza: » asterisk_configuracion_sip.conf

Login

¡Actualmente no estás identificado! Introduce abajo tus datos de identificación para abrir una sesión. Necesitas tener las cookies activadas para identificarte.

Ingresar

Has olvidado tu contraseña? Obten una nueva.: Enviar nueva contraseña

Configuración del archivo sip.conf en Asterisk

ARREGLAR

El archivo de configuración para los canales SIP del Asterisco, para las llamadas de entrada y de salida.

Asterisk como cliente SIP

En el sip.conf debajo de la seccion [general] agrega una definición para la registración:

Formato:

register => usuario[:password[:authuser]]@hostservidor[:puerto][/extension]

o

register => usuario@dominio:password@hostservidor

Si tienes problemas con tu conexión de red que se cae y se levanta (una mala conexión de cable) y pierdes tu registración sip, puedes setear “registerattempts” y “registertimeout“” en la sección general sobre las definiciones de registración. Fijar “registerattempts=0” forzará al Asterisk tratar de reregistrarse hasta que pueda (por defecto son 10 intentos). el registertimeout fija la cantidad de tiempo en segundos entre intentos de registración (por defecto es 20 segundos).

Ejemplo:

  ; Registrar 2345@miproveedorsip.com con authname 2345 en miproveedorsip.com como 1234 asi:
  register => 2345:password@miproveedorsip.com/1234
  ; Registrar 1235@miproveedorsip.com con authname 1235 y realm miproveedorsip.com en proxyde.miproveedorsip.com asi (como lo requiere budgetphone.nl):
  register => 1235@miproveedorsip.com:password:1235@proxyde.miproveedorsip.com 
  • usuario es el user-id para este servidor SIP (2345)
  • authuser es el usuario de autorización opcional para el servidor SIP
  • password es la contraseña del usuario
  • hostservidor es el nombre del dominio o del servidor SIP. Este servidor SIP necesita tener una definición en una sección propia en el sip.conf (miproveedorsip.com).
  • el puerto envía la petición register a este puerto en el Servidor. Por defecto al 5060
  • /1234 es la extensión de contacto del Asterisk. 1234 se pone en el campo de contacto del mensaje Register del SIP. La extensión de contacto es utilizada por el servidor remoto del SIP cuando necesita enviar una llamada al Asterisk. Ver el ejemplo de abajo. El contexto por defecto es “s”.

Convengamos que, no es muy bueno tener tantas contraseñas en texto plano en este archivo, pero asi es como funciona por ahora. Solo necesitas registrarte si a) deseas ser llamado, y b) tienes un dirección IP dinámica. Puedes comprobar el éxito de los registros de tu propio servidor en el CLI con “SIP SHOW REGISTRY”, mientras que puedes obtener una lista de los clientes que se han registrado con tu servidor con “SIP SHOW PEERS”.

La definición del servidor para las llamadas salientes seria asi:

 [miproveedorsip-out]
 type=peer
 secret=password
 username=2345
 host=sipserver.miproveedorsip.com
 fromuser=2345
 fromdomain=fwd.pulver.com
 nat=yes
 context=desde-miproveedorsip; esta sección será definida en el [[Asterisk configuracion extensions.conf|extensions.conf]]

En extensions.conf entonces utilizarías una declaración como esta:

exten => _9.,1,Dial(SIP/${EXTEN:1}@miproveedorsip-out,30,r) 

Observar que la variable ${EXTEN:1} obtiene todos los digitos de la extensión actual menos el primer caracter, en este caso: 9 + los dígitos siguientes. Referirse a la sección Asterisk variables para más detalles.

Aquí está la sección (en el extensions.conf) que rutea las llamadas de nuestro proveedor sip a donde decidamos:

 [de-miproveedorsip]
  exten => 1234,1,Answer ; 1234 es he contact extension, default contact extension is "s"
  exten => 1234,2,Dial(SIP/111,25,Ttr) ; incoming calls are redirected to SIP telephone with number 111       
  exten => 1234,3,Hangup 

Configuración SIP - general

La sección [general] del sip.conf incluye las variables siguientes:

  • allow = <codec>: Permite los codecs en orden de preferencia (use DISALLOW=ALL primero, antes de permitir otros codecs)
  • disallow = all : Rechaza todos los codecs (configuración global)
  • allowexternalinvites = yes|no: Habilita/Deshabilita los INVITE y REFER a dominios no locales. Por defecto “yes”. (Nuevo en la version 1.2.x).
  • allowguest = yes|no: Permitir o rechazar las llamadas de invitados (guest) (por defecto está en yes, esto se puede también poner en “osp” si el asterisk fue compilado con soporta para OSP). (Nuevo en 1.2).
  • autocreatepeer = yes|no: Si está habilitada, cualquier persona podrá logearse como un peer (sin chequeo de credenciales; útil para la operación con SER). por defecto “no”.
  • autodomain = yes|no: habilita/deshabilita la capacidad de asterisk de agregar hostnames locales e IP address locales a la lista de dominios. por defecto “no”.
  • bindaddr = direccion_IP: la direccion IP en la cual escuchar. por defecto 0.0.0.0 (todas los interfaces de red).
  • bindport = número: Puerto UDP donde escuchar. por defecto 5060.
  • callerid = <string>: información de identificación de llamada a utilizar cuando no este disponible. por defecto “asterisk”.
  • canreinvite = update,yes,no (configuración global): Por alguna razón esto viene en “yes”, así que cuidado.
  • checkmwi = número: El intervalo global (en segundos) entre chequeos de casillas de mensajes. por defecto 10 segundos.
  • compactheaders = yes,no: Indica si el asterisk debe enviar encabezados compactados (abreviados) en los mensajes de SIP. por defecto “no”.
  • context = <nombredelcontexto>: Éste es el contexto por defecto y se utiliza cuando un terminal no tiene ningun contexto definido. El contexto en la sección de un terminal se utiliza para encaminar llamadas desde ese terminal hacia el destino deseado. El cuerpo del contexto está situado en el extensions.conf.
  • defaultexpirey = numero : duración (en segundos) de las registraciones entrantes/salientes. por defecto 120 segundos.
  • dtmfmode = inband,info,rfc2833 (configuración global). por defecto rfc2833.
  • domain = dominios: lista separada por comas de los dominios por los cuales el Asterisk es responsable.
  • dumphistory = yes,no: Permitir el soporte para descargar el historial de transacciónes de conversaciónes SIP a LOG_DEBUG. por defecto “no”.
  • externip = direccion IP o un hostname: direccion que vamos a poner en los mensajes SIP si estamos detrás de un NAT. Si un hostname se utiliza como valor, entonces la direccion IP asociada al hostname se resolvera solamente una vez durante la lectura del sip.conf. Si deseas soporte para un hostname asociado a una direccion IP dinámica, utiliza externhost.
  • externhost = dominio.com
  • externrefresh = número: Especifica cuantas veces (en segundos) las operaciones de búsqueda del hostname DNS se deben realizar para el valor configurado en “externhost”. por defecto 10 segundos.
  • ignoreregexpire = yes|no: Indica si utilizar la información de contacto de un peer aunque la información sea vieja porque ha alcanzado su tiempo de expiración. Por defecto no.
  • language = <string>: lenguaje por defecto usado por Playback() y Background().
  • localnet = direcciondelared/mascaradered: red y máscara locales.
  • fromdomain = dominio : Setea el From: dominio por defecto a utilizar en los mensajes SIP al actuar como un SIP UA (cliente)
  • insecure = very,yes,no,invite,port: Especifica cómo manejar las conexiones con los peers. Por defecto “no” (autenticar todas las conexiones).
  • maxexpirey = número: Duración máxima (en segundos) de las registraciones entrantes que permitimos. Por defecto 3600 segundos.
  • musicclass = una de las clases especificadas en musiconhold.conf
  • musdiconhold = lo mismo que musicclass
  • nat = yes,no,never,route. Por default “no”, que realmente significa utilizar las técnicas rfc3581.
  • notifymimetype = tipodemedio/subtipo: Permitir la sobreescritura del tipo de mime en los MWI NOTIFY utilizados en los mensajes de voicemail. Por defecto es application/simple-message-summary.
  • notifyringing = yes,no: Notificar la suscripción en estado de RINGING. Por defecto “yes”.
  • outboundproxy = direccion IP o nombre de DNS SRV (excluyendo el prefijo _sip._udp): nombre SRV, nombre del host, o direccion IP del proxy de salida.
  • outboundproxyport = número: Número de puerto UDP del proxy de salida.
  • pedantic = yes|no: Permitir la comprobación lenta, pedantica de caller id, encabezados SIP multilínea y encabezados URI-codificados. Por defecto “no”.
  • port = <numero de puerto>: Puerto SIP por defecto del peer. (éste no es el puerto en que escucha el asterisk. Ver bindport.
  • progressinband = never|no|yes: Si generamos o no el sonido in-band siempre. Por defecto “never”.
  • promiscredir = yes|no: Permite el soporte para redirecciones 302; (Nota: redireccionara todas a la extensión local devuelta en “Contact” y no a esa extensión en el destino). Por defecto “no”.
  • qualify = yes|no|milliseconds: Comprobar si el cliente esta accesible. Si esta en “yes”, los chequeos ocurren cada 2000 milisegundos (2 segundos). Por defecto “no”.
  • realm = mi realm (cambia el realm de autentificación del asterisk (default) al tuyo.
  • recordhistory = yes|no. Activa el logeo del historial de transacciónes de conversaciónes SIP. Por defetcto “no”.
  • regcontext = contexto: El contexto por defecto a utilizar para las respuestas SIP REGISTER del SIP REGISTRAR server.
  • register ⇒ <nombredeusuario>:<password>:[id de autentificacion]@<clientesip/peerid en sip.conf>/<contacto> : Registrarse con un proveedor SIP
  • registerattempts = número: Número de mensajes REGISTER de SIP a enviar a un SIP REGISTRAR antes de desistir. Por defecto 0 (sin límite).
  • registertimeout = número: El número de segundos a esperar una respuesta de un SIP REGISTRAR antes de dar el timeout de ese REGISTER. Por defecto 20 segundos.
  • relaxdtmf = yes|no: Por defecto “no”.
  • rtautoclear = yes|no|número: autoexpirar los “friends” creados en el momento. Si esta en “yes” el autoexpire sera de 120 segundos. Por defecto “yes”.
  • rtcachefriends = yes|no: cachear a los “friends” creados en tiempo real agregándolos a la lista interna como los “friends” agregados desde el archivo de configuracion. Por defecto “no”.
  • rtpholdtimeout = número: Número máximo de segundos de inactividad antes de terminar una llamada en espera. Por defecto 0 (sin límite).
  • rtpkeepalive = número: Número de segundos, cuando un paquete RTP Keepalive será enviado si no hay ningún otro tráfico de RTP en esa conexión. Por defecto 0 (ningún RTP Keepalive).
  • rtptimeout = número: El número de segundos, a esperar tráfico de RTP antes de clasificar la conexión como discontinuada. Por defecto 0 (sin RTP timeout).
  • rtupdate = yes|no: Enviar actualizaciones de registro a la base de datos al usar soporte para tiempo real. Por defecto “yes”.
  • sendrpid = yes|no: Si se envía un encabezado SIP Remote-Pary-ID. Por defecto no.
  • sipdebug = yes|no. seteo por default para que el SIP debug este habilitado al cargar el archivo sip.conf. Por defecto no.
  • srvlookup = yes|no: Permitir las operaciones de búsqueda DNS SRV en las llamadas. Por defecto no.
  • tos = <valor>: Fijar los parámetros de QoS para el flujo de medios salientes (valores numéricos también se aceptan, como tos=184)
  • trustrpid = yes|no: Si se confía en el encabezado SIP Remote-Party-ID. Por defecto no.
  • useclientcode = yes|no: Si esta en “yes”, entonces Origen de la llamada según lo indicado en los CDR sera cambiado a aquello que se especifica en el encabezado SIP X-ClientCode. Por defecto no.
  • usereqphone = yes|no: Indica si agregar un “user=phone” al URI. Por defecto no.
  • useragent = <string>: Permitir la modificación del encabezado “User-Agent”. Por defecto “asterisk”.
  • videosupport = yes|no: Habilitar el soporte para vídeo SIP. Por defecto no.
  • vmexten = <string>: Extensión del Dialplan para abrir la casilla de mensajes. Por defecto “asterisk”.
  • callevents = yes|no: setear a “yes” para recibir eventos en AMI cuando una llamada es puesta en espera.