Buenas tardes
Este es mi primer mensaje a la lista, he empezado con kamailio hace poco, aunque ya tengo bastante experiencia con asterisk y la voip en general
He instalado kamailio 3.3 + asterisk 1.8 realtime en una debian. Siguiendo el documento que hay en Asipto.
Para probarlo, contraté una línea voip y la puse como salida y entrada de llamadas en el asterisk. Todo funcionando sin problemas, puedo llamar y recibir llamadas.
Luego registré otro asterisk (B) en otra máquina para que haga uso de la infraestructura arriba mencionada.
La cuestión es que, a ojos del asterisk (A) que trabaja junto a kamailio, todos los usuarios SIP registrados provienen de la misma IP y del mismo puerto (la ip local)
sip*CLI> sip show peers Name/username Host Dyn Forcerport ACL Port Status Realtime 200001/200001 88.99.88.99 D N 5060 OK (50 ms) Cached RT 200002/200002 88.99.88.99 D N 5060 OK (9 ms) Cached RT kamailio 88.99.88.99 N 5060 OK (1 ms) proveedor/vozip 123.123.123.123 5060 OK (1 ms) 4 sip peers [Monitored: 4 online, 0 offline Unmonitored: 0 online, 0 offline]
Si yo en otro sistema asterisk (B) creo un trunk tal que así:
register=200001:password@88.99.88.99
[trunkvoip] disallow=all defaultuser=200001 type=friend sendrpid=yes secret=password qualify=yes insecure=invite,port host=88.99.88.99 dtmfmode=rfc2833 canrenvite=no allow=g729 context=llamadas-entrantes fromuser=200001
funciona bien.
La cuestión es que yo puedo falsear el usuario que llama, simplemente cambiando "fromuser" a otro usuario que sí que exista en la base de datos realtime
simplemente poniendo "fromuser=200002", el asterisk ya se cree que es el usuario 200002 el que genera la llamada, cuando realmente es el usuario 200001
¿Como puedo evitar esta situación?
Muchas gracias