[OpenSER-Users-ES] Parallel Forking con telefonos no registrados

Iñaki Baz Castillo ibc at aliax.net
Fri Mar 14 23:32:34 CET 2008


El Viernes, 14 de Marzo de 2008, Gustavo Mistrinelli escribió:

> Pero, lo que quiero implementar es una funcionalidad extra para que el
> usuario pueda agregar un telefono (puede ser otra extension, el movil,
> el telefono de la casa etc.) y que cuando lo llamen suene también en
> ese nro.
>
> Para esto lo que hago es utilizar la tabla usr_preferences y agregar
> un registro que le defini type=fork.
> Luego leo la preferencia, seteo un flag y hago un append_branch en el
> on_branch si está seteado el flag cambio el $ruri de la llamada con el
> valor del fork que puso el usuario y reseteo los valores.

Olvídate del append_branch, es un coñazo usarlo bien para hacer parallel 
forking.

Hay una forma muy muy simple: añade el móvil u otra extensión directamente en 
la tabla "location" para el username y domain correspondiente.
NOTA: Si usas "db_mode" 1 ó 2 entonces mejor añades el usuario 
vía "openserctl..." (que ataca directamente a memoria, donde busca OpenSer 
los contactos de un AoR).

Ejemplo de llamada en paralelo a un móvil para "pepe at dominio.com":

Tabla "location":
  - username: pepe
  - domain: dominio.com
  - contact: sip:666555444 at pstn_gateway:5060
  - received: NULL
  - expires: (en el 2050  XD)
  - cflags: ninguno
  - methods: [1]

[1]: Si usas "method_filter" en el módulo "usrloc" (¿o era el "registrar"?) 
asegúrate de añadir el método INVITE en "methods" (y de hecho no pongas el 
MESSAGE ya que el gateway no losoporta). Los códigos están aquí:
  
http://openser.svn.sourceforge.net/viewvc/openser/trunk/parser/msg_parser.h?revision=2802&view=markup


Saludos.


-- 
Iñaki Baz Castillo




More information about the Users-es mailing list