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.
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?
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.
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
hey broo me salvaste la vida.. gracias ..!!
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 !!!
«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.
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