Pregunta! Definiendo context's en Asterisk

Forums: 

Hola gente:

Estoy hace un tiempo peleando con Asterisk y lo hice funcionar muy bien. De hecho tiene cargado el módulo freePBX y A2Billing.

Lo tengo conectado a través de un SIP trunk con una PBX de Mitel y todo funciona de maravilla.
El inconveniente se da cuando queiro discriminar las llamadas segun sean internas o externas (osea, quiero que el modulo de billing solo actue cuando las llamadas tengan un prefijo en particular).

En este momento, no importa el numero discado, así disque una extension, la llamada cae sobre el a2billing, ya que el context es igual a a2billing.

Les digo lo que pensé:
En la extension les defino un contexto cualquiera, por ejemplo: "context = micontexto"

Entonces en extensions.conf defino un contexto para esto segun:

[micontexto]
(Esto es lo que no me sale y quiero resolver, quiero que aca se pregunte si el discado es con un prefijo -que puede ser 123- o es una extension del estilo 6001, entonces, de acuerdo a la respuesta, CAMBIA de contexto y lo puede enviar a a2billing o a from-internal)

Se entiende??
seria algo asi como:

IF (marcaste 123 + XXX) then "te cambio el contexto a a2billing" context=a2billing
else "te cambio el contexto a from-internal" context=from-internal

Lo logico es que el contexto no pueda cambiarse, de hecho, lo que me parece mas sencillo es indicar en el contexto:

[micontexto]
if (discado = 123 + XXX) then "te vas al a2billing"
else "te busco el discado en los internos"

Esto ultimo me parece mas acertado, solo que no tengo idea de como hacerlo...

En resumen, quiero reconocer el discado en el context, ya que no encuentro otra forma de enviar la llamada al a2billing cuando esta toma el troncal sip.

Espero haberme explicado bien, realmente no se si esto se puede hacer.. y si no se puede, se les ocurre alguna manera de lograrlo???

GRACIAS!

Puedes usar un patern _123.

Puedes usar un patern _123. (o similar) que cuando lo encuentre lo envie al contexto que quieres.

exten => _123.,1,Goto(a2billing,,,) ' Debes indicar la prioridad que deseas.

También puedes usar la funcion Gotoif para que todas las llamadas con un {exten} se dirijan a un contexto y a continuacion sigues con el plan de marcado normal o pones un goto al contexto que deseas para el resto.

Hay varias formas para hacerlo.