mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-06-07 21:44:51 +00:00
Mon Jul 6 14:29:40 CDT 2009 Pekka Pessi <first.last@nokia.com>
* check_simple: more checks from terminating subscription git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@14169 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
parent
275bef5b98
commit
29997399f3
@ -1 +1 @@
|
|||||||
Thu Jul 9 11:00:14 CDT 2009
|
Thu Jul 9 11:01:43 CDT 2009
|
||||||
|
@ -754,6 +754,62 @@ START_TEST(notify_6_3_4)
|
|||||||
}
|
}
|
||||||
END_TEST
|
END_TEST
|
||||||
|
|
||||||
|
START_TEST(notify_6_3_5)
|
||||||
|
{
|
||||||
|
nua_handle_t *nh;
|
||||||
|
struct message *notify;
|
||||||
|
struct event *response;
|
||||||
|
sip_t *sip;
|
||||||
|
|
||||||
|
S2_CASE("6.3.4", "NOTIFY server - terminate with error response to NOTIFY",
|
||||||
|
"NUA receives SUBSCRIBE, sends 202 and NOTIFY. "
|
||||||
|
"The subscription terminates when watcher "
|
||||||
|
"returns 481 to NOTIFY.");
|
||||||
|
|
||||||
|
nh = subscribe_to_nua("presence", SIPTAG_EXPIRES_STR("300"), TAG_END());
|
||||||
|
|
||||||
|
nua_notify(nh,
|
||||||
|
SIPTAG_SUBSCRIPTION_STATE_STR("active"),
|
||||||
|
SIPTAG_PAYLOAD_STR(presence_closed),
|
||||||
|
TAG_END());
|
||||||
|
notify = s2_sip_wait_for_request(SIP_METHOD_NOTIFY);
|
||||||
|
fail_unless(notify != NULL);
|
||||||
|
sip = notify->sip;
|
||||||
|
fail_unless(sip->sip_subscription_state != NULL);
|
||||||
|
fail_unless(su_strmatch(sip->sip_subscription_state->ss_substate,
|
||||||
|
"active"));
|
||||||
|
s2_sip_respond_to(notify, dialog, SIP_200_OK, TAG_END());
|
||||||
|
fail_unless_event(nua_r_notify, 200);
|
||||||
|
|
||||||
|
nua_notify(nh,
|
||||||
|
SIPTAG_SUBSCRIPTION_STATE_STR("active"),
|
||||||
|
SIPTAG_PAYLOAD_STR(presence_open),
|
||||||
|
TAG_END());
|
||||||
|
notify = s2_sip_wait_for_request(SIP_METHOD_NOTIFY);
|
||||||
|
fail_unless(notify != NULL);
|
||||||
|
sip = notify->sip;
|
||||||
|
fail_unless(sip->sip_subscription_state != NULL);
|
||||||
|
fail_unless(su_strmatch(sip->sip_subscription_state->ss_substate,
|
||||||
|
"active"));
|
||||||
|
|
||||||
|
nua_notify(nh,
|
||||||
|
NUTAG_NEWSUB(1),
|
||||||
|
SIPTAG_SUBSCRIPTION_STATE_STR("active"),
|
||||||
|
SIPTAG_PAYLOAD_STR(presence_open),
|
||||||
|
TAG_END());
|
||||||
|
|
||||||
|
s2_sip_respond_to(notify, dialog, SIP_481_NO_TRANSACTION, TAG_END());
|
||||||
|
response = s2_wait_for_event(nua_r_notify, 481);
|
||||||
|
fail_unless(s2_event_substate(response) == nua_substate_terminated);
|
||||||
|
|
||||||
|
notify = s2_sip_wait_for_request(SIP_METHOD_NOTIFY);
|
||||||
|
s2_sip_respond_to(notify, dialog, SIP_481_NO_TRANSACTION, TAG_END());
|
||||||
|
response = s2_wait_for_event(nua_r_notify, 481);
|
||||||
|
fail_unless(s2_event_substate(response) == nua_substate_terminated);
|
||||||
|
|
||||||
|
nua_handle_destroy(nh);
|
||||||
|
}
|
||||||
|
END_TEST
|
||||||
|
|
||||||
TCase *notifier_tcase(int threading)
|
TCase *notifier_tcase(int threading)
|
||||||
{
|
{
|
||||||
@ -768,6 +824,7 @@ TCase *notifier_tcase(int threading)
|
|||||||
tcase_add_test(tc, notify_6_3_2);
|
tcase_add_test(tc, notify_6_3_2);
|
||||||
tcase_add_test(tc, notify_6_3_3);
|
tcase_add_test(tc, notify_6_3_3);
|
||||||
tcase_add_test(tc, notify_6_3_4);
|
tcase_add_test(tc, notify_6_3_4);
|
||||||
|
tcase_add_test(tc, notify_6_3_5);
|
||||||
}
|
}
|
||||||
return tc;
|
return tc;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user