Hola Iñaki,
Hola, esta vez en vez de preguntar algo voy a
compartir un cachito
de código
del que me siento orgulloso :)
Se trata de un mecanismo para implementar permisos personalizados
(ACL's) en
llamadas entrantes a cada dominio, y funciona en modo multidominio.
Ya puestos he empezado un blog XD
Pues nada, a ver qué os parece, toda opinión es bienvenida:
http://blog.aliax.net/2007/08/openser-acls-multidominio.html
Saludos.
PD: En caso de opinar casi prefiero que lo hagáis aquí en la lista
y no en el
blog.
Pués aquí va... sólo por criticar un poco porque tal y como está ya
me parece bien :)
- En la query, la línea:
(to_username IS NULL OR to_username = '$rU') AND
te puede dar problemas si usas alias. Deberías resolver primero el
alias para que $rU sea el destinatario final que deberia ser el
username de la base de datos.
- Esta asignación en el bloque del avp_check() creo que sobra: $avp
(s:action) = "REJECT";
- Y este else:
else if ($avp(s:action) == "ACCEPT") {
si no es para el xlog() te lo puedes ahorrar ya que al mirar
primero que sea (ACCEPT||REJECT) y después que sea REJECT, al final
sólo queda que pueda ser ACCEPT y como no necesitas hacer nada en ese
caso, el if no es necesario.
- El texto que tienes encima del route(6) que empieza con
"Importante", dices que "Sólo tiene sentido mirar el grupo del
llamante en el caso en que pertenezca al grupo del llamado" y creo
que debería decir "sólo tiene sentido mirar el grupo del llamante en
el caso en que pertenezca al dominio del llamado"... al menos es lo
que haces en el código :)
- En el último trozo de código dónde miras se es un INVITE o un
MESSAGE, primero miras los grupos, después los permisos y después
haces la autenticación. Yo cambiaría el orden a primerio autenticar y
después todo lo demas... puedes ahorrarte unas cuantas queries a la
base de datos.
Como comentario a parte de este tema... ¿porqué no quieres aceptar
libremente llamadas desde dominios externos?. De la misma forma que
te pueden llamar desde cualquier número PSTN a lo mejor deberían
poder llamarte desde cualquier dirección SIP, ¿no?... esta es una
discusión entretenida cuando hablas con proveedores de VoIP y te das
cuenta de las diferentes "políticas" y sobre todo, motivaciones que
tiene cada uno para aceptar o no llamadas desde dominios externos.
Quizás podrías añadir en tu código que sea una opción del usuario el
aceptar o no llamadas desde cualquier dominio externo.
Saludos
JesusR.
------------------------------------
Jesus Rodriguez
VozTelecom Sistemas, S.L.
jesusr(a)voztele.com
http://www.voztele.com
Tel. 902360305
-------------------------------------