[Asterisk-ES] Configurar usuario con 2 contextos

1,656 views
Skip to first unread message

Manolo Quijano

unread,
Nov 27, 2013, 5:52:56 PM11/27/13
to aster...@googlegroups.com
Hola chicos,

     Tengo el siguiente problema:

          Quiero que una extensión pueda realizar llamadas internas y llamadas externas y otras extensiones solo llamadas internas.

          Según he visto por la web eso se puede solventar "facilmente" añadiendo varios contextos  a esa extension.

           La realidad es si desde ese teléfono intento realizar la marcación para salida al exterios asterisk se me queja de que no está en el contexto correcto.

        El user lo tengo configurado así:

[2001]  
type=friend
host=dynamic
context=casa
context=prueba
qualify=yes

;dtmfmode=rfc2833

disallow=all
allow=alaw:20


y en el fichero extension


[casa]

<llamadas de las extensiones interiores>


[prueba]
exten => _4XXXX,1,Dial(IAX2/PobrePi/${EXTEN:1}@pi)
exten => _4XXXX,n,HangUp()


Dentro del contexto casa ninguno empieza por 4.
Tal y como está definido actualmente solo me deja llamadas externas 

¿Qué estoy haciendo mal o que error de conecpto tengo según he visto por la red?

Gracias, 
Manolo Q.


--

Exequiel leite

unread,
Nov 27, 2013, 6:00:48 PM11/27/13
to aster...@googlegroups.com

Googlea asterisk include

Sent from my Nexus 4

--
Este email pertenece a la lista de Asterisk-ES (http://www.asterisk-es.org)
Normas de la lista Asterisk-ES: http://comunidad.asterisk-es.org/index.php?title=Lista:normas-asterisk-es
---
Has recibido este mensaje porque estás suscrito al grupo "asterisk-es" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a asterisk-es...@googlegroups.com.
Para publicar una entrada en este grupo, envía un correo electrónico a aster...@googlegroups.com.
Visita este grupo en http://groups.google.com/group/asterisk-es.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.

jorge montero

unread,
Nov 28, 2013, 6:01:37 AM11/28/13
to aster...@googlegroups.com
Hola, 

Piensa que context es una variable, por lo que :

Context=casa

Ok, se lees el valor es casa

Context=prueba

Acabas de cambiar el valor de la variable de casa a prueba, si lees el valor es: prueba, por lo que a todos los efectos ese usuario pertenece al contesto prueba.

¿como puedes hacer que este en los dos? pues con un contexto que incluya los dos, casa y prueba, o tambien con un includes dentro de los contextos, como te dice Exequiel busca en google asterisk include y saldran muchas explicaciones y ejemplos.

Un saludo.


--
Este email pertenece a la lista de Asterisk-ES (http://www.asterisk-es.org)
Normas de la lista Asterisk-ES: http://comunidad.asterisk-es.org/index.php?title=Lista:normas-asterisk-es
---
Has recibido este mensaje porque estás suscrito al grupo "asterisk-es" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a asterisk-es...@googlegroups.com.
Para publicar una entrada en este grupo, envía un correo electrónico a aster...@googlegroups.com.
Visita este grupo en http://groups.google.com/group/asterisk-es.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.



--
Un saludo.

Jorge Montero

Manolo Quijano

unread,
Nov 28, 2013, 6:18:03 AM11/28/13
to aster...@googlegroups.com
A ver lo que comentais es totalmente logico

El include sirver para que un contexto tenga acceso a otro contexto,
no es exactamente lo quie quiero, lo otro es más potente ya que se
daría acceso no al contexto, sino al usuario.

Se puede crear un tercer contexto para el usuario y en ese añadir 2
includes, de esta forma el usuario tendría acceso al contexto "casa" y
al contexto "prueba", pero ¿podrían llamarle?

Tendría que añadir un include en los contexto "casa" y "prueba" al
nuevo contexto.

No estoy seguro si asterisk hace la resolución de los includes hasta
que no haya más, o solo un nivel. Si tengo:

[auxiliar]

include => casa
include => prueba

[casa]
include => auxiliar


[prueba]
include => auxiliar


¿Tendría prueba acceso a casa y por tanto no hemos hecho nada, ya que
auxiliar tiene un include a casa?


Buscando por la red errores que ya he solventado me tope con este enlace:
http://www.voip-info.org/wiki/view/Asterisk+No+authority+found

En el cual se pone de manifiesto la posiblidad de que un usuario tenga
definido 2 o más contextos, esto pues lo veo muy potente y puedo
personalizar mejor el acceso a los diferentes dialplan de mis usuarios

(extracto del enlace de lo que se supone una configuración correcta)
Valid Example Configs

Below is an example of working configs.

[server1]
type=friend
host=111.111.111.111
username=server2
secret=1234
context=default <===
context=extensions <==

[server2]
type=friend
host=222.222.222.222
username=server1
secret=1234
context=default

¿Entonces que estoy entendiendo mal? ¿Quizás era cierto en versiones
antiguas de asterisk?

El 28/11/13, jorge montero <cot...@gmail.com> escribió:
--
http://accessprogprotect.mooo.com/

José Luis Gómez

unread,
Nov 28, 2013, 6:26:43 AM11/28/13
to Lista Asterisk
Hola Manolo.
Estás usando mal los includes.
Si querés tener un contexto que haga todo (auxiliar), deberia ser:
[auxiliar]
include => casa
include => prueba

[casa]
...... (permisos del contexto)

[prueba]
...... (permisos del contexto)

Entonces la extensión que tenga definido el contexto auxiliar va a poder usar todos los permisos que tengan los otros dos contextos.
La priorización de extensiones iguales es, primero la definida en el contexto propio, y luego la que encuentre en el include (creo que es por el orden en que incluís)
Espero haberte guiado.
Saludos.


--
Ing. José Luis Gómez

Pepelux

unread,
Nov 28, 2013, 6:31:52 AM11/28/13
to aster...@googlegroups.com
No ves que estas creando un bucle?

Un ejemplo:

[fijos_nacionales]
exten => _[89]XXXXXXXX,1,Macro(trunk,${EXTEN}) .... esto es un ejemplo ... hay que quitar los 80X y 90X

[moviles_nacionales]
exten => _[67]XXXXXXXX,1,Macro(trunk,${EXTEN})

[grupo1]
include => fijos_nacionales

[grupo2]
include => moviles_nacionales

[grupo3]
include => fijos_nacionales
include => moviles_nacionales


Creas los diferentes contextos según los permisos que quieras. Luego los contextos de los usuarios, en este caso grupoX, según si quieres permitir ciertos destinos

Te recomiendo que leas algunos manuales de Asterisk y consultes en Google antes de preguntar TODO aquí

Saludos





2013/11/28 Manolo Quijano <manolo....@gmail.com>

Manolo Quijano

unread,
Nov 28, 2013, 6:33:23 AM11/28/13
to aster...@googlegroups.com
Yo quiero que un usuario tenga acceso a los usuarios del contexto casa
y a los usarios del contexto prueba.

Asi mismo los del contexto prueba deben de poder llamar a este usuario
y los del contexto casa también, pero un usuario del contexto prueba
no debe de poder llamar a un usuario del contexto casa.

Tal y como me has puesto el ejemplo.
[auxiliar]
include => casa
include => prueba

[casa]
...... (permisos del contexto)

[prueba]
...... (permisos del contexto)


¿Una extension del contexto prueba puede llamar a una extensión del
contexto auxiliar?

Y por otra parte, ¿está erróneo lo que viene puesto en la red en voi-ip?

El 28/11/13, José Luis Gómez <jos...@gmail.com> escribió:
>> > Este email pertenece a la lista de Asterisk-ES (
>> http://www.asterisk-es.org)
>> > Normas de la lista Asterisk-ES:
>> >
>> http://comunidad.asterisk-es.org/index.php?title=Lista:normas-asterisk-es
>> > ---
>> > Has recibido este mensaje porque estás suscrito al grupo "asterisk-es"
>> > de
>> > Grupos de Google.
>> > Para anular la suscripción a este grupo y dejar de recibir sus correos
>> > electrónicos, envía un correo electrónico a
>> > asterisk-es...@googlegroups.com.
>> > Para publicar una entrada en este grupo, envía un correo electrónico a
>> > aster...@googlegroups.com.
>> > Visita este grupo en http://groups.google.com/group/asterisk-es.
>> > Para obtener más opciones, visita
>> https://groups.google.com/groups/opt_out.
>> >
>>
>>
>> --
>> --
>> http://accessprogprotect.mooo.com/
>>
>> --
>> Este email pertenece a la lista de Asterisk-ES
>> (http://www.asterisk-es.org
>> )
>> Normas de la lista Asterisk-ES:
>> http://comunidad.asterisk-es.org/index.php?title=Lista:normas-asterisk-es
>> ---
>> Has recibido este mensaje porque estás suscrito al grupo "asterisk-es" de
>> Grupos de Google.
>> Para anular la suscripción a este grupo y dejar de recibir sus correos
>> electrónicos, envía un correo electrónico a
>> asterisk-es...@googlegroups.com.
>> Para publicar una entrada en este grupo, envía un correo electrónico a
>> aster...@googlegroups.com.
>> Visita este grupo en http://groups.google.com/group/asterisk-es.
>> Para obtener más opciones, visita
>> https://groups.google.com/groups/opt_out
>> .
>>
>
> --

Gaston Draque

unread,
Nov 28, 2013, 7:45:40 AM11/28/13
to aster...@googlegroups.com
Lo estas teorizando demasiado.
Arranca por lo que te ha pasado pepelux, hazlo de forma restrictiva como lo ha hecho el. Define bien cada contexto de forma restrictiva y luego, si, agregas una linea para el callback al usuario cachafaz ese, o si quieres hacer un contexto [llamandoAHouston] donde simplemente hay un dial al cachafaz :P
Me parece que tienes que meter mano y darle átomos :)



2013/11/28 Manolo Quijano <manolo....@gmail.com>

Manolo Quijano

unread,
Nov 28, 2013, 8:28:41 AM11/28/13
to aster...@googlegroups.com
Os puedo asegurar que si pregunto aquí antes he visto mas de una
página por la red.

Gaston no es teorizar, es conocer las limitaciones del sistema para
saber que se puede hacer y que no, así es como yo lo veo.

Según me habies indicado me estáis dando la razón en cuanto la
inclusión de un "include" no implica bidireccionalidad y que la otra
forma en que lo expresaba no solo crea bucles sino que interconecta
entre si todos y está mal, como pensaba.

La propuesta de Pepelux que parece la opción correcta, implica crear
varios dialplan, y si tengo varios usuarios con distintas
restricciónes la cosa crece y mucho, tengo echarle una buena pensada.

En cuanto a la opción del enlace de voip-info que mandé y que
facilitaría mucho, o es incorrecta esa información que se encuentra
googleando o me da que en general no teníais de su conocimiento. La
realidad es que a mi me está dando error y siendo voip-info de las web
que mandáis como ejemplo de uso y la única donde he visto esto
expuesto, pues me dio por preguntar aquí para aclararme.



El 28/11/13, Gaston Draque <gaston...@gmail.com> escribió:

Gaston Draque

unread,
Nov 28, 2013, 9:23:54 AM11/28/13
to aster...@googlegroups.com
Manolo, y quien ha dicho que un include es bidireccional??? ... me corrijo, aquí lo que falta es teoría.




2013/11/28 Manolo Quijano <manolo....@gmail.com>



--
{
  "fullName" : "Gaston Draque"
  "email"    : "gaston...@gmail.com"
  "twitter"  : "@gdraque"
  "google+"  : "google.com/+gastondraque"
  "tags"     : ["uc communications","telecom integrator","voip","software development"]
}

Conectividades y Redes Soluciones Tecnologicas

unread,
Nov 28, 2013, 9:32:20 AM11/28/13
to aster...@googlegroups.com

En el archivo extencions.conf debes crear tu plan de marcado con tu contexto

Primero creA la interna.

Luego la local y a esta has un include y hay pones la interna y luego asi sigues.

Y en sip.conf cuando creas la estension solo pon un solo contexto

--

Manolo Quijano

unread,
Nov 28, 2013, 10:14:10 AM11/28/13
to aster...@googlegroups.com
Chicos por mi parte este tema esta cerrado. 

"Conectivades y Redes" gracias si ya pillé la idea y si quiero que una extensión pueda tener acceso a "internas", "externas"  y que pueda ser llamada desde "internas" hay que ponerse lapiz y papel y verlo, no es tan directo  la idea está clara.

"Gaston" , falta teoría no te lo voy a negar, pero en este medio en el que nos comunicamos faltan otras cosas (no a tí, en general que no es personal ni mucho menos no quiero que se me mal entienda):

        - Demasiado impersonal, solo he expuesto el problema y preguntado las dudas o petición de aclaración, sin animo de ofender a nadie. 
        - Falta lectura, el e-mail inicial fue para confirar el uso de una configuración que viene expresada como valida en la página de voip-info  y que de ser cierto reduciría y mucho algunos dialplan y en todo este bolo que se está formando no he visto que se haya hablado/discutido la información que allí se indica (que por cierto es de mirar en google donde la gente de esta lista suele mandar a buscar las cosas) orgien inicial del hilo. 

Como digo ya no pienso seguir con el hilo por mi parte lo doy por cerrado. 

Saludos y buen dia

Carlos Andrés Tapasco Viera

unread,
Nov 28, 2013, 10:25:41 AM11/28/13
to aster...@googlegroups.com
En alguna empresa tuve un problema similar, por lo cual tenía que crear casi un contexto por usuario, o echar mano de la DB.

Creas un solo contexto para todas las extensiones pero a la vez creas entradas en la DB para permitir acceso a cada uno de los servicios, por ejemplo:
  • database put local 101 1
  • database put local 102 0
  • database put internal 101 1
  • database put internal 101 1
  • database put mobile 101 0
  • database put mobile 102 1
Y cada vez que hagas una marcación validas el permiso de cada uno en la DB y determinas si tiene o no acceso a ciertos servicios. Es una idea, ojalá te sirva, a mi me va bien.


2013/11/28 Conectividades y Redes Soluciones Tecnologicas <conectivid...@gmail.com>



--
El linux en cualquier sabor es bueno, lo importante es el kernel

CARLOS ANDRÉS TAPASCO VIERA
Ingeniero Electrónico
Universidad del Valle
Linux User # 430914
http://counter.li.org
http://krtapas.blogspot.com
http://krtapas-en.blogspot.com
Mobile 1:  +57-3117650143
Mobile 2:  +57-3012141132
Santiago de Cali
Colombia
Sudamérica

Pepelux

unread,
Nov 28, 2013, 10:53:17 AM11/28/13
to aster...@googlegroups.com
No te ofendas hombre :)

Pero en Internet tienes muchísimos ejemplos:


Y no creo que haga falta papel y boli .... es cambiar la forma de pensar. Primero plantéate los grupos que vas a necesitar, por ejemplo:

- Usuarios que sólo puede llamar entre extensiones
- Usuarios con llamadas a fijos
- Llamadas a móviles
- Internacionales
- RI
- etc etc etc

Creas cada contexto con esa definición y luego, como es posible que un usuario pertenezca a varios grupos, creas nuevos contextos, que serán los que vincules en sip.conf a cada uno de los usuarios:

- contexto administración
- contexto contabilidad
- contexto soporte
- contexto dirección
- etc etc etc

y en cada contexto de estos pones los includes que necesites hacia los primeros: fijos, moviles, etc

[administracion]
include => fijos
include => moviles

[direccion]
include => fijos
include => moviles
include => internacionales

saludos




2013/11/28 Manolo Quijano <manolo....@gmail.com>

Gaston Draque

unread,
Nov 28, 2013, 12:02:14 PM11/28/13
to aster...@googlegroups.com
Manolo, quedate hombre! Que si que nos importa dar una mano... que sino nadie contestaría si quiera! El mail es asi, una chorrada y a veces no nos tomamos el tiempo y salen mails secotes, se hace lo que se puede.

Pero mira que pedazo de hilo se ha armado :) ... esperemos que quien tenga esta duda en el futuro, use el bendito buscador del group.


2013/11/28 Pepelux <pepe...@gmail.com>

Ramses II

unread,
Nov 28, 2013, 12:57:34 PM11/28/13
to aster...@googlegroups.com

Buenas,

 

Hace mucho, mucho, mucho tiempo, el amigo Elio tenía pos ahí un esquema que había hecho para explicar el tema de los contextos…

 

Era algo genial, se veía todo a la primera y de una forma esquematizada…

 

Lo he estado buscando en Sinologic para ponerlo por aquí, pero no lo encuentro. A ver si en amigo Elio lo puede poner por aquí…

 

 

Saludos,

 

Ramses

Reply all
Reply to author
Forward
0 new messages