SIP Trunk entre CUCM y Asterisk



Hoy voy a explicar como hacer un Trunk SIP entre Asterisk y CUCM.

Primeramente debemos iniciar sesión en el Cisco Unified CM Administration y una vez dentro, debemos ir a System > Security > Sip Trunk Security Profile. Una vez dentro le damos a Find para que nos busque los perfiles de seguridad ya existentes. En una configuraión por defecto debería existir el perfil «Non Secure SIP Trunk Profile».
No vamos a trabajar con ese perfil, asi que para tenerlo todo mas o menos configurado le damos a Copy, a la derecha de todo del perfil. En este momento ya tenemos una copia del perfil «Non Secure SIP Trunk Profile» y con la que vamos a trabajar.

Una vez dentro de este nuevo perfil,  le damos un nombre, una descripción y en «Outgoing Transport Type» seleccionados UDP.

Guardamos y posteriormente nos vamos a Device > Trunk. Una vez dentro, creamos un Trunk nuevo, le ponemos el nombre que queramos, pero asegurandonos que esta en el Device Pool en Default. Activamos la casilla «Media Termination Point Required» y bajo la sección SIP ponemos la dirección IP de nuestro servidor Asterisk, como codec preferido elegimos G711ULAW. En la opcion «SIP Trunk Security ProfileRequired Field» elegimos el perfil SIP Trunk que hemos creado anteriormente y el SIP Profile lo dejamos en «Standard SIP Profile». El metodo de señalizacion DTMF debe ser RFC2833. Con todo esto guardamos el Trunk.

Ya solo nos queda configurar el dialplan o extensiones que tiene el Asterisk para que CUCM enrute las extensiones de Asterisk via el Trunk SIP. Para ello nos vamos a Call Routing > Ruote/Hunt > Route Pattern y añadimos tantos patrones como queramos. Por ejemplo, si Asterisk contiene las extensiones 1XXX (todos los numero de cuatro cifras que comienzan por 1) en el «Route Pattern» deberiamos escribir 1XXX y en Gateway/Route List ponemos el Trunk que hemos creado anteriormente.

Hasta aqui hemos configurado la parte que le toca al CUCM. Ahora nos toca Asterisk que es algo mas sencillo, al menos para mi.

Dependiendo de la version de Asterisk que poseas, la siguiente configuración puede cambiar algo, pero es basicamente la siguiente:

/etc/asterisk/sip.conf

[from_cucm]
host=192.168.0.1   ; IP del CUCM
type=user
context=from_cucm
disallow=all
allow=ulaw
allow=alaw
nat=no
canreinvite=yes
qualify=yes
 
[to_cucm]
host=192.168.0.2   ; IP de Asterisk
type=peer
context=internas
disallow=all
allow=ulaw
allow=alaw
nat=no
canreinvite=yes
qualify=yes

/etc/asterisk/ extensions.conf

[from_cucm]
include => servicios  ; Incluimos los servicios de Asterisk en el contexto del CUCM
include => internas   ; Lo mismo con los numeros internos

Para hacer llamadas desde Asterisk a CUCM a una extension en concreto, utilizariamos lo siguiente en el archivo extensions.conf:

exten => 1111,1,Dial(SIP/to_cucm/2222,45,Ttr)
exten => 1111,n,Hangup

De esta forma alguien que este registrado en Asterisk y llame a la extensión 1111, lo que hara realmente es llamar a la extension 2222 del CUCM. Tan solo nos queda adaptar este ejemplo para crear un patrón de llamada en Asterisk, para que cuando llamemos al 2XXX lo rute via CUCM.

Share
Javier Rodriguez Escrito por:

7 comentarios

  1. eli
    29 de noviembre de 2011

    hola, me agrado tu publicación, pero me gustaria hacerte una pregunta, estoy haciendo la integracion cisco-asterisk pero solo puedo hacer llamanadas de cisco->asterisk y no de asterisk-> cisco
    tienes idea de cual es el problema??
    en asterisk estoy usando softphones, tiene algo que ver?

  2. 30 de noviembre de 2011

    Hola

    Tal y como lo tengo yo, en el extensions.conf, hago lo siguiente:

    exten => 1500,1,Dial(SIP/to_cucm/2500,45,Ttr)
    exten => 1500,n,Goto(s-${DIALSTATUS},1)
    exten => 1500,n,Hangup

    Con esto lo que hago es que marcando el 1500 en Asterisk redirija la llamada al CUCM a la extensión 2500. Debería funcionarte.

    Si no te va, es posible que tengas que meter el Trunk de Asterisk en un Device Pool especifico o en la Partition donde tengas los telefonos de Cisco. Incluso también es posible que tengas que cambiar el CSS (Calling Search Space) del Trunk con Asterisk para que llegue a funcionar. Pero lo básico ya esta explicado, es darle una vuelta de tuerca mas a la configuración de CUCM.

  3. Bonny
    30 de octubre de 2012

    No entiendo muy bien la configuracion que haces en el Asterisk. Ademas en donde estas colocando el correo de voz del asterisk y si no solo quiero que solo se redirija a una extension sino a varias extensiones del CUCM

  4. estudiante
    8 de enero de 2014

    hey broo me salvaste la vida.. gracias ..!!

  5. Aaron Martinez
    20 de febrero de 2014

    Que tal, tengo un problema con la parte del «include =>» en la parte donde tienes «servicios», mas que nada, seria la sitaxis o saber que datos son los que van ir ahi.

    Muchas gracias !!!

  6. 20 de febrero de 2014

    «servicios» es un ejemplo de un contexto donde podrian estar todos los servicios de Asterisk, tales como la prueba de eco, el buzon de voz, o una sala de conferencia. Es lo mismo que «internas», en la cual todo ese contexto contendría las extensiones internas del Asterisk.

    En tu caso tendras que poner el include => con el contexto que tengas tus extensiones internas de Asterisk.

  7. JUUANRAUUL
    21 de agosto de 2014

    Estimado, una consulta porque la necesidad de redigir la llamada. No entiendo bien, en sip.conf, configuras dos contextos?? podrías ampliar en un ejemplo. Gracias de antemano

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *