[asterisk-commits] mnicholson: testsuite/asterisk/trunk r751 - in /asterisk/trunk/tests: ./ sip/...

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Wed Aug 18 08:32:18 CDT 2010


Author: mnicholson
Date: Wed Aug 18 08:32:14 2010
New Revision: 751

URL: http://svnview.digium.com/svn/testsuite?view=rev&rev=751
Log:
Test asterisk's response to REFER requests.

Added:
    asterisk/trunk/tests/sip/
    asterisk/trunk/tests/sip/handle_response_refer/
    asterisk/trunk/tests/sip/handle_response_refer/configs/
    asterisk/trunk/tests/sip/handle_response_refer/configs/extensions.conf   (with props)
    asterisk/trunk/tests/sip/handle_response_refer/configs/sip.conf   (with props)
    asterisk/trunk/tests/sip/handle_response_refer/run-test   (with props)
    asterisk/trunk/tests/sip/handle_response_refer/sipp/
    asterisk/trunk/tests/sip/handle_response_refer/sipp/data.csv   (with props)
    asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-200-notify.xml   (with props)
    asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-202-error.xml   (with props)
    asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-202-notify-provisional.xml   (with props)
    asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-202-notify.xml   (with props)
    asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-400.xml   (with props)
    asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-500.xml   (with props)
    asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-603.xml   (with props)
    asterisk/trunk/tests/sip/handle_response_refer/test.lua   (with props)
Modified:
    asterisk/trunk/tests/tests.yaml

Added: asterisk/trunk/tests/sip/handle_response_refer/configs/extensions.conf
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/sip/handle_response_refer/configs/extensions.conf?view=auto&rev=751
==============================================================================
--- asterisk/trunk/tests/sip/handle_response_refer/configs/extensions.conf (added)
+++ asterisk/trunk/tests/sip/handle_response_refer/configs/extensions.conf Wed Aug 18 08:32:14 2010
@@ -1,0 +1,8 @@
+
+[transfer]
+
+exten => s,1,Noop
+exten => s,n,Transfer(SIP/test1)
+exten => s,n,UserEvent(TransferComplete,TRANSFERSTATUS: ${TRANSFERSTATUS})
+exten => s,n,Hangup
+

Propchange: asterisk/trunk/tests/sip/handle_response_refer/configs/extensions.conf
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: asterisk/trunk/tests/sip/handle_response_refer/configs/extensions.conf
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: asterisk/trunk/tests/sip/handle_response_refer/configs/extensions.conf
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: asterisk/trunk/tests/sip/handle_response_refer/configs/sip.conf
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/sip/handle_response_refer/configs/sip.conf?view=auto&rev=751
==============================================================================
--- asterisk/trunk/tests/sip/handle_response_refer/configs/sip.conf (added)
+++ asterisk/trunk/tests/sip/handle_response_refer/configs/sip.conf Wed Aug 18 08:32:14 2010
@@ -1,0 +1,3 @@
+[general]
+udpbindaddr = 127.0.0.1:5060
+

Propchange: asterisk/trunk/tests/sip/handle_response_refer/configs/sip.conf
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: asterisk/trunk/tests/sip/handle_response_refer/configs/sip.conf
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: asterisk/trunk/tests/sip/handle_response_refer/configs/sip.conf
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: asterisk/trunk/tests/sip/handle_response_refer/run-test
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/sip/handle_response_refer/run-test?view=auto&rev=751
==============================================================================
--- asterisk/trunk/tests/sip/handle_response_refer/run-test (added)
+++ asterisk/trunk/tests/sip/handle_response_refer/run-test Wed Aug 18 08:32:14 2010
@@ -1,0 +1,3 @@
+#!/bin/bash -e
+. lib/sh/lua.sh
+asttest -a / -s `dirname $0` $@

Propchange: asterisk/trunk/tests/sip/handle_response_refer/run-test
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: asterisk/trunk/tests/sip/handle_response_refer/run-test
------------------------------------------------------------------------------
    svn:executable = *

Propchange: asterisk/trunk/tests/sip/handle_response_refer/run-test
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: asterisk/trunk/tests/sip/handle_response_refer/run-test
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: asterisk/trunk/tests/sip/handle_response_refer/sipp/data.csv
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/sip/handle_response_refer/sipp/data.csv?view=auto&rev=751
==============================================================================
--- asterisk/trunk/tests/sip/handle_response_refer/sipp/data.csv (added)
+++ asterisk/trunk/tests/sip/handle_response_refer/sipp/data.csv Wed Aug 18 08:32:14 2010
@@ -1,0 +1,11 @@
+USER
+# contact;resp;notify
+202;200 OK;100 Trying
+202-603;603 Declined;100 Trying
+202-500;500 Server Error;100 Trying
+200;200 OK
+400
+500
+603
+202-err
+

Propchange: asterisk/trunk/tests/sip/handle_response_refer/sipp/data.csv
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: asterisk/trunk/tests/sip/handle_response_refer/sipp/data.csv
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: asterisk/trunk/tests/sip/handle_response_refer/sipp/data.csv
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-200-notify.xml
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-200-notify.xml?view=auto&rev=751
==============================================================================
--- asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-200-notify.xml (added)
+++ asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-200-notify.xml Wed Aug 18 08:32:14 2010
@@ -1,0 +1,107 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+
+<scenario name="wait for a call followed by a refer">
+
+	<Global variables="file,user"/>
+	<nop>
+		<action>
+			<lookup assign_to="line" file="[$file]" key="[$user]"/>
+		</action>
+	</nop>
+	<Reference variables="file,user"/>
+
+	<recv request="INVITE" crlf="true"/>
+
+	<send>
+		<![CDATA[
+
+		SIP/2.0 180 Ringing
+		[last_Via:]
+		[last_From:]
+		[last_To:];tag=[call_number]
+		[last_Call-ID:]
+		[last_CSeq:]
+		Contact: sip:[field0 line="[$line]"]@[local_ip]:[local_port]
+		Content-Length: 0
+
+		]]>
+	</send>
+
+	<send>
+		<![CDATA[
+
+		SIP/2.0 200 OK
+		[last_Via:]
+		[last_From:]
+		[last_To:];tag=[call_number]
+		[last_Call-ID:]
+		[last_CSeq:]
+		Contact: sip:[field0 line="[$line]"]@[local_ip]:[local_port]
+		Content-Length: 0
+
+		]]>
+	</send>
+	
+	<recv request="ACK" optional="false"/>
+
+	<recv request="REFER" optional="false"/>
+	
+	<send>
+		<![CDATA[
+
+		SIP/2.0 200 Ok
+		[last_Via:]
+		[last_From:]
+		[last_To:];tag=[call_number]
+		[last_Call-ID:]
+		[last_CSeq:]
+		Contact: sip:[field0 line="[$line]"]@[local_ip]:[local_port]
+		Content-Length: 0
+
+		]]>
+	</send>
+
+	<send>
+		<![CDATA[
+		
+		NOTIFY sip:[field0 line="[$line]"]@[remote_ip]:[remote_port] SIP/2.0
+		Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
+		[last_From:]
+		[last_To:];tag=[call_number]
+		[last_Call-ID:]
+		CSeq: 1 NOTIFY
+		Contact: sip:[field0 line="[$line]"]@[local_ip]:[local_port]
+		Max-Forwards: 70
+		Subscription-state: terminated;reason=noresource
+		Content-Type: message/sipfrag;version=2.0
+		Content-Length: [len]
+		Event: refer;id=103
+
+		SIP/2.0 [field1 line="[$line]"]
+
+		]]>
+	</send>
+	
+	<recv response="200" optional="false"/>
+
+
+	<recv request="BYE" optional="false"/>
+
+	<send>
+		<![CDATA[
+
+		SIP/2.0 200 OK
+		[last_Via:]
+		[last_From:]
+		[last_To:];tag=[call_number]
+		[last_Call-ID:]
+		[last_CSeq:]
+		Contact: sip:[field0 line="[$line]"]@[local_ip]:[local_port]
+		Content-Length: 0
+
+		]]>
+	</send>
+
+
+</scenario>
+

Propchange: asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-200-notify.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-200-notify.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-200-notify.xml
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-202-error.xml
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-202-error.xml?view=auto&rev=751
==============================================================================
--- asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-202-error.xml (added)
+++ asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-202-error.xml Wed Aug 18 08:32:14 2010
@@ -1,0 +1,107 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+
+<scenario name="wait for a call followed by a refer">
+
+	<Global variables="file,user"/>
+	<nop>
+		<action>
+			<lookup assign_to="line" file="[$file]" key="[$user]"/>
+		</action>
+	</nop>
+	<Reference variables="file,user"/>
+
+	<recv request="INVITE" crlf="true"/>
+
+	<send>
+		<![CDATA[
+
+		SIP/2.0 180 Ringing
+		[last_Via:]
+		[last_From:]
+		[last_To:];tag=[call_number]
+		[last_Call-ID:]
+		[last_CSeq:]
+		Contact: sip:[field0 line="[$line]"]@[local_ip]:[local_port]
+		Content-Length: 0
+
+		]]>
+	</send>
+
+	<send>
+		<![CDATA[
+
+		SIP/2.0 200 OK
+		[last_Via:]
+		[last_From:]
+		[last_To:];tag=[call_number]
+		[last_Call-ID:]
+		[last_CSeq:]
+		Contact: sip:[field0 line="[$line]"]@[local_ip]:[local_port]
+		Content-Length: 0
+
+		]]>
+	</send>
+	
+	<recv request="ACK" optional="false"/>
+
+	<recv request="REFER" optional="false"/>
+	
+	<send>
+		<![CDATA[
+
+		SIP/2.0 202 Accepted
+		[last_Via:]
+		[last_From:]
+		[last_To:];tag=[call_number]
+		[last_Call-ID:]
+		[last_CSeq:]
+		Contact: sip:[field0 line="[$line]"]@[local_ip]:[local_port]
+		Content-Length: 0
+
+		]]>
+	</send>
+
+	<send>
+		<![CDATA[
+		
+		NOTIFY sip:[field0 line="[$line]"]@[remote_ip]:[remote_port] SIP/2.0
+		Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
+		[last_From:]
+		[last_To:];tag=[call_number]
+		[last_Call-ID:]
+		CSeq: 1 NOTIFY
+		Contact: sip:[field0 line="[$line]"]@[local_ip]:[local_port]
+		Max-Forwards: 70
+		Subscription-state: terminated;reason=noresource
+		Content-Type: message/sipfrag;version=2.0
+		Content-Length: [len]
+		Event: refer;id=103
+
+		buggy
+
+		]]>
+	</send>
+	
+	<recv response="200" optional="false"/>
+
+
+	<recv request="BYE" optional="false"/>
+
+	<send>
+		<![CDATA[
+
+		SIP/2.0 200 OK
+		[last_Via:]
+		[last_From:]
+		[last_To:];tag=[call_number]
+		[last_Call-ID:]
+		[last_CSeq:]
+		Contact: sip:[field0 line="[$line]"]@[local_ip]:[local_port]
+		Content-Length: 0
+
+		]]>
+	</send>
+
+
+</scenario>
+

Propchange: asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-202-error.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-202-error.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-202-error.xml
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-202-notify-provisional.xml
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-202-notify-provisional.xml?view=auto&rev=751
==============================================================================
--- asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-202-notify-provisional.xml (added)
+++ asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-202-notify-provisional.xml Wed Aug 18 08:32:14 2010
@@ -1,0 +1,130 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+
+<scenario name="wait for a call followed by a refer">
+
+	<Global variables="file,user"/>
+	<nop>
+		<action>
+			<lookup assign_to="line" file="[$file]" key="[$user]"/>
+		</action>
+	</nop>
+	<Reference variables="file,user"/>
+
+	<recv request="INVITE" crlf="true"/>
+
+	<send>
+		<![CDATA[
+
+		SIP/2.0 180 Ringing
+		[last_Via:]
+		[last_From:]
+		[last_To:];tag=[call_number]
+		[last_Call-ID:]
+		[last_CSeq:]
+		Contact: sip:[field0 line="[$line]"]@[local_ip]:[local_port]
+		Content-Length: 0
+
+		]]>
+	</send>
+
+	<send>
+		<![CDATA[
+
+		SIP/2.0 200 OK
+		[last_Via:]
+		[last_From:]
+		[last_To:];tag=[call_number]
+		[last_Call-ID:]
+		[last_CSeq:]
+		Contact: sip:[field0 line="[$line]"]@[local_ip]:[local_port]
+		Content-Length: 0
+
+		]]>
+	</send>
+	
+	<recv request="ACK" optional="false"/>
+
+	<recv request="REFER" optional="false"/>
+	
+	<send>
+		<![CDATA[
+
+		SIP/2.0 202 Accepted
+		[last_Via:]
+		[last_From:]
+		[last_To:];tag=[call_number]
+		[last_Call-ID:]
+		[last_CSeq:]
+		Contact: sip:[field0 line="[$line]"]@[local_ip]:[local_port]
+		Content-Length: 0
+
+		]]>
+	</send>
+
+	<send>
+		<![CDATA[
+		
+		NOTIFY sip:[field0 line="[$line]"]@[remote_ip]:[remote_port] SIP/2.0
+		Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
+		[last_From:]
+		[last_To:];tag=[call_number]
+		[last_Call-ID:]
+		CSeq: 1 NOTIFY
+		Contact: sip:[field0 line="[$line]"]@[local_ip]:[local_port]
+		Max-Forwards: 70
+		Subscription-state: active
+		Content-Type: message/sipfrag;version=2.0
+		Content-Length: [len]
+		Event: refer;id=103
+
+		SIP/2.0 [field2 line="[$line]"]
+
+		]]>
+	</send>
+	
+	<recv response="200" optional="false"/>
+
+	<send>
+		<![CDATA[
+		
+		NOTIFY sip:[field0 line="[$line]"]@[remote_ip]:[remote_port] SIP/2.0
+		Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
+		[last_From:]
+		[last_To:];tag=[call_number]
+		[last_Call-ID:]
+		CSeq: 2 NOTIFY
+		Contact: sip:[field0 line="[$line]"]@[local_ip]:[local_port]
+		Max-Forwards: 70
+		Subscription-state: terminated;reason=noresource
+		Content-Type: message/sipfrag;version=2.0
+		Content-Length: [len]
+		Event: refer;id=103
+
+		SIP/2.0 [field1 line="[$line]"]
+
+		]]>
+	</send>
+	
+	<recv response="200" optional="false"/>
+
+
+	<recv request="BYE" optional="false"/>
+
+	<send>
+		<![CDATA[
+
+		SIP/2.0 200 OK
+		[last_Via:]
+		[last_From:]
+		[last_To:];tag=[call_number]
+		[last_Call-ID:]
+		[last_CSeq:]
+		Contact: sip:[field0 line="[$line]"]@[local_ip]:[local_port]
+		Content-Length: 0
+
+		]]>
+	</send>
+
+
+</scenario>
+

Propchange: asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-202-notify-provisional.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-202-notify-provisional.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-202-notify-provisional.xml
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-202-notify.xml
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-202-notify.xml?view=auto&rev=751
==============================================================================
--- asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-202-notify.xml (added)
+++ asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-202-notify.xml Wed Aug 18 08:32:14 2010
@@ -1,0 +1,107 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+
+<scenario name="wait for a call followed by a refer">
+
+	<Global variables="file,user"/>
+	<nop>
+		<action>
+			<lookup assign_to="line" file="[$file]" key="[$user]"/>
+		</action>
+	</nop>
+	<Reference variables="file,user"/>
+
+	<recv request="INVITE" crlf="true"/>
+
+	<send>
+		<![CDATA[
+
+		SIP/2.0 180 Ringing
+		[last_Via:]
+		[last_From:]
+		[last_To:];tag=[call_number]
+		[last_Call-ID:]
+		[last_CSeq:]
+		Contact: sip:[field0 line="[$line]"]@[local_ip]:[local_port]
+		Content-Length: 0
+
+		]]>
+	</send>
+
+	<send>
+		<![CDATA[
+
+		SIP/2.0 200 OK
+		[last_Via:]
+		[last_From:]
+		[last_To:];tag=[call_number]
+		[last_Call-ID:]
+		[last_CSeq:]
+		Contact: sip:[field0 line="[$line]"]@[local_ip]:[local_port]
+		Content-Length: 0
+
+		]]>
+	</send>
+	
+	<recv request="ACK" optional="false"/>
+
+	<recv request="REFER" optional="false"/>
+	
+	<send>
+		<![CDATA[
+
+		SIP/2.0 202 Accepted
+		[last_Via:]
+		[last_From:]
+		[last_To:];tag=[call_number]
+		[last_Call-ID:]
+		[last_CSeq:]
+		Contact: sip:[field0 line="[$line]"]@[local_ip]:[local_port]
+		Content-Length: 0
+
+		]]>
+	</send>
+
+	<send>
+		<![CDATA[
+		
+		NOTIFY sip:[field0 line="[$line]"]@[remote_ip]:[remote_port] SIP/2.0
+		Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
+		[last_From:]
+		[last_To:];tag=[call_number]
+		[last_Call-ID:]
+		CSeq: 1 NOTIFY
+		Contact: sip:[field0 line="[$line]"]@[local_ip]:[local_port]
+		Max-Forwards: 70
+		Subscription-state: terminated;reason=noresource
+		Content-Type: message/sipfrag;version=2.0
+		Content-Length: [len]
+		Event: refer;id=103
+
+		SIP/2.0 [field1 line="[$line]"]
+
+		]]>
+	</send>
+	
+	<recv response="200" optional="false"/>
+
+
+	<recv request="BYE" optional="false"/>
+
+	<send>
+		<![CDATA[
+
+		SIP/2.0 200 OK
+		[last_Via:]
+		[last_From:]
+		[last_To:];tag=[call_number]
+		[last_Call-ID:]
+		[last_CSeq:]
+		Contact: sip:[field0 line="[$line]"]@[local_ip]:[local_port]
+		Content-Length: 0
+
+		]]>
+	</send>
+
+
+</scenario>
+

Propchange: asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-202-notify.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-202-notify.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-202-notify.xml
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-400.xml
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-400.xml?view=auto&rev=751
==============================================================================
--- asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-400.xml (added)
+++ asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-400.xml Wed Aug 18 08:32:14 2010
@@ -1,0 +1,83 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+
+<scenario name="wait for a call followed by a refer">
+
+	<Global variables="file,user"/>
+	<nop>
+		<action>
+			<lookup assign_to="line" file="[$file]" key="[$user]"/>
+		</action>
+	</nop>
+	<Reference variables="file,user"/>
+
+	<recv request="INVITE" crlf="true"/>
+
+	<send>
+		<![CDATA[
+
+		SIP/2.0 180 Ringing
+		[last_Via:]
+		[last_From:]
+		[last_To:];tag=[call_number]
+		[last_Call-ID:]
+		[last_CSeq:]
+		Contact: sip:[field0 line="[$line]"]@[local_ip]:[local_port]
+		Content-Length: 0
+
+		]]>
+	</send>
+
+	<send>
+		<![CDATA[
+
+		SIP/2.0 200 Ok
+		[last_Via:]
+		[last_From:]
+		[last_To:];tag=[call_number]
+		[last_Call-ID:]
+		[last_CSeq:]
+		Contact: sip:[field0 line="[$line]"]@[local_ip]:[local_port]
+		Content-Length: 0
+
+		]]>
+	</send>
+	
+	<recv request="ACK" optional="false"/>
+
+	<recv request="REFER" optional="false"/>
+	
+	<send>
+		<![CDATA[
+
+		SIP/2.0 400 Bad Request
+		[last_Via:]
+		[last_From:]
+		[last_To:];tag=[call_number]
+		[last_Call-ID:]
+		[last_CSeq:]
+		Contact: sip:[field0 line="[$line]"]@[local_ip]:[local_port]
+		Content-Length: 0
+
+		]]>
+	</send>
+
+	<recv request="BYE" optional="false"/>
+
+	<send>
+		<![CDATA[
+
+		SIP/2.0 200 OK
+		[last_Via:]
+		[last_From:]
+		[last_To:];tag=[call_number]
+		[last_Call-ID:]
+		[last_CSeq:]
+		Contact: sip:[field0 line="[$line]"]@[local_ip]:[local_port]
+		Content-Length: 0
+
+		]]>
+	</send>
+
+
+</scenario>
+

Propchange: asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-400.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-400.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-400.xml
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-500.xml
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-500.xml?view=auto&rev=751
==============================================================================
--- asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-500.xml (added)
+++ asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-500.xml Wed Aug 18 08:32:14 2010
@@ -1,0 +1,83 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+
+<scenario name="wait for a call followed by a refer">
+
+	<Global variables="file,user"/>
+	<nop>
+		<action>
+			<lookup assign_to="line" file="[$file]" key="[$user]"/>
+		</action>
+	</nop>
+	<Reference variables="file,user"/>
+
+	<recv request="INVITE" crlf="true"/>
+
+	<send>
+		<![CDATA[
+
+		SIP/2.0 180 Ringing
+		[last_Via:]
+		[last_From:]
+		[last_To:];tag=[call_number]
+		[last_Call-ID:]
+		[last_CSeq:]
+		Contact: sip:[field0 line="[$line]"]@[local_ip]:[local_port]
+		Content-Length: 0
+
+		]]>
+	</send>
+
+	<send>
+		<![CDATA[
+
+		SIP/2.0 200 Ok
+		[last_Via:]
+		[last_From:]
+		[last_To:];tag=[call_number]
+		[last_Call-ID:]
+		[last_CSeq:]
+		Contact: sip:[field0 line="[$line]"]@[local_ip]:[local_port]
+		Content-Length: 0
+
+		]]>
+	</send>
+	
+	<recv request="ACK" optional="false"/>
+
+	<recv request="REFER" optional="false"/>
+	
+	<send>
+		<![CDATA[
+
+		SIP/2.0 500 Server Error
+		[last_Via:]
+		[last_From:]
+		[last_To:];tag=[call_number]
+		[last_Call-ID:]
+		[last_CSeq:]
+		Contact: sip:[field0 line="[$line]"]@[local_ip]:[local_port]
+		Content-Length: 0
+
+		]]>
+	</send>
+
+	<recv request="BYE" optional="false"/>
+
+	<send>
+		<![CDATA[
+
+		SIP/2.0 200 OK
+		[last_Via:]
+		[last_From:]
+		[last_To:];tag=[call_number]
+		[last_Call-ID:]
+		[last_CSeq:]
+		Contact: sip:[field0 line="[$line]"]@[local_ip]:[local_port]
+		Content-Length: 0
+
+		]]>
+	</send>
+
+
+</scenario>
+

Propchange: asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-500.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-500.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-500.xml
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-603.xml
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-603.xml?view=auto&rev=751
==============================================================================
--- asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-603.xml (added)
+++ asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-603.xml Wed Aug 18 08:32:14 2010
@@ -1,0 +1,83 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+
+<scenario name="wait for a call followed by a refer">
+
+	<Global variables="file,user"/>
+	<nop>
+		<action>
+			<lookup assign_to="line" file="[$file]" key="[$user]"/>
+		</action>
+	</nop>
+	<Reference variables="file,user"/>
+
+	<recv request="INVITE" crlf="true"/>
+
+	<send>
+		<![CDATA[
+
+		SIP/2.0 180 Ringing
+		[last_Via:]
+		[last_From:]
+		[last_To:];tag=[call_number]
+		[last_Call-ID:]
+		[last_CSeq:]
+		Contact: sip:[field0 line="[$line]"]@[local_ip]:[local_port]
+		Content-Length: 0
+
+		]]>
+	</send>
+
+	<send>
+		<![CDATA[
+
+		SIP/2.0 200 Ok
+		[last_Via:]
+		[last_From:]
+		[last_To:];tag=[call_number]
+		[last_Call-ID:]
+		[last_CSeq:]
+		Contact: sip:[field0 line="[$line]"]@[local_ip]:[local_port]
+		Content-Length: 0
+
+		]]>
+	</send>
+	
+	<recv request="ACK" optional="false"/>
+
+	<recv request="REFER" optional="false"/>
+	
+	<send>
+		<![CDATA[
+
+		SIP/2.0 603 Declined
+		[last_Via:]
+		[last_From:]
+		[last_To:];tag=[call_number]
+		[last_Call-ID:]
+		[last_CSeq:]
+		Contact: sip:[field0 line="[$line]"]@[local_ip]:[local_port]
+		Content-Length: 0
+
+		]]>
+	</send>
+
+	<recv request="BYE" optional="false"/>
+
+	<send>
+		<![CDATA[
+
+		SIP/2.0 200 OK
+		[last_Via:]
+		[last_From:]
+		[last_To:];tag=[call_number]
+		[last_Call-ID:]
+		[last_CSeq:]
+		Contact: sip:[field0 line="[$line]"]@[local_ip]:[local_port]
+		Content-Length: 0
+
+		]]>
+	</send>
+
+
+</scenario>
+

Propchange: asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-603.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-603.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: asterisk/trunk/tests/sip/handle_response_refer/sipp/wait-refer-603.xml
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: asterisk/trunk/tests/sip/handle_response_refer/test.lua
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/sip/handle_response_refer/test.lua?view=auto&rev=751
==============================================================================
--- asterisk/trunk/tests/sip/handle_response_refer/test.lua (added)
+++ asterisk/trunk/tests/sip/handle_response_refer/test.lua Wed Aug 18 08:32:14 2010
@@ -1,0 +1,140 @@
+require "watcher"
+
+function sipp_exec(scenario, name, host, port)
+	host = host or "127.0.0.1" 
+	port = port or "5060"
+	local inf = "data.csv"
+	local p = proc.exec_io("sipp",
+	"127.0.0.1",
+	"-m", "1",
+	"-sf", scenario,
+	"-inf", "sipp/" .. inf,
+	"-infindex", inf, "0",
+	"-i", host,
+	"-p", port,
+	"-timeout", "30",
+	"-timeout_error",
+	"-set", "user", name,
+	"-set", "file", inf
+	)
+
+	posix.sleep(1)
+	return p
+end
+
+function sipp_exec_and_wait(scenario, name, host, port)
+	return sipp_check_error(sipp_exec(scenario, name, host, port), scenario)
+end
+
+function sipp_check_error(p, scenario)
+	local res, err = p:wait()	
+
+	if not res then error(err) end
+	if res ~= 0 then 
+		error("error while executing " .. scenario .. " sipp scenario (sipp exited with status " .. res .. ")\n" .. p.stderr:read("*a"))
+	end
+	
+	return res, err
+end
+
+function mcheck(msg, res, err)
+	check(msg, res, err)
+	if res["Response"] ~= "Success" then
+		error(msg .. " (got '" .. tostring(res["Response"]) .. "' expected 'Success'): " .. tostring(res["Message"]))
+	end
+	return res, err
+end
+
+function wait_for_event(m, result)
+	local e = watcher.event.new("UserEvent")
+	e["UserEvent"] = "TransferComplete"
+	e["TRANSFERSTATUS"] = function(value)
+		if result ~= value then
+			print("Got '" .. value .. "' for TRANSFERSTATUS, expected '" .. result .. "'")
+			return false
+		end
+		return true
+	end
+	local etree = watcher.etree:new(e)
+
+	local res, err = check("error waiting for UserEvent", watcher.watch(m, etree, 10000))
+end
+
+function do_call(scenario, key, result)
+	local action = ast.manager.action
+
+	local a = ast.new()
+	a:load_config("configs/sip.conf")
+	a:load_config("configs/extensions.conf")
+	a:generate_manager_conf()
+	a:spawn()
+
+	local m = a:manager_connect()
+	mcheck("error logging into manager", m(action.login()))
+
+	local t1 = sipp_exec(scenario, key, "127.0.0.2")
+
+	local o = action.new("Originate")
+	o["Channel"] = "sip/test1 at 127.0.0.2"
+	o["Context"] = "transfer"
+	o["Exten"] = "s"
+	o["Priority"] = 1
+
+	mcheck("error originating call", m(o))
+	wait_for_event(m, result)
+	sipp_check_error(t1, scenario)
+
+	proc.perror(a:term_or_kill())
+end
+
+tests = {
+	-- {description,
+	-- 	scenario,
+	-- 	resp key, TRANSFERSTATUS}
+
+	{"Testing response 202",
+		"sipp/wait-refer-202-notify.xml",
+		"202", "SUCCESS"},
+
+	{"Testing response 202 with a provisional response",
+		"sipp/wait-refer-202-notify-provisional.xml",
+		"202", "SUCCESS"},
+
+	{"Testing response 200",
+		"sipp/wait-refer-200-notify.xml",
+		"200", "FAILURE"},
+
+	{"Testing response 202 followed by a 603 notify",
+		"sipp/wait-refer-202-notify.xml",
+		"202-603", "FAILURE"},
+
+	{"Testing response 202 followed by a 603 notify with a provisional resposne",
+		"sipp/wait-refer-202-notify-provisional.xml",
+		"202-603", "FAILURE"},
+
+	{"Testing response 202 followed by a 500 notify",
+		"sipp/wait-refer-202-notify.xml",
+		"202-500", "FAILURE"},
+
+	{"Testing response 400",
+		"sipp/wait-refer-400.xml",
+		"400", "FAILURE"},
+
+	{"Testing response 500",
+		"sipp/wait-refer-500.xml",
+		"500", "FAILURE"},
+
+	{"Testing response 603",
+		"sipp/wait-refer-603.xml",
+		"603", "FAILURE"},
+	
+	{"Testing response 202 with buggy notify",
+		"sipp/wait-refer-202-error.xml",
+		"202-err", "FAILURE"},
+}
+
+for _, t in ipairs(tests) do
+	print(t[1])
+	do_call(t[2], t[3], t[4])
+end
+

Propchange: asterisk/trunk/tests/sip/handle_response_refer/test.lua
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: asterisk/trunk/tests/sip/handle_response_refer/test.lua
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: asterisk/trunk/tests/sip/handle_response_refer/test.lua
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: asterisk/trunk/tests/tests.yaml
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/tests.yaml?view=diff&rev=751&r1=750&r2=751
==============================================================================
--- asterisk/trunk/tests/tests.yaml (original)
+++ asterisk/trunk/tests/tests.yaml Wed Aug 18 08:32:14 2010
@@ -27,6 +27,7 @@
     - test: 'sip_one_legged_transfer'
     - test: 'sip_one_legged_transfer_v6'
     - test: 'sip_register'
+    - test: 'sip/handle_resposne_refer'
     - test: 'udptl'
     - test: 'udptl_v6'
     - test: 'feature_blonde_transfer'




More information about the asterisk-commits mailing list