From derek@sofaswitch.org Mon Nov 13 23:13:47 2006 From: SofaSWITCH SVN To: sofaswitch-svn@lists.freeswitch.org Subject: [Sofaswitch-svn] [commit] r196 - in sofaswitch/trunk/callflow: docs/current tests Date: Mon, 13 Nov 2006 23:13:47 -0500 Message-ID: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============3954757162617823848==" --===============3954757162617823848== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Author: derek Date: Mon Nov 13 23:13:47 2006 New Revision: 196 Modified: sofaswitch/trunk/callflow/docs/current/eachicon.dxy sofaswitch/trunk/callflow/tests/amplaywavfile.src Log: Work on documenting. Tidy up play wave file graph, because the death icon may not get called. Modified: sofaswitch/trunk/callflow/docs/current/eachicon.dxy =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- sofaswitch/trunk/callflow/docs/current/eachicon.dxy (original) +++ sofaswitch/trunk/callflow/docs/current/eachicon.dxy Mon Nov 13 23:13:47 2= 006 @@ -141,7 +141,23 @@ button. To illustrate, after a DTMF event, the Python variable will hold the particular DTMF value that was detected. =20 +\subsection subsecEndEverything End Everything +The toolbar icon and a rendering of a drawing area shape for the "End Everyt= hing" +item is shown below. +
+
+\image html bitmaps/death.png + +           + +\image html current/Death.png +
=20 +This icon initiates immediate closure of this Python instance. The connection +to the remote server is severed immediately. All pending TCP messages that we +were to have sent out are dropped. All pending timer events are +ignored. Further, processing will not ever return to any part of this graph. + \subsection subsecEndProcessing End Graph Processing The toolbar icon and a rendering of a drawing area shape for the "End Graph = Processing" item is shown below. @@ -157,5 +173,19 @@ This icon is provided as a means for temporarily holding up graph processing, while we wait for external events. If processing does fall into here, extern= al events will move graph processing to an Event Collection item as required. +Note that if graph processing was such that some events were never registered +for, then execution will be permanently stuck in this item. + +Consider the following graph. +\image html faultyendprocessing.png "Permanent stuckly in End Graph Processi= ng" + +Execution starts at the top, moves to the Event Collection item where it +registers for some event, and then moves to the End Graph Processing +item. Since there is no means of generating events which can be sent to this +call graph, execution will never move to the Event Collection +item. Consequently, this graph will run until it is terminated by user +intervention. + + =20 */ \ No newline at end of file Modified: sofaswitch/trunk/callflow/tests/amplaywavfile.src =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- sofaswitch/trunk/callflow/tests/amplaywavfile.src (original) +++ sofaswitch/trunk/callflow/tests/amplaywavfile.src Mon Nov 13 23:13:47 2006 @@ -1,3 +1,3 @@ -12990549 extra Tool TipInitiate a timer, which causes= this to -end.Timer period (seconds)0.1Timer label (stri= ng literal)hanguptime 14251461 extra Tool TipEventerEvent sought (Python code)Event sought (Regular Exp)DTMFPython variable to hold ev= ent dataself.dtmfData 16505364 extra Tool TipPlay Rogers voiceFilename to read audio from (= Python code)"../prompts/sample_message.wav"answering machine= nodeself.amNode 16516561 extra Tool Tipinitial wav fileFilename to read audio from (Python= code)"../prompts/instructions.wav"answering machine nodeself.amNode 2769426 extra Tool Tip= End Processing 9559339559,339,604,342Tool TipJoin blocks shape 1119167 ex= tra Tool TipRequest Node from AM moduleRequest nod= e from (Python code)"am"Timer period (seconds)1Timer labelrequestamAdditional information (Python code)= 5660332 extra Tool Tipplay= entering soundTest (Python code)self.dtmfData=3D=3D"2"<= special> 5241359 extra Tool TipConditionalTest (Python code)(self.amNode !=3D None) and (self.soundNode = !=3D None) 10507259 extra Tool Tip<= ms>PythonPython Codeprint "dtmf received of ", self.dtmfDa= ta 20529662 extra Tool TipDeath= 13190210 extra Tool TipStop Ti= merTimer to stoprequest voip 7989<= B>497 extra Tool TipEnd CallWorker node to acti= vate (python code)self.amNode 91039386103= 9,386,1082,387Tool TipJoin blocks shape 5= 507312 extra Tool TipTest Roger voiceTest= (Python code)self.dtmfData=3D=3D"1" 9266329= 308,329,266,359Tool TipJoin blocks shape 13284231 extra Tool TipStop TimerTimer= to stoprequest sound 9712318712,358,755,= 361,750,320,793,318,798,333Tool TipJoin blocks shape 9291382291,386,334,382,332,395Tool TipJoin = blocks shape 5581341 extra Tool Tip= Repeat instructionsTest (Python code)self.dtmfData=3D=3D= "4" 10990405 extra Tool TipPyth= onPython Codeprint "hangup, as dtmf 9 has been received"= 9632318632,366,638,319,685,318,685,330T= ool TipJoin blocks shape 14202162 extra = Tool TipEventerEvent sought (Python code)Event sought (Regular Exp)amREQPython variable to hol= d event dataself.amNode 9214304214,304,26= 2,356Tool TipJoin blocks shape 15240412 extra Tool TipTransfer MediaFirst SofaSwit= ch worker (python)self.amNodeSecond SofaSwitch worker (pytho= n)self.soundNode 2659427 extra = Tool TipEnd Processing 15989451 extra Tool TipTransfer MediaFirst SofaSwitch worker (python= )"sound"Second SofaSwitch worker (python)"sound" 14295185 extra Tool TipEventerEvent sought (Python code)Event sought (Regular Exp)soundREQUPython variable to hold event dataself.soundNode 9302485302,485,544,492,542,506Tool Ti= pJoin blocks shape 9821356821,357,977,357= ,1018,356Tool TipJoin blocks shape 577= 0331 extra Tool Tipplay leaving soundTest (P= ython code)self.dtmfData=3D=3D"3" 14529614 extra Tool TipCatch the timer which, when fired, -indicates the end of this callEvent sought (Python code)Event sought (Regular Exp)hanguptimePython variabl= e to hold event dataself.hanguptime 9248182<= B>248,183,308,182Tool TipJoin blocks shape 17516509 extra Tool TipWrite To FileFil= ename to contain new audio (Python code)"recorded_audio.wav"= answering machine nodeself.amNode 16659379 extra Tool Tipplay entering soundFilename to rea= d audio from (Python code)"../prompts/entering.wav"answering= machine node (Python code)self.amNode 59913= 58 extra Tool TipConditionalTest (Python code)<= ms>self.dtmfData=3D=3D"9" 10190254 extra Tool TipPythonPython Codeprint "Have a new am nod= e on ", self.amNode 9544394606,394,602,560,54= 4,561Tool TipJoin blocks shape 2505= 398 extra Tool TipEnd Processing 2= 1058385 extra Tool TipEnd Processing 10282279 extra Tool TipPythonPython Co= deprint " have a sound node of ", self.soundNode 2307394 extra Tool TipEnd Processing = 16770378 extra Tool Tipplay leaving soundFilename to read audio from (Python code)"../prompts/leaving.wav"<= ms>answering machine node (Python code)self.amNode = 2991588 extra Tool TipEnd Processing 9264199264,513,264,635,426,639,428,199,532,202,532,2= 62Tool TipJoin blocks shape 119019<= B> extra Tool TipStart Processing 111= 91109 extra Tool TipRequest Node from sound moduleRequest node from (Python code)"sound"Timer period (se= conds)1Timer labelrequestsoundAdditional in= formation (Python code) +5770331 extra Tool Tipplay leaving sound= Test (Python code)self.dtmfData=3D=3D"3" 16516<= B>561 extra Tool Tipinitial wav fileFilename to= read audio from (Python code)"../prompts/instructions.wav"a= nswering machine nodeself.amNode 2659427 = extra Tool TipEnd Processing 11191= 67 extra Tool TipRequest Node from AM moduleReq= uest node from (Python code)"am"Timer period (seconds)1<= ms>Timer labelrequestamAdditional information (Pyth= on code) 5507312 extra Tool Tip= Test Roger voiceTest (Python code)self.dtmfData=3D=3D"1"= 7989497 extra Tool TipEnd Call= Worker node to activate (python code)self.amNode 10990405 extra Tool TipPython= Python Codeprint "hangup, as dtmf 9 has been received" 10282279 extra Tool TipPythonPython = Codeprint " have a sound node of ", self.soundNode 14251461 extra Tool TipEventerEvent so= ught (Python code)Event sought (Regular Exp)DTMFPython variable to hold event dataself.dtmfData 9264199264,513,264,635,426,639,428,199,532,202,532,262To= ol TipJoin blocks shape 14202162 extra <= special>Tool TipEventerEvent sought (Python code)Event sought (Regular Exp)amREQPython variable to hold= event dataself.amNode 5581341 extra Tool TipRepeat instructionsTest (Python code)self.= dtmfData=3D=3D"4" 11191109 extra To= ol TipRequest Node from sound moduleRequest node from (Pytho= n code)"sound"Timer period (seconds)1Timer = labelrequestsoundAdditional information (Python code) 9821356821,357,977,357,1018,356Tool Ti= pJoin blocks shape 2991588 extra Tool TipEnd Processing 9544394606,394,6= 02,560,544,561Tool TipJoin blocks shape 9= 248182248,183,308,182Tool TipJoin blocks shape 13284231 extra Tool TipStop TimerTimer to stoprequest sound 910393861039,386,1082,387Tool TipJoin blocks shape 9712318712,358,755,361,750,320,793,318,798,333Tool TipJoin blocks shape 9266329308,329,266,359Tool TipJoin blocks shape 955933955= 9,339,604,342Tool TipJoin blocks shape 9<= B>302485302,485,544,492,542,506Tool TipJoin blocks shape 9214304214,304,262,356Tool TipJoi= n blocks shape 9291382291,386,334,382,332,395= Tool TipJoin blocks shape 14334209<= B> extra Tool TipCatch the timer which, when fired, +indicates the end of this callEvent sought (Python code)Event sought (Regular Exp)hanguptimePython variabl= e to hold event dataself.hanguptime 16770378= extra Tool Tipplay leaving soundFilename to re= ad audio from (Python code)"../prompts/leaving.wav"answering= machine node (Python code)self.amNode 27694= 26 extra Tool TipEnd Processing 15= 989451 extra Tool TipTransfer MediaFirst Sof= aSwitch worker (python)"sound"Second SofaSwitch worker (pyth= on)"sound" 119019 extra Tool Ti= pStart Processing 13190210 extra Tool TipStop TimerTimer to stoprequest voip 15240412 extra Tool TipTransfer Media= First SofaSwitch worker (python)self.amNodeSecond S= ofaSwitch worker (python)self.soundNode 2307= 394 extra Tool TipEnd Processing 2= 1058385 extra Tool TipEnd Processing 12990549 extra Tool TipInitiate a timer, which caus= es this to +play wave file process to end.Timer period (seconds)0.1= Timer label (string literal)hanguptime 5<= B>660332 extra Tool Tipplay entering soundTe= st (Python code)self.dtmfData=3D=3D"2" 10190= 254 extra Tool TipPythonPython Codeprint "= Have a new am node on ", self.amNode 14295185= extra Tool TipEventerEvent sought (Python code)Event sought (Regular Exp)soundREQUPython var= iable to hold event dataself.soundNode 16505= 364 extra Tool TipPlay Rogers voiceFilename to = read audio from (Python code)"../prompts/sample_message.wav"= answering machine nodeself.amNode 10507259 extra Tool TipPythonPython Codeprint "dtmf = received of ", self.dtmfData 5991358 extra = Tool TipConditionalTest (Python code)self.dtmfD= ata=3D=3D"9" 2505398 extra Tool Tip= End Processing 17516509 extra T= ool TipWrite To FileFilename to contain new audio (Python co= de)"recorded_audio.wav"answering machine nodeself.amNode= 16659379 extra Tool Tipplay en= tering soundFilename to read audio from (Python code)"../pro= mpts/entering.wav"answering machine node (Python code)self.a= mNode 20335252 extra Tool TipDe= ath 9632318632,366,638,319,685,318,685,330Tool TipJoin blocks shape 2517600 e= xtra Tool TipEnd Processing 524135= 9 extra Tool TipConditionalTest (Python code)(self.amNode !=3D None) and (self.soundNode !=3D None) --===============3954757162617823848==--