chan_pjsip: Update device state when in early media.
authorJoshua Colp <jcolp@digium.com>
Wed, 7 Jun 2017 20:19:05 +0000 (20:19 +0000)
committerJoshua Colp <jcolp@digium.com>
Wed, 7 Jun 2017 20:23:14 +0000 (15:23 -0500)
The chan_pjsip module uses a calculation approach for
determining device state. This means that in situations
where we would expect device state to change we need to
tell the core to query. A scenario that was missed is
when early media was signaled.

This change adds the notification for the core to
query device state when we are told that early media
is being provided.

ASTERISK-27039

Change-Id: Iafebfd152894966344ff2e950a3cee9f59a3eb6f

channels/chan_pjsip.c

index 5bf339e..3f65a13 100644 (file)
@@ -1387,6 +1387,7 @@ static int chan_pjsip_indicate(struct ast_channel *ast, int condition, const voi
                } else {
                        res = -1;
                }
+               ast_devstate_changed(AST_DEVICE_UNKNOWN, AST_DEVSTATE_CACHABLE, "PJSIP/%s", ast_sorcery_object_get_id(channel->session->endpoint));
                break;
        case AST_CONTROL_VIDUPDATE:
                media = pvt->media[SIP_MEDIA_VIDEO];