]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
res_pjsip_pubsub: Add test event for state change
authorKinsey Moore <kmoore@digium.com>
Thu, 3 Apr 2014 12:06:37 +0000 (12:06 +0000)
committerKinsey Moore <kmoore@digium.com>
Thu, 3 Apr 2014 12:06:37 +0000 (12:06 +0000)
This adds a test event when subscription state changes so that
integration tests may trigger new actions at the appropriate times.

Review: https://reviewboard.asterisk.org/r/3383/
........

Merged revisions 411670 from http://svn.asterisk.org/svn/asterisk/branches/12

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

res/res_pjsip_pubsub.c

index 857d21eab2a130930ecde917eef518ecc8c73785..0b53af6c0397c6899113a3b3e00fc9d756ca2ab5 100644 (file)
@@ -42,6 +42,7 @@
 #include "asterisk/res_pjsip.h"
 #include "asterisk/callerid.h"
 #include "asterisk/manager.h"
+#include "asterisk/test.h"
 #include "res_pjsip/include/res_pjsip_private.h"
 
 /*** DOCUMENTATION
@@ -464,8 +465,18 @@ pjsip_dialog *ast_sip_subscription_get_dlg(struct ast_sip_subscription *sub)
 
 int ast_sip_subscription_send_request(struct ast_sip_subscription *sub, pjsip_tx_data *tdata)
 {
-       return pjsip_evsub_send_request(ast_sip_subscription_get_evsub(sub),
+       struct ast_sip_endpoint *endpoint = ast_sip_subscription_get_endpoint(sub);
+       int res = pjsip_evsub_send_request(ast_sip_subscription_get_evsub(sub),
                        tdata) == PJ_SUCCESS ? 0 : -1;
+       
+       ast_test_suite_event_notify("SUBSCRIPTION_STATE_SET",
+               "StateText: %s\r\n"
+               "Endpoint: %s\r\n",
+               pjsip_evsub_get_state_name(ast_sip_subscription_get_evsub(sub)),
+               ast_sorcery_object_get_id(endpoint));
+       
+       ao2_cleanup(endpoint);
+       return res;
 }
 
 static void subscription_datastore_destroy(void *obj)