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