Changeset 2535

Added regserver to sip_friends realtime

Comitted by:  mikael
Date:  Feb 13 2007 * 13:46 (over 4 years ago)

Affected files:

openpbx/trunk/channels/chan_sip.c (unified diff)

r2533r2535
22562256 }
22572257
22582258 /*! \brief realtime_update_peer: Update peer object in realtime storage */
2259 /*! \brief Update peer object in realtime storage
2260 If the Asterisk system name is set in asterisk.conf, we will use
2261 that name and store that in the "regserver" field in the sippeers
2262 table to facilitate multi-server setups.
2263 */
22592264 static void realtime_update_peer(const char *peername, struct sockaddr_in *sin, const char *username, const char *fullcontact, int expiry, const char *useragent)
22602265 {
22612266 char port[10];
22622267 char ipaddr[20];
22632268 char regseconds[20] = "0";
22642269
2270 char *sysname = opbx_config_OPBX_SYSTEM_NAME;
2271 char *syslabel = NULL;
2272
22652273 if (expiry)
22662274 {
22672275 /* Registration */
------
22722280 opbx_inet_ntoa(ipaddr, sizeof(ipaddr), sin->sin_addr);
22732281 snprintf(port, sizeof(port), "%d", ntohs(sin->sin_port));
22742282 }
2283
2284 if (opbx_strlen_zero(sysname)) /* No system name, disable this */
2285 sysname = NULL;
2286 else
2287 syslabel = "regserver";
2288
22752289 if (fullcontact)
2276 opbx_update_realtime("sippeers", "name", peername, "ipaddr", ipaddr, "port", port, "regseconds", regseconds,
2277 "username", username, "useragent", useragent, "fullcontact", fullcontact, NULL);
2290 opbx_update_realtime("sippeers", "name", peername, "ipaddr", ipaddr, "port", port, "regseconds",
2291 regseconds, "username", username, "useragent", useragent, "fullcontact", fullcontact, syslabel,
2292 sysname, NULL);
22782293 else
2279 opbx_update_realtime("sippeers", "name", peername, "ipaddr", ipaddr, "port", port, "regseconds", regseconds,
2280 "username", username, "useragent", useragent, NULL);
2294 opbx_update_realtime("sippeers", "name", peername, "ipaddr", ipaddr, "port", port, "regseconds",
2295 regseconds, "username", username, "useragent", useragent, syslabel, sysname, NULL);
2296
22812297 }
22822298
22832299 /*! \brief register_peer_exten: Automatically add peer extension to dial plan */
------
76997715 {
77007716 if (opbx_test_flag(&(peer->flags_page2), SIP_PAGE2_RT_FROMCONTACT))
77017717 {
7702 opbx_update_realtime("sippeers", "name", peer->name, "fullcontact", "", "port", "", "username", "", NULL);
7718 opbx_update_realtime("sippeers", "name", peer->name, "fullcontact", "", "port", "", "username", "",
7719 "regserver", "", NULL);
77037720 }
77047721 else
77057722 {