[asterisk-commits] mnicholson: testsuite/asterisk/trunk r836 - in /asterisk/trunk/tests: ./ fax/...
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Tue Nov 16 11:36:03 CST 2010
Author: mnicholson
Date: Tue Nov 16 11:35:59 2010
New Revision: 836
URL: http://svnview.digium.com/svn/testsuite?view=rev&rev=836
Log:
Added a test for ast_channel_queryoption on local channels bridged to sip channels that support t.38.
Added:
asterisk/trunk/tests/fax/
asterisk/trunk/tests/fax/local_channel_t38_queryoption/
asterisk/trunk/tests/fax/local_channel_t38_queryoption/run-test (with props)
asterisk/trunk/tests/fax/local_channel_t38_queryoption/send.tiff (with props)
asterisk/trunk/tests/fax/local_channel_t38_queryoption/test-config.yaml (with props)
asterisk/trunk/tests/fax/local_channel_t38_queryoption/test.lua (with props)
Modified:
asterisk/trunk/tests/tests.yaml
Added: asterisk/trunk/tests/fax/local_channel_t38_queryoption/run-test
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/fax/local_channel_t38_queryoption/run-test?view=auto&rev=836
==============================================================================
--- asterisk/trunk/tests/fax/local_channel_t38_queryoption/run-test (added)
+++ asterisk/trunk/tests/fax/local_channel_t38_queryoption/run-test Tue Nov 16 11:35:59 2010
@@ -1,0 +1,3 @@
+#!/bin/bash -e
+. lib/sh/lua.sh
+asttest -a / -s `dirname $0` $@
Propchange: asterisk/trunk/tests/fax/local_channel_t38_queryoption/run-test
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: asterisk/trunk/tests/fax/local_channel_t38_queryoption/run-test
------------------------------------------------------------------------------
svn:executable = *
Propchange: asterisk/trunk/tests/fax/local_channel_t38_queryoption/run-test
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: asterisk/trunk/tests/fax/local_channel_t38_queryoption/run-test
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: asterisk/trunk/tests/fax/local_channel_t38_queryoption/send.tiff
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/fax/local_channel_t38_queryoption/send.tiff?view=auto&rev=836
==============================================================================
Binary file - no diff available.
Propchange: asterisk/trunk/tests/fax/local_channel_t38_queryoption/send.tiff
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: asterisk/trunk/tests/fax/local_channel_t38_queryoption/test-config.yaml
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/fax/local_channel_t38_queryoption/test-config.yaml?view=auto&rev=836
==============================================================================
--- asterisk/trunk/tests/fax/local_channel_t38_queryoption/test-config.yaml (added)
+++ asterisk/trunk/tests/fax/local_channel_t38_queryoption/test-config.yaml Tue Nov 16 11:35:59 2010
@@ -1,0 +1,18 @@
+testinfo:
+ summary: 'Test T.38 ast_channel_queryoption() requests on local_channels.'
+ description: |
+ "This test starts two asterisk instances and sends a fax between them
+ running local channels on both the send and receive side. If the
+ ast_channel_queryoption() call works correctly, then the fax should be
+ completed in T.38 mode. If the queryoption call fails, SendFax and
+ ReceiveFax will attempt to do an audio fax. The audio fax will fail,
+ because the gsm codec is being used for the audio on the call."
+ issues:
+ - jira : 'FAX-187'
+
+properties:
+ minversion: '1.6.2'
+ dependencies:
+ - app : 'bash'
+ - app : 'asttest'
+
Propchange: asterisk/trunk/tests/fax/local_channel_t38_queryoption/test-config.yaml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: asterisk/trunk/tests/fax/local_channel_t38_queryoption/test-config.yaml
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: asterisk/trunk/tests/fax/local_channel_t38_queryoption/test-config.yaml
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: asterisk/trunk/tests/fax/local_channel_t38_queryoption/test.lua
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/fax/local_channel_t38_queryoption/test.lua?view=auto&rev=836
==============================================================================
--- asterisk/trunk/tests/fax/local_channel_t38_queryoption/test.lua (added)
+++ asterisk/trunk/tests/fax/local_channel_t38_queryoption/test.lua Tue Nov 16 11:35:59 2010
@@ -1,0 +1,136 @@
+
+require "watcher"
+
+function check_userevent(e)
+ if e["UserEvent"] == "FaxStatus" then
+ if e["status"] ~= "SUCCESS" then
+ print(("%s failed with status: %s\nerror: %s (%s)"):format(e["application"], e["status"], e["error"], e["statusstr"]))
+ fax_error = true
+ end
+
+ return true
+ end
+
+ return false
+end
+
+function a(host1, host2)
+ local a = ast.new()
+ a:generate_asterisk_conf()
+ a:generate_manager_conf()
+ a["asterisk.conf"]["options"]["verbose"] = 10
+ a["asterisk.conf"]["options"]["debug"] = 10
+ a["asterisk.conf"]["options"]["internal_timing"] = "yes"
+
+ -- sip.conf
+ local c = a:new_config("sip.conf")
+ local s = c:new_section("general")
+ s["bindaddr"] = host1
+ s["t38pt_udptl"] = "yes,none"
+ s["disallow"] = "all"
+ s["allow"] = "gsm"
+
+ s = c:new_section("fax")
+ s["type"] = "peer"
+ s["context"] = "local-receivefax"
+ s["host"] = host2
+ s["t38pt_udptl"] = "yes,none"
+ s["disallow"] = "all"
+ s["allow"] = "gsm"
+ s["insecure"] = "invite"
+ s["qualify"] = "no"
+
+ -- extensions.conf
+ c = a:new_config("extensions.conf")
+ s = c:new_section("receivefax")
+ s["exten"] = "1234,1,noop"
+ s["exten"] = "1234,n,ReceiveFax(receive.tiff)"
+
+ s["exten"] = "h,1,noop"
+ s["exten"] = "h,n,UserEvent(FaxStatus,application: ReceiveFax,status: ${FAXOPT(status)},statusstr: ${FAXOPT(statusstr)},error: ${FAXOPT(error)})"
+
+ s = c:new_section("local-receivefax")
+ s["exten"] = "1234,1,noop"
+ s["exten"] = "1234,n,Dial(local/1234 at receivefax)"
+
+ s = c:new_section("sendfax")
+ s["exten"] = "1234,1,noop"
+ s["exten"] = "1234,n,SendFax(send.tiff)"
+
+ s["exten"] = "h,1,noop"
+ s["exten"] = "h,n,UserEvent(FaxStatus,application: SendFax,status: ${FAXOPT(status)},statusstr: ${FAXOPT(statusstr)},error: ${FAXOPT(error)})"
+
+ s = c:new_section("local-sendfax")
+ s["exten"] = "1234,1,noop"
+ s["exten"] = "1234,n,Dial(local/1234 at sendfax)"
+
+ -- modules.conf
+ c = a:new_config("modules.conf")
+ s = c:new_section("modules")
+ s["autoload"] = "no"
+ s["load"] = "pbx_config.so"
+
+ s["load"] = "res_features.so"
+
+ s["load"] = "res_timing_dahdi.so"
+ s["load"] = "res_timing_timerfd.so"
+ s["load"] = "res_timing_pthread.so"
+
+ s["load"] = "codec_ulaw.so"
+ s["load"] = "codec_gsm.so"
+
+ s["load"] = "app_dial.so"
+ s["load"] = "func_callerid.so"
+ s["load"] = "res_rtp_asterisk.so"
+ s["load"] = "chan_sip.so"
+ s["load"] = "chan_local.so"
+
+ s["load"] = "app_userevent.so"
+ s["load"] = "res_fax.so"
+ s["load"] = "res_fax_spandsp.so"
+
+ return a
+end
+
+action = ast.manager.action
+
+a1 = a("127.0.0.1", "127.0.0.2")
+a2 = a("127.0.0.2", "127.0.0.1")
+
+a1:spawn()
+a2:spawn()
+
+a1:cli("fax set debug on")
+a1:cli("sip debug")
+
+a2:cli("fax set debug on")
+a2:cli("sip debug")
+
+
+m = check("error connecting to asterisk", a1:manager_connect())
+
+r = check("error authenticating", m(action.login()))
+if r["Response"] ~= "Success" then
+ error("error authenticating: " .. r["Message"])
+end
+
+a = action:new("originate")
+a["Channel"] = "sip/1234 at fax"
+a["Context"] = "local-sendfax"
+a["Exten"] = "1234"
+a["Priority"] = "1"
+
+r = check("error sending fax call", m(a))
+if r["Response"] ~= "Success" then
+ error("error sending fax call: " .. r["Message"])
+end
+
+-- wait for the FaxStatus UserEvent for 90 seconds
+res, err = watcher.watch(m, watcher.etree:new(check_userevent), 90000)
+if not res then
+ fail("error while waiting for FaxStatus UserEvent: " .. err)
+end
+
+-- the fax_error variable is set in the check_userevent() function
+fail_if(fax_error, "error faxing via a local channel")
+
Propchange: asterisk/trunk/tests/fax/local_channel_t38_queryoption/test.lua
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: asterisk/trunk/tests/fax/local_channel_t38_queryoption/test.lua
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: asterisk/trunk/tests/fax/local_channel_t38_queryoption/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=836&r1=835&r2=836
==============================================================================
--- asterisk/trunk/tests/tests.yaml (original)
+++ asterisk/trunk/tests/tests.yaml Tue Nov 16 11:35:59 2010
@@ -69,4 +69,5 @@
- test: 'fastagi/say-phonetic'
- test: 'pbx/call-files'
- test: 'pbx/call-files2'
+ - test: 'fax/local_channel_t38_queryoption'
More information about the asterisk-commits
mailing list