[OpenSER-Users-ES] Exigir la existencia de CPL para todos los usuarios

Iñaki Baz Castillo ibc at in.ilimit.es
Wed Jan 2 18:39:56 CET 2008


Hola, se me plantea una duda:

Ahora mismo cuando se llama a un usuario se mira si tiene CPL y si no lo tiene 
se prosigue con un "lookup(location)" y tal. Lo malo de esto es que me obliga 
a replicar código para ambos casos:

Por ejemplo, en el CPL uso "proxy_recurse" por lo que si durante el CPL recibo 
un 302 automáticamente genero un branch al Contact en vez de reenviar el 302 
al llamante.

Pero si no hay CPl entonces tengo que andar trasteando con el onreply_route y 
la función "get_contacts" para emular ese mismo comportamiento en caso de 
recibir un 302.

Entonces se me estaba ocurriendo que en el INVITE hacer un:
  does_uri_exist()
y en ese caso buscar CPL del usuario llamado,  y si no existe CPL responder 
con 404 (y no hacer un lookup).

Así simplifico código y lógica, pero lo malo es que tal vez ejecutar un CPL 
siempre cuando resulta que puede que sólo tenga un triste:

<cpl>
	<incoming>
		<lookup source="registration">
			<success>
				<proxy />
			</success>
		</lookup>
	</incoming>
</cpl>

Pues igual resulta que es un poco derroche de procesador, ¿no?

Bueno, en cualquier caso creo que lo haré, salvo que alguien me comente que es 
una locura usar CPL para cada llamada a un usuario. ;)


Saludos y gracias.


-- 
Iñaki Baz Castillo
ibc at in.ilimit.es




More information about the Users-es mailing list