Index: channels/chan_sip.c =================================================================== --- channels/chan_sip.c (revision 103171) +++ channels/chan_sip.c (working copy) @@ -9633,7 +9633,7 @@ /* Saving TCP connections is useless, we won't be able to reconnect */ if (!peer->rt_fromcontact && (peer->socket.type & SIP_TRANSPORT_UDP)) ast_db_put("SIP/Registry", peer->name, data); - manager_event(EVENT_FLAG_SYSTEM, "PeerStatus", "ChannelType: SIP\r\nPeer: SIP/%s\r\nPeerStatus: Registered\r\n", peer->name); + manager_event(EVENT_FLAG_SYSTEM, "PeerStatus", "ChannelType: SIP\r\nPeer: SIP/%s\r\nPeerStatus: Registered\r\nAddress: %s\r\n", peer->name, ast_inet_ntoa(peer->addr.sin_addr)); /* Is this a new IP address for us? */ if (inaddrcmp(&peer->addr, &oldsin)) { @@ -10185,7 +10185,7 @@ case PARSE_REGISTER_UPDATE: /* Say OK and ask subsystem to retransmit msg counter */ transmit_response_with_date(p, "200 OK", req); - manager_event(EVENT_FLAG_SYSTEM, "PeerStatus", "ChannelType: SIP\r\nPeer: SIP/%s\r\nPeerStatus: Registered\r\n", peer->name); + manager_event(EVENT_FLAG_SYSTEM, "PeerStatus", "ChannelType: SIP\r\nPeer: SIP/%s\r\nPeerStatus: Registered\r\nAddress: %s\r\n", peer->name, ast_inet_ntoa(sin->sin_addr)); peer->lastmsgssent = -1; res = 0; break; @@ -10200,6 +10200,8 @@ case AUTH_SECRET_FAILED: /* Wrong password in authentication. Go away, don't try again until you fixed it */ transmit_response(p, "403 Forbidden (Bad auth)", &p->initreq); + manager_event(EVENT_FLAG_SYSTEM, "PeerStatus", "ChannelType: SIP\r\nPeer: SIP/%s\r\nPeerStatus: Rejected\r\nCause: AUTH_SECRET_FAILED\r\nAddress: %s\r\n", + name, ast_inet_ntoa(sin->sin_addr)); break; case AUTH_USERNAME_MISMATCH: /* Username and digest username does not match. @@ -10207,6 +10209,8 @@ users to use the same authentication user name until we support proper authentication by digest auth name */ transmit_response(p, "403 Authentication user name does not match account name", &p->initreq); + manager_event(EVENT_FLAG_SYSTEM, "PeerStatus", "ChannelType: SIP\r\nPeer: SIP/%s\r\nPeerStatus: Rejected\r\nCause: AUTH_USERNAME_MISMATCH\r\nAddress: %s\r\n", + name, ast_inet_ntoa(sin->sin_addr)); break; case AUTH_NOT_FOUND: case AUTH_PEER_NOT_DYNAMIC: @@ -10215,10 +10219,15 @@ transmit_fake_auth_response(p, &p->initreq, 1); } else { /* URI not found */ - if (res == AUTH_PEER_NOT_DYNAMIC) + if (res == AUTH_PEER_NOT_DYNAMIC) { transmit_response(p, "403 Forbidden", &p->initreq); + manager_event(EVENT_FLAG_SYSTEM, "PeerStatus", "ChannelType: SIP\r\nPeer: SIP/%s\r\nPeerStatus: Rejected\r\nCause: AUTH_PEER_NOT_DYNAMIC\r\nAddress: %s\r\n", + name, ast_inet_ntoa(sin->sin_addr)); + } else transmit_response(p, "404 Not found", &p->initreq); + manager_event(EVENT_FLAG_SYSTEM, "PeerStatus", "ChannelType: SIP\r\nPeer: SIP/%s\r\nPeerStatus: Rejected\r\nCause: URI_NOT_FOUND\r\nAddress: %s\r\n", + name, ast_inet_ntoa(sin->sin_addr)); } break; default: