From: kkm Date: Fri, 22 Apr 2016 04:53:46 +0000 (-0700) Subject: chan_sip: Make autocreated peers send PeerStatus events X-Git-Tag: 14.0.0-beta1~219^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=41ecf225876d518a01116fe66491ee018b487813;p=thirdparty%2Fasterisk.git chan_sip: Make autocreated peers send PeerStatus events Since Stasis has been introduced, an attempt to send AMI messages by an autocreated peer caused a crash, and all events from autocreated peers were semi-inadvertently disabled altogether in 0b83761. This change restores the disabled functionality. ASTERISK-25950 Change-Id: Iecc350f23db603fadb2f302064643ebe9664e974 --- diff --git a/channels/chan_sip.c b/channels/chan_sip.c index d927f06e39..830a524cd4 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -17713,6 +17713,10 @@ static enum check_auth_result register_verify(struct sip_pvt *p, struct ast_sock if (!peer && sip_cfg.autocreatepeer != AUTOPEERS_DISABLED) { /* Create peer if we have autocreate mode enabled */ peer = temp_peer(name); + if (peer && !(peer->endpoint = ast_endpoint_create("SIP", name))) { + ao2_t_ref(peer, -1, "failed to allocate Stasis endpoint, drop peer"); + peer = NULL; + } if (peer) { ao2_t_link(peers, peer, "link peer into peer table"); if (!ast_sockaddr_isnull(&peer->addr)) {