[Freeswitch-svn] [commit] r9549 - freeswitch/trunk/libs/sofia-sip/tests
Freeswitch SVN
mikej at freeswitch.org
Fri Sep 12 17:48:11 EDT 2008
Author: mikej
Date: Fri Sep 12 17:48:10 2008
New Revision: 9549
Modified:
freeswitch/trunk/libs/sofia-sip/tests/test_100rel.c
Log:
Fri Sep 12 16:55:08 EDT 2008 Pekka Pessi <first.last at nokia.com>
* test_100rel.c: fixed timing problem w/ failing PRACK case
Modified: freeswitch/trunk/libs/sofia-sip/tests/test_100rel.c
==============================================================================
--- freeswitch/trunk/libs/sofia-sip/tests/test_100rel.c (original)
+++ freeswitch/trunk/libs/sofia-sip/tests/test_100rel.c Fri Sep 12 17:48:10 2008
@@ -719,9 +719,9 @@
TEST(callstate(e->data->e_tags), nua_callstate_terminating);
{
- int bye = 1, cancel = 1, invite = 1;
+ int bye = 1, cancel = 1, invite = 1, state = 1;
- while (bye || cancel || invite) {
+ while (bye || cancel || invite || state) {
TEST_1(e = e->next);
if (e->data->e_event == nua_r_bye) {
TEST_E(e->data->e_event, nua_r_bye);
@@ -739,9 +739,18 @@
TEST_1(e->data->e_status == 200 || e->data->e_status == 481);
cancel = 0;
}
+ else if (e->data->e_event == nua_i_state) {
+ TEST_E(e->data->e_event, nua_i_state);
+ TEST(callstate(e->data->e_tags), nua_callstate_terminated);
+ state = 0;
+ }
+ }
+ if (e->next) {
+ /* 2nd terminated? */
+ TEST_1(e = e->next);
+ TEST_E(e->data->e_event, nua_i_state);
+ TEST(callstate(e->data->e_tags), nua_callstate_terminated);
}
- TEST_1(e = e->next); TEST_E(e->data->e_event, nua_i_state);
- TEST(callstate(e->data->e_tags), nua_callstate_terminated);
}
TEST_1(!e->next);
@@ -799,7 +808,7 @@
static int prack_until_terminated(CONDITION_PARAMS)
{
- static int terminated, bye_responded;
+ static int terminated, bye_responded, invite_responded, cancel_responded;
if (!check_handle(ep, call, nh, SIP_500_INTERNAL_SERVER_ERROR))
return 0;
@@ -825,7 +834,13 @@
if (event == nua_r_bye && status >= 200)
bye_responded = 1;
- return terminated && bye_responded;
+ if (event == nua_r_invite && status >= 200)
+ invite_responded = 1;
+
+ if (event == nua_r_cancel && status >= 200)
+ cancel_responded = 1;
+
+ return terminated && bye_responded && invite_responded && cancel_responded;
}
int respond_483_to_prack(CONDITION_PARAMS)
More information about the Freeswitch-svn
mailing list