Merged revisions 321924 via svnmerge from
authorRichard Mudgett <rmudgett@digium.com>
Fri, 3 Jun 2011 21:49:58 +0000 (21:49 +0000)
committerRichard Mudgett <rmudgett@digium.com>
Fri, 3 Jun 2011 21:49:58 +0000 (21:49 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r321924 | rmudgett | 2011-06-03 16:49:17 -0500 (Fri, 03 Jun 2011) | 5 lines

  Be more explicit for CCSS generic device state event subscription.

  Make CCSS generic device state event subscription specify the
  AST_EVENT_IE_STATE ie exists to be safe.
........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@321925 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/ccss.c

index 3c2f535..2db5f33 100644 (file)
@@ -1241,9 +1241,11 @@ static struct generic_monitor_instance_list *create_new_generic_list(struct ast_
                return NULL;
        }
 
-       if (!(generic_list->sub = ast_event_subscribe(AST_EVENT_DEVICE_STATE, generic_monitor_devstate_cb,
-                               "Requesting CC", NULL, AST_EVENT_IE_DEVICE, AST_EVENT_IE_PLTYPE_STR,
-                               monitor->interface->device_name, AST_EVENT_IE_END))) {
+       if (!(generic_list->sub = ast_event_subscribe(AST_EVENT_DEVICE_STATE,
+               generic_monitor_devstate_cb, "Requesting CC", NULL,
+               AST_EVENT_IE_DEVICE, AST_EVENT_IE_PLTYPE_STR, monitor->interface->device_name,
+               AST_EVENT_IE_STATE, AST_EVENT_IE_PLTYPE_EXISTS,
+               AST_EVENT_IE_END))) {
                cc_unref(generic_list, "Failed to subscribe to device state");
                return NULL;
        }
@@ -2629,10 +2631,11 @@ static int cc_generic_agent_start_monitoring(struct ast_cc_agent *agent)
        ast_str_set(&str, 0, "Agent monitoring %s device state since it is busy\n",
                agent->device_name);
 
-       if (!(generic_pvt->sub = ast_event_subscribe(
-                       AST_EVENT_DEVICE_STATE, generic_agent_devstate_cb, ast_str_buffer(str), agent,
-                       AST_EVENT_IE_DEVICE, AST_EVENT_IE_PLTYPE_STR, agent->device_name,
-                       AST_EVENT_IE_END))) {
+       if (!(generic_pvt->sub = ast_event_subscribe(AST_EVENT_DEVICE_STATE,
+               generic_agent_devstate_cb, ast_str_buffer(str), agent,
+               AST_EVENT_IE_DEVICE, AST_EVENT_IE_PLTYPE_STR, agent->device_name,
+               AST_EVENT_IE_STATE, AST_EVENT_IE_PLTYPE_EXISTS,
+               AST_EVENT_IE_END))) {
                return -1;
        }
        return 0;