Skip to content
Snippets Groups Projects
Commit 259c8067 authored by Joshua Colp's avatar Joshua Colp
Browse files

chan_sip: Emit a second ringing event to ensure channel is found.

When constructing a dialog-info+xml NOTIFY message a ringing channel
is found if the state is ringing and further information is placed into
the message. Due to the migration to the Stasis message bus this did
not always work as expected.

This change raises a second ringing event in such a way to guarantee
that the event is received by chan_sip and another lookup is done to
find the ringing channel.

ASTERISK-24488

Change-Id: I547a458fc59721c918cb48be060cbfc3c88bcf9c
parent 1b374245
Branches
Tags
No related merge requests found
...@@ -23984,6 +23984,9 @@ static void handle_response_invite(struct sip_pvt *p, int resp, const char *rest ...@@ -23984,6 +23984,9 @@ static void handle_response_invite(struct sip_pvt *p, int resp, const char *rest
ast_queue_control(p->owner, AST_CONTROL_RINGING); ast_queue_control(p->owner, AST_CONTROL_RINGING);
if (ast_channel_state(p->owner) != AST_STATE_UP) { if (ast_channel_state(p->owner) != AST_STATE_UP) {
ast_setstate(p->owner, AST_STATE_RINGING); ast_setstate(p->owner, AST_STATE_RINGING);
if (p->relatedpeer) {
ast_devstate_changed(AST_DEVICE_UNKNOWN, AST_DEVSTATE_NOT_CACHABLE, "SIP/%s", p->relatedpeer->name);
}
} }
} }
if (find_sdp(req)) { if (find_sdp(req)) {
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment