Added:
trunk/scenarios/3.2.1.3_SIP_CC_OE_SM_V_001.xml
Log:
Added: trunk/scenarios/3.2.1.3_SIP_CC_OE_SM_V_001.xml
==============================================================================
--- (empty file)
+++ trunk/scenarios/3.2.1.3_SIP_CC_OE_SM_V_001.xml Fri Aug 17 02:17:53 2007
@@ -0,0 +1,317 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Scenario Identifier="SIP_CC_OE_SM_V_001-" NeedTerms="2" DefaultRule="1" NeedRegisted="1" Timeout="60" FailOnSipTimeout="1">
+ <Configures>
+ <Configure key="ExpireLength" value="3600"/>
+ </Configures>
+ <Varibles>
+ <Varible name="CallerState" default="Idle" scope="" NotClearOnSceInit="0"/>
+ <Varible name="CalleeState" default="Idle" scope="" NotClearOnSceInit="0"/>
+ <Varible name="TmpUid" default="0" scope="" NotClearOnSceInit="0"/>
+ </Varibles>
+ <RecvRules>
+ <Rule ExecuteTerm="">
+ <Conditions>
+ <Condition Cmd="IsVaribleEqual" Param0="CalleeState" Param1="Idle"/>
+ <Condition Cmd="IsRequest" Param0="INVITE"/>
+ </Conditions>
+ <Actions>
+ <Action Cmd="SetVarible" Param0="CalleeState" Param1="Wait180PRACK"/>
+ <Action Cmd="StoreTransaction" Name="INVITE"/>
+ <Action Cmd="Send" MsgType="Response" StateCode="180" Method="" Transaction="" ToTag="" DialogName="MainDialog" Dialog=""/>
+ </Actions>
+ </Rule>
+ <Rule ExecuteTerm="">
+ <Conditions>
+ <Condition Cmd="IsVaribleEqual" Param0="CallerState" Param1="Wait180"/>
+ <Condition Cmd="IsResponseFor" Param0="INVITE"/>
+ <Condition Cmd="IsRspStateEqual" Param0="180"/>
+ </Conditions>
+ <Actions>
+ <Action Cmd="SetVarible" Param0="CallerState" Param1="Wait200"/>
+ <Action Cmd="StoreHead" Param0="RSeq" Param1="RSeq180"/>
+ <Action Cmd="StoreHead" Param0="CSeq" Param1="CSeq180"/>
+ <Action Cmd="Send" MsgType="Request" StateCode="" Method="PRACK" Transaction="" ToTag="" DialogName="" Dialog=""/>
+ </Actions>
+ </Rule>
+ <Rule ExecuteTerm="">
+ <Conditions>
+ <Condition Cmd="IsVaribleEqual" Param0="CallerState" Param1="Wait200"/>
+ <Condition Cmd="IsResponseFor" Param0="INVITE"/>
+ <Condition Cmd="IsRspStateEqual" Param0="200"/>
+ </Conditions>
+ <Actions>
+ <Action Cmd="SetVarible" Param0="CallerState" Param1="Active"/>
+ <Action Cmd="Send" MsgType="ACK" StateCode="" Method="" Transaction="" ToTag="" DialogName="" Dialog="MainDialog"/>
+ <Action Cmd="StartTimer" Param0="CallActiveTimer" FailOnExists="" Param1="2" CleanOnEnd=""/>
+ </Actions>
+ </Rule>
+ <Rule ExecuteTerm="">
+ <Conditions>
+ <Condition Cmd="IsAck"/>
+ </Conditions>
+ <Actions/>
+ </Rule>
+ <Rule ExecuteTerm="">
+ <Conditions>
+ <Condition Cmd="IsVaribleEqual" Param0="CalleeState" Param1="Active"/>
+ <Condition Cmd="IsRequest" Param0="INVITE"/>
+ </Conditions>
+ <Actions>
+ <Action Cmd="SetVarible" Param0="CalleeState" Param1="WaitInvite491"/>
+ <Action Cmd="StoreTransaction" Name="INVITE2"/>
+ <Action Cmd="Send" SwapFromTo="1" DirectSend="" MsgType="Request" StateCode="" Method="INVITE" Transaction="" ToTag="" DialogName="" Dialog="MainDialog"/>
+ </Actions>
+ </Rule>
+ <Rule ExecuteTerm="">
+ <Conditions>
+ <Condition Cmd="IsVaribleEqual" Param0="CallerState" Param1="WaitBye200"/>
+ <Condition Cmd="IsResponseFor" Param0="BYE"/>
+ <Condition Cmd="IsRspStateEqual" Param0="200"/>
+ </Conditions>
+ <Actions>
+ <Action Cmd="SetVarible" Param0="CallerState" Param1="CallerEnd"/>
+ </Actions>
+ </Rule>
+ <Rule ExecuteTerm="">
+ <Conditions>
+ <Condition Cmd="IsVaribleEqual" Param0="CalleeState" Param1="Wait180PRACK"/>
+ <Condition Cmd="IsRequest" Param0="PRACK"/>
+ </Conditions>
+ <Actions>
+ <Action Cmd="SetVarible" Param0="CalleeState" Param1="WaitSend200"/>
+ <Action Cmd="Send" MsgType="Response" StateCode="200" Method="" Transaction="" ToTag="" DialogName="" Dialog=""/>
+ <Action Cmd="StartTimer" Param0="Send200Timer" FailOnExists="" Param1="2" CleanOnEnd=""/>
+ </Actions>
+ </Rule>
+ <Rule ExecuteTerm="">
+ <Conditions>
+ <Condition Cmd="IsVaribleEqual" Param0="CallerState" Param1="CallerEnd"/>
+ <Condition Cmd="IsVaribleEqual" Param0="CalleeState" Param1="CalleeEnd"/>
+ </Conditions>
+ <Actions>
+ <Action Cmd="ScenarioFinish" Param0="Succ"/>
+ </Actions>
+ </Rule>
+ <Rule ExecuteTerm="">
+ <Conditions>
+ <Condition Cmd="IsVaribleEqual" Param0="CallerState" Param1="WaitInvite400"/>
+ <Condition Cmd="IsResponseFor" Param0="INVITE"/>
+ <Condition Cmd="IsRspStateEqual" Param0="480"/>
+ </Conditions>
+ <Actions>
+ <Action Cmd="SetVarible" Param0="CallerState" Param1="WaitBye200"/>
+ <Action Cmd="Send" DirectSend="" MsgType="Request" StateCode="" Method="BYE" Transaction="" ToTag="" DialogName="" Dialog=""/>
+ </Actions>
+ </Rule>
+ <Rule ExecuteTerm="">
+ <Conditions>
+ <Condition Cmd="IsVaribleEqual" Param0="CalleeState" Param1="WaitInvite491"/>
+ <Condition Cmd="IsResponseFor" Param0="INVITE"/>
+ <Condition Cmd="IsRspStateEqual" Param0="491"/>
+ </Conditions>
+ <Actions>
+ <Action Cmd="SetVarible" Param0="CalleeState" Param1="WaitBye"/>
+ <Action Cmd="Send" DirectSend="" MsgType="Response" StateCode="400" Method="" Transaction="INVITE2" ToTag="" DialogName="" Dialog=""/>
+ </Actions>
+ </Rule>
+ <Rule ExecuteTerm="">
+ <Conditions>
+ <Condition Cmd="IsVaribleEqual" Param0="CalleeState" Param1="WaitBye"/>
+ <Condition Cmd="IsRequest" Param0="BYE"/>
+ </Conditions>
+ <Actions>
+ <Action Cmd="SetVarible" Param0="CalleeState" Param1="CalleeEnd"/>
+ <Action Cmd="Send" DirectSend="" MsgType="Response" StateCode="200" Method="" Transaction="" ToTag="" DialogName="" Dialog=""/>
+ </Actions>
+ </Rule>
+ </RecvRules>
+ <SendRules>
+ <Rule ExecuteTerm="">
+ <Conditions>
+ <Condition Cmd="IsRequest" Param0=""/>
+ <Condition Cmd="IsUidEqual" Param0="Genurate %s| FIRST_UID_IN_CALL"/>
+ </Conditions>
+ <Actions>
+ <Action Cmd="SetVarible" Param0="TmpUid" Param1="Calc UID + 1"/>
+ </Actions>
+ </Rule>
+ <Rule ExecuteTerm="">
+ <Conditions>
+ <Condition Cmd="IsRequest" Param0=""/>
+ <Condition Cmd="@IsUidEqual" Param0="Genurate %s| FIRST_UID_IN_CALL"/>
+ </Conditions>
+ <Actions>
+ <Action Cmd="SetVarible" Param0="TmpUid" Param1="Calc UID - 1"/>
+ </Actions>
+ </Rule>
+ <Rule ExecuteTerm="">
+ <Conditions>
+ <Condition Cmd="IsRequest" Param0="INVITE"/>
+ </Conditions>
+ <Actions>
+ <Action Cmd="SetFrom" Param0="Genurate sip:%s%s@%s| NormalUriPrefix UID ProxyAddr"/>
+ <Action Cmd="SetCseq" Param0="Genurate %s STATIC"/>
+ <Action Cmd="SetMaxForward" Param0="70"/>
+ <Action Cmd="SetVia" Param0="Genurate SIP/2.0/UDP %s:%s;rport;branch=z9hG4bK%s| LOCALIP LOCALPORT STATIC"/>
+ <Action Cmd="SetRoute" Param0="Genurate sip:%s:%s;lr| ProxyAddr ProxyPort"/>
+ <Action Cmd="SetUserAgent" Param0="Encrypt SipTestTool"/>
+ <Action Cmd="SetAllow" Param0="INVITE,BYE"/>
+ <Action Cmd="SetExpire" Param0="Genurate %s| ExpireLength"/>
+ <Action Cmd="SetUri" Param0="Genurate sip:%s%s@%s| NormalUriPrefix TmpUid ProxyAddr"/>
+ <Action Cmd="SetTo" Param0="Genurate sip:%s%s@%s| NormalUriPrefix TmpUid ProxyAddr"/>
+ <Action Cmd="SetCallId" Param0="Genurate A%s-%s@%s| TICKCOUNT STATIC LOCALIP"/>
+ <Action Cmd="SetContact" Param0="Genurate sip:%s%s@%s:%s| NormalUriPrefix UID LOCALIP LOCALPORT"/>
+ <Action Cmd="PutHead" Param0="Supported" Param1="100rel,timer"/>
+ <Action Cmd="SetBody" ParamCount="2" Param2="Genurate %s| LOCALIP" CntType="application/sdp" Param1="Genurate %s| LOCALIP"><![CDATA[v=0
+o=HELLO 111374036265 111374036275 IN IP4 %s
+s=none
+c=IN IP4 %s
+t=0 0
+m=audio 17000 RTP/AVP 0 8 18 126
+a=fmtp: 0 X-ptime: 20 30
+a=fmtp: 8 X-ptime: 20 30
+a=fmtp: 18 X-ptime: 20
+a=rtpmap:126 iLBC/8000
+a=fmtp:126 mode=20
+a=sendrecv
+]]></Action>
+ </Actions>
+ </Rule>
+ <Rule ExecuteTerm="">
+ <Conditions>
+ <Condition Cmd="IsRequest" Param0="BYE"/>
+ </Conditions>
+ <Actions>
+ <Action Cmd="SetFrom" Param0="Genurate sip:%s%s@%s| NormalUriPrefix UID ProxyAddr"/>
+ <Action Cmd="SetCseq" Param0="Genurate %s STATIC"/>
+ <Action Cmd="SetMaxForward" Param0="70"/>
+ <Action Cmd="SetVia" Param0="Genurate SIP/2.0/UDP %s:%s;rport;branch=z9hG4bK%s| LOCALIP LOCALPORT STATIC"/>
+ <Action Cmd="SetRoute" Param0="Genurate sip:%s:%s;lr| ProxyAddr ProxyPort"/>
+ <Action Cmd="SetUserAgent" Param0="Encrypt SipTestTool"/>
+ <Action Cmd="SetAllow" Param0="INVITE"/>
+ <Action Cmd="SetExpire" Param0="Genurate %s| ExpireLength"/>
+ <Action Cmd="SetVarible" Param0="TmpUid" Param1="Calc UID + 1"/>
+ <Action Cmd="SetUri" Param0="Genurate sip:%s%s@%s| NormalUriPrefix TmpUid ProxyAddr"/>
+ <Action Cmd="SetTo" Param0="Genurate sip:%s%s@%s| NormalUriPrefix TmpUid ProxyAddr"/>
+ <Action Cmd="SetCallId" Param0="Genurate A%s-%s@%s| TICKCOUNT STATIC LOCALIP"/>
+ <Action Cmd="SetContact" Param0="Genurate sip:%s%s@%s:%s| NormalUriPrefix UID LOCALIP LOCALPORT"/>
+ </Actions>
+ </Rule>
+ <Rule ExecuteTerm="">
+ <Conditions>
+ <Condition Cmd="IsRequest" Trace="1" Param0="REGISTER"/>
+ </Conditions>
+ <Actions>
+ <Action Cmd="SetFrom" Param0="Genurate sip:%s%s@%s| NormalUriPrefix UID ProxyAddr"/>
+ <Action Cmd="SetCseq" Param0="Genurate %s STATIC"/>
+ <Action Cmd="SetMaxForward" Param0="70"/>
+ <Action Cmd="SetVia" Param0="Genurate SIP/2.0/UDP %s:%s;rport;branch=z9hG4bK%s| LOCALIP LOCALPORT STATIC"/>
+ <Action Cmd="SetRoute" Param0="Genurate sip:%s:%s;lr| ProxyAddr ProxyPort"/>
+ <Action Cmd="SetUserAgent" Param0="Encrypt SipTestTool"/>
+ <Action Cmd="SetAllow" Param0="INVITE"/>
+ <Action Cmd="SetExpire" Param0="Genurate %s| ExpireLength"/>
+ <Action Cmd="SetUri" Param0="Genurate sip:%s:%s| ProxyAddr ProxyPort"/>
+ <Action Cmd="SetTo" Param0="Genurate sip:%s%s@%s| NormalUriPrefix UID ProxyAddr"/>
+ <Action Cmd="SetCallId" Param0="Genurate A%s-%s@%s| TICKCOUNT STATIC LOCALIP"/>
+ <Action Cmd="SetContact" Param0="Genurate sip:%s%s@%s:%s| NormalUriPrefix UID LOCALIP LOCALPORT"/>
+ </Actions>
+ </Rule>
+ <Rule ExecuteTerm="">
+ <Conditions>
+ <Condition Cmd="IsRequest" Param0="PRACK"/>
+ </Conditions>
+ <Actions>
+ <Action Cmd="SetFrom" Param0="Genurate sip:%s%s@%s| NormalUriPrefix UID ProxyAddr"/>
+ <Action Cmd="SetCseq" Param0="Genurate %s STATIC"/>
+ <Action Cmd="SetMaxForward" Param0="70"/>
+ <Action Cmd="SetVia" Param0="Genurate SIP/2.0/UDP %s:%s;rport;branch=z9hG4bK%s| LOCALIP LOCALPORT STATIC"/>
+ <Action Cmd="SetRoute" Param0="Genurate sip:%s:%s;lr| ProxyAddr ProxyPort"/>
+ <Action Cmd="SetUserAgent" Param0="Encrypt SipTestTool"/>
+ <Action Cmd="SetAllow" Param0="INVITE"/>
+ <Action Cmd="SetExpire" Param0="Genurate %s| ExpireLength"/>
+ <Action Cmd="SetVarible" Param0="TmpUid" Param1="Calc UID + 1"/>
+ <Action Cmd="PutHead" Param0="RAck" Param1="Genurate %s %s INVITE|RSeq180 CSeq180"/>
+ <Action Cmd="SetUri" Param0="Genurate sip:%s%s@%s| NormalUriPrefix TmpUid ProxyAddr"/>
+ <Action Cmd="SetTo" Param0="Genurate sip:%s%s@%s| NormalUriPrefix TmpUid ProxyAddr"/>
+ <Action Cmd="SetCallId" Param0="Genurate A%s-%s@%s| TICKCOUNT STATIC LOCALIP"/>
+ <Action Cmd="SetContact" Param0="Genurate sip:%s%s@%s:%s| NormalUriPrefix UID LOCALIP LOCALPORT"/>
+ </Actions>
+ </Rule>
+ <Rule ExecuteTerm="">
+ <Conditions>
+ <Condition Cmd="IsAck"/>
+ </Conditions>
+ <Actions>
+ <Action Cmd="SetMaxForward" Param0="70"/>
+ <Action Cmd="SetVia" Param0="Genurate SIP/2.0/UDP %s:%s;rport;branch=z9hG4bK%s| LOCALIP LOCALPORT STATIC"/>
+ <Action Cmd="SetRoute" Param0="Genurate sip:%s:%s;lr| ProxyAddr ProxyPort"/>
+ <Action Cmd="SetVarible" Param0="TmpUid" Param1="Calc UID + 1"/>
+ <Action Cmd="SetUri" Param0="Genurate sip:%s%s@%s| NormalUriPrefix TmpUid ProxyAddr"/>
+ <Action Cmd="SetContact" Param0="Genurate sip:%s%s@%s:%s| NormalUriPrefix UID LOCALIP LOCALPORT"/>
+ </Actions>
+ </Rule>
+ <Rule ExecuteTerm="">
+ <Conditions>
+ <Condition Cmd="IsResponseFor" Param0="INVITE"/>
+ <Condition Cmd="IsRspStateEqual" Param0="180"/>
+ </Conditions>
+ <Actions>
+ <Action Cmd="PutHead" Param0="Require" Param1="100rel"/>
+ <Action Cmd="PutHead" Param0="RSeq" Param1="Genurate %s| STATIC"/>
+ </Actions>
+ </Rule>
+ <Rule ExecuteTerm="">
+ <Conditions>
+ <Condition Cmd="IsResponseFor" Param0="INVITE"/>
+ <Condition Cmd="IsRspStateEqual" Param0="200"/>
+ </Conditions>
+ <Actions>
+ <Action Cmd="SetContact" Param0="Genurate sip:%s%s@%s:%s| NormalUriPrefix UID LOCALIP LOCALPORT"/>
+ <Action Cmd="SetBody" ParamCount="2" Param2="Genurate %s| LOCALIP" CntType="application/sdp" Param1="Genurate %s| LOCALIP"><![CDATA[v=0
+o=UTSTARCOM 0 0 IN IP4 %s
+s=-
+c=IN IP4 %s
+t=0 0
+m=audio 5142 RTP/AVP 0
+a=sendrecv
+]]></Action>
+ </Actions>
+ </Rule>
+ </SendRules>
+ <EventRules>
+ <Rule ExecuteTerm="0">
+ <Conditions>
+ <Condition Cmd="IsVaribleEqual" Param0="CallerState" Param1="Idle"/>
+ <Condition Cmd="IsEventNameEqual" Param0="TermStateChange"/>
+ <Condition Cmd="IsAllTermRegisted"/>
+ </Conditions>
+ <Actions>
+ <Action Cmd="SetVarible" Param0="CallerState" Param1="Wait180"/>
+ <Action Cmd="Send" MsgType="Request" StateCode="" Method="INVITE" Transaction="" ToTag="" DialogName="" Dialog=""/>
+ </Actions>
+ </Rule>
+ </EventRules>
+ <TimerRules>
+ <Rule ExecuteTerm="">
+ <Conditions>
+ <Condition Cmd="IsVaribleEqual" Param0="CallerState" Param1="Active"/>
+ <Condition Cmd="IsTimerNameEqual" Param0="CallActiveTimer"/>
+ </Conditions>
+ <Actions>
+ <Action Cmd="SetVarible" Param0="CallerState" Param1="WaitInvite400"/>
+ <Action Cmd="Send" DirectSend="" MsgType="Request" StateCode="" Method="INVITE" Transaction="" ToTag="" DialogName="" Dialog="MainDialog"/>
+ </Actions>
+ </Rule>
+ <Rule ExecuteTerm="">
+ <Conditions>
+ <Condition Cmd="IsVaribleEqual" Param0="CalleeState" Param1="WaitSend200"/>
+ <Condition Cmd="IsTimerNameEqual" Param0="Send200Timer"/>
+ </Conditions>
+ <Actions>
+ <Action Cmd="SetVarible" Param0="CalleeState" Param1="Active"/>
+ <Action Cmd="Send" MsgType="Response" StateCode="200" Method="" Transaction="INVITE" ToTag="" DialogName="" Dialog="MainDialog"/>
+ </Actions>
+ </Rule>
+ </TimerRules>
+ <FinalRules/>
+</Scenario>