--- channels/chan_sip.c.orig 2006-01-17 12:58:48.765647806 -0600 +++ channels/chan_sip.c 2006-01-17 13:06:55.097884928 -0600 @@ -12515,14 +12515,20 @@ utype = ast_variable_retrieve(cfg, cat, "type"); if (utype) { if (!strcasecmp(utype, "user") || !strcasecmp(utype, "friend")) { - user = build_user(cat, ast_variable_browse(cfg, cat), 0); + user = realtime_user(cat); + if ( !user ) { + user = build_user(cat, ast_variable_browse(cfg, cat), 0); + } if (user) { ASTOBJ_CONTAINER_LINK(&userl,user); ASTOBJ_UNREF(user, sip_destroy_user); } } if (!strcasecmp(utype, "peer") || !strcasecmp(utype, "friend")) { - peer = build_peer(cat, ast_variable_browse(cfg, cat), 0); + peer = realtime_peer(cat, NULL); + if ( !peer ) { + peer = build_peer(cat, ast_variable_browse(cfg, cat), 0); + } if (peer) { ASTOBJ_CONTAINER_LINK(&peerl,peer); ASTOBJ_UNREF(peer, sip_destroy_peer);