I doubt what you want is possible without changing some code. I wrote the test 
extension and basically the parser is fairly simple and you try not to add 
something with the complexity of a compiler - hence set/notset is something 
fairly easy to test.

 

ereg/regexp is a bit special because it uses an established C function - I'm 
not aware of anything similar for tests.

 

The sort of thing I would suggest is adding an option to ereg to unset the 
variable(s) first.

 

Peter


 


Date: Wed, 30 Sep 2009 19:31:53 +0530
From: rajnish.ahuj...@gmail.com
To: sipp-users@lists.sourceforge.net
Subject: [Sipp-users] Need help with Conditional Branching

Hi Guys, Need your urgent help.I need to take different actions based on the 
content of the NOTIFY message.(specifically on the basis of whats in 
"Subscription-State:" header).1) if I receive normal notifys with 
SUBSCRIPTION-state:Active,keep receiving them.2) if I receive NOTIFY with 
subscription terminated, then renew the subscription(without de-registering the 
client)Here is the flow I need,===============Register200 OK<label 1 >          
       # to create a new subscriptionSUBSCRIBE (presence)202 Accepted<label 2>  
                # Basically keep receiving the normal active state notify and 
keep responding with 200 OK.NOTIFY(Subscription-State:active)200 OK<Go to Label 
:2 >NOTIFY(Subscription-State:terminated;reason=deactivated)200 OK<Go to Label 
:1 >======================This is what I have tried .REGISTER 200 OK<label 
id="1"/>
 <send retrans="5000">    <![CDATA[        SUBSCRIBE 
sip:[fiel...@company.lab;list=rls-services SIP/2.0        Via: 
SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]        
Record-Route: <sip:[fiel...@[local_ip]:[local_port];lr>        Route:[$1]       
 From: [field0] <sip:[fiel...@company.lab>;tag=[call_number]        To: 
[field0] <sip:[fiel...@company.lab;list=rls-services>        Call-ID: 
1002///[call_id]        CSeq: 20 SUBSCRIBE        Contact: 
<sip:[fiel...@[local_ip]:[local_port]>        P-Access-Network-Info: N-ACTIVE   
     P-Visited-Network-Id: company.lab        P-Asserted-Identity: 
<sip:[fiel...@company.lab>        Accept: message/external-body, 
application/pidf+xml, application/rlmi+xml, multipart/related        
Max-Forwards: 70        User-Agent: SIPP        Expires: 300        Supported: 
eventlist        Event: presence        Content-Length: 0    ]]>  </send>  
<recv response="202" >  </recv><label id="2"/>  <recv request="NOTIFY">   
<action>    <ereg regexp="terminated;reason=deactivated" search_in="hdr" 
header="Subscription-State:" check_it="true" assign_to="3"/>   </action>  
</recv> <send next="1" test="3" >    <![CDATA[      SIP/2.0 200 OK      
[last_Via:]      [last_From:]      [last_To:]      [last_Call-ID:]      
[last_CSeq:]      Contact: <sip:[fiel...@[local_ip]:[local_port]>      
Content-Length: 0    ]]>  </send><nop next="2"></op>But the problem I am facing 
is that, once the variable "3" is set ,I can NOT UNset it. 
So when after looping again, it comes back to the same condition, it is already 
set ,( irrespective of what is received in the NOTIFY message.)Ideally , if I 
could base my the decision on the value of the variable instead of "making it 
on the basis of if variable is set or not" , that would be the best thing. but 
I cant seem to find any such thing in SIP reference guide.Could you guys guide 
me here?Thanks a lot in anticipation.Thanks,Rajnish                             
        
_________________________________________________________________
Share your photos with Windows Live Photos – Free.
http://clk.atdmt.com/UKM/go/134665338/direct/01/
------------------------------------------------------------------------------
Come build with us! The BlackBerry&reg; Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9&#45;12, 2009. Register now&#33;
http://p.sf.net/sfu/devconf
_______________________________________________
Sipp-users mailing list
Sipp-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sipp-users

Reply via email to