[asterisk-users] realtime and save ip server in database
Germán Aracil Boned
german at tecnoxarxa.com
Sun Feb 11 19:05:08 MST 2007
Hello
I change this from chan_sip.conf (see ipsvr):
static void realtime_update_peer(const char *peername, struct
sockaddr_in *sin, const char *username, const char *fullcontact, int
expirey)
{
char port[10];
char ipaddr[20];
char regseconds[20];
time_t nowtime;
-> char ipsvr[20];
time(&nowtime);
nowtime += expirey;
snprintf(regseconds, sizeof(regseconds), "%d", (int)nowtime);
/* Expiration time */
ast_inet_ntoa(ipaddr, sizeof(ipaddr), sin->sin_addr);
snprintf(port, sizeof(port), "%d", ntohs(sin->sin_port));
-> ast_inet_ntoa(ipsvr, sizeof(ipsvr), sin->sin_addr);
if (fullcontact)
ast_update_realtime("sippeers", "name", peername,
"ipaddr", ipaddr, "port", port, "regseconds", regseconds, "username",
username, "fullcontact", fullcontact, "ipsvr", ipsvr, NULL);
else
ast_update_realtime("sippeers", "name", peername,
"ipaddr", ipaddr, "port", port, "regseconds", regseconds, "username",
username, "ipsvr", ipsvr, NULL);
}
I need put a asterisk ip address on client was registered. But I don't
know how get this address. Exist any variable ? Any struct ?
I think, this is a good idea for add to asterisk. If I have more of one
asterisk in realtime database, I can send call to that server where
sipendpoint was registered.
Thanks for all !!!
More information about the asterisk-users
mailing list