VUI Settings Annotated Logs

Turn on these macro traces:

PIN changing

I will walk you through example logs demonstrating what happens when the user changes his pin to "7 8 9" through VUI settings.

The "Change my pin" commands comes in at the main menu.

13:18:26.503 |6234,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,CDE,10,CCsStateMachine::Execute : Next state is [/opt/cisco/connection/share/tui/VuiSubMenu_Standard.cde!PlaySubMenu] [Src/CsStateMachine.cpp:190]
13:18:26.503 |6234,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,CDE,10,CCsStateMachine::Execute : Calling OnEntry for state [/opt/cisco/connection/share/tui/VuiSubMenu_Standard.cde!PlaySubMenu] [Src/CsStateMachine.cpp:139]
The recogniser will indicate that it has received the input "change my pin" or some paraphrase.
13:18:31.929 |6363,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,MiuIO,25,Begin Incoming Rtsp Message
13:18:31.929 |6363,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,MiuIO,25,         <-- ANNOUNCE rtsp://10.93.230.146/media/speechrecognizer RTSP/1.0
13:18:31.929 |6363,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,MiuIO,25,             CSeq: 1708
13:18:31.929 |6363,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,MiuIO,25,             Session: ELCPOGBNAAADMOELAAAAAAAA
13:18:31.930 |6363,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,MiuIO,25,             Content-Type: application/mrcp
13:18:31.930 |6363,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,MiuIO,25,             Content-Length: 616
13:18:31.930 |6363,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,MiuIO,25,             RECOGNITION-COMPLETE 1708 COMPLETE MRCP/1.0
13:18:31.930 |6363,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,MiuIO,25,             Waveform-URL: http://localhost/ELCPOGBNAAADMOELAAAAAAAA/20091221131826_588902.wav
13:18:31.930 |6363,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,MiuIO,25,             Content-Type: application/x-nlsml
13:18:31.930 |6363,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,MiuIO,25,             Completion-Cause: 000 success
13:18:31.930 |6363,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,MiuIO,25,             Content-Length: 399
13:18:31.930 |6363,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,MiuIO,25,             <?xml version='1.0'?><result><interpretation grammar="session:VuiSubMenuGrammar" confidence="97"><input mode="speech">change my pin</input><instance><cisco><MEANING confidence="97">ChangePIN</MEANING></cisco><SWI_literal>change my pin</SWI_literal><SWI_grammarName>session:VuiSubMenuGrammar</SWI_grammarName><SWI_meaning>{cisco:{MEANING:ChangePIN}}</SWI_meaning></instance></interpretation></result>

...

13:18:31.931 |6234,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,VUI,5,Phrase='PlaySubMenu', Grammar='VuiSubMenuGrammar', Event='SpeechMatch', Meaning='ChangePIN', Input='change my pin', Confidence='97', WaveformFile='http://localhost/ELCPOGBNAAADMOELAAAAAAAA/20091221131826_588902.wav', Session='ELCPOGBNAAADMOELAAAAAAAA' (Src/CsPhrase.cpp:883)
This will trigger a ChangePIN event which will move us into the VuiSubSettings Conversation.
13:18:31.932 |6234,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,CDE,10,CCsStateMachine::Execute : Event is [ChangePIN] [Src/CsStateMachine.cpp:168]
13:18:31.932 |6234,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,CDE,10,CCsStateMachine::Execute : Next state is [/opt/cisco/connection/share/tui/VuiSubMenu_Standard.cde!RunVuiSubSettings] [Src/CsStateMachine.cpp:190]
13:18:31.932 |6234,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,CDE,16, : CCsSPlayPhrase::OnExit : Prompt : speed [100] volume [50] [Src/CsSPlayPhrase.cpp:951]
13:18:31.932 |6234,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,CDE,10,CCsStateMachine::Execute : Calling OnEntry for state [/opt/cisco/connection/share/tui/VuiSubMenu_Standard.cde!RunVuiSubSettings] [Src/CsStateMachine.cpp:139]
13:18:31.946 |6234,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,CDE,16,VuiSubSettings : CCsCDEConvBase::Run : Entering conversation [VuiSubSettings] [Src/CsCDEConvBase.cpp:123]
VuiSubSettings Start will also dispatch based on the ChangePIN event and move us into the VuiSubSettingsPIN conversation.
13:18:31.947 |6234,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,CDE,10,CCsStateMachine::Execute : Starting state machine with root state [/opt/cisco/connection/share/tui/VuiSubSettings.cde!Start] [Src/CsStateMachine.cpp:127]
13:18:31.947 |6234,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,CDE,10,CCsStateMachine::Execute : Calling OnEntry for state [/opt/cisco/connection/share/tui/VuiSubSettings.cde!Start] [Src/CsStateMachine.cpp:139]
13:18:31.947 |6234,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,CDE,11,JS_EXT::GetPropBool: ICsNamedProps::GetPropBool() found property bNewMailUser = false.  GetPropBool() returned 0x00000000 S_OK [Include/JsExtensions.h:148]
13:18:31.947 |6234,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,CDE,11,JS_EXT::GetPropString: ICsNamedProps::GetPropString() found property Speech_Meaning_1 = ChangePIN.  GetPropString() returned 0x00000000 S_OK [Include/JsExtensions.h:217]
13:18:31.947 |6234,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,CDE,10,CCsStateMachine::Execute : OnEntry for state [/opt/cisco/connection/share/tui/VuiSubSettings.cde!Start] returned 0x00000000 S_OK [Src/CsStateMachine.cpp:143]
13:18:31.947 |6234,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,CDE,10,CCsStateMachine::Execute : Event is [ChangePIN] [Src/CsStateMachine.cpp:168]
13:18:31.948 |6234,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,CDE,10,CCsStateMachine::Execute : Next state is [/opt/cisco/connection/share/tui/VuiSubSettings.cde!RunVuiSubSettingsPIN] [Src/CsStateMachine.cpp:190]
13:18:31.948 |6234,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,CDE,10,CCsStateMachine::Execute : Calling OnEntry for state [/opt/cisco/connection/share/tui/VuiSubSettings.cde!RunVuiSubSettingsPIN] [Src/CsStateMachine.cpp:139]
13:18:31.948 |6234,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,CDE,16,VuiSubSettingsPIN : CCsCDEConvBase::Run : Entering conversation [VuiSubSettingsPIN] [Src/CsCDEConvBase.cpp:123]
We then execute the start state, which immediately transitions to the CheckForChangeRestriction state.
13:18:31.989 |6234,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,CDE,10,CCsStateMachine::Execute : OnEntry for state [/opt/cisco/connection/share/tui/VuiSubSettingsPIN.cde!Start] returned 0x00000000 S_OK [Src/CsStateMachine.cpp:143]
13:18:31.989 |6234,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,CDE,10,CCsStateMachine::Execute : Event is [NULL] [Src/CsStateMachine.cpp:168]
13:18:31.989 |6234,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,CDE,10,CCsStateMachine::Execute : Next state is [/opt/cisco/connection/share/tui/VuiSubSettingsPIN.cde!CheckForChangeRestriction] [Src/CsStateMachine.cpp:190]
13:18:31.989 |6234,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,CDE,10,CCsStateMachine::Execute : Calling OnEntry for state [/opt/cisco/connection/share/tui/VuiSubSettingsPIN.cde!CheckForChangeRestriction] [Src/CsStateMachine.cpp:139]
As long as the user is allowed to change his PIN, we will push a TrueEvent, at which point we transition to the CheckEnrollment state.
13:18:31.989 |6234,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,CDE,10,CCsStateMachine::Execute : OnEntry for state [/opt/cisco/connection/share/tui/VuiSubSettingsPIN.cde!CheckForChangeRestriction] returned 0x00000000 S_OK [Src/CsStateMachine.cpp:143]
13:18:31.989 |6234,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,CDE,10,CCsStateMachine::Execute : Event is [TrueEvent] [Src/CsStateMachine.cpp:168]
13:18:31.989 |6234,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,CDE,10,CCsStateMachine::Execute : Next state is [/opt/cisco/connection/share/tui/VuiSubSettingsPIN.cde!CheckEnrollment] [Src/CsStateMachine.cpp:190]
CheckEnrollment checks to see if we are going through the first time enrolment procedure, and if so, skips the introductory prompt, which is played during the PlayPINInformation state. Since in this example log, we are not going through first time enrolment, we will play the introductory prompt during PlayPINInformation.
13:18:31.990 |6234,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,CDE,11,JS_EXT::GetPropBool: ICsNamedProps::GetPropBool() found property bNewMailUser = false.  GetPropBool() returned 0x00000000 S_OK [Include/JsExtensions.h:148]
13:18:31.990 |6234,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,CDE,10,CCsStateMachine::Execute : OnEntry for state [/opt/cisco/connection/share/tui/VuiSubSettingsPIN.cde!CheckEnrollment] returned 0x00000000 S_OK [Src/CsStateMachine.cpp:143]
13:18:31.990 |6234,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,CDE,10,CCsStateMachine::Execute : Event is [NULL] [Src/CsStateMachine.cpp:168]
13:18:31.990 |6234,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,CDE,10,CCsStateMachine::Execute : Next state is [/opt/cisco/connection/share/tui/VuiSubSettingsPIN.cde!PlayPINInformation] [Src/CsStateMachine.cpp:190]
After exiting PlayPINInformation we transition to GetPIN.
13:18:36.115 |6234,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,CDE,10,CCsStateMachine::Execute : Event is [TimeoutEvent] [Src/CsStateMachine.cpp:168]
13:18:36.115 |6234,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,CDE,10,CCsStateMachine::Execute : Next state is [/opt/cisco/connection/share/tui/VuiSubSettingsPIN.cde!GetPIN] [Src/CsStateMachine.cpp:190]
Which does some set up work, but does not collect the pin itself. PlaySayPin prompts the user for the pin and collects it.
13:18:36.115 |6234,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,CDE,10,CCsStateMachine::Execute : Event is [NULL] [Src/CsStateMachine.cpp:168]
13:18:36.115 |6234,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,CDE,10,CCsStateMachine::Execute : Next state is [/opt/cisco/connection/share/tui/VuiSubSettingsPIN.cde!PlaySayPIN] [Src/CsStateMachine.cpp:190]
13:18:36.116 |6234,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,CDE,10,CCsStateMachine::Execute : Calling OnEntry for state [/opt/cisco/connection/share/tui/VuiSubSettingsPIN.cde!PlaySayPIN] [Src/CsStateMachine.cpp:139]
A bit later the recogniser will come back with the digits that were collected, assuming they were input via voice. You can see them in the SWI_literal below. Note that the user can also at this juncture enter specify his PIN with DTMF instead of voice; however, this sample log shows voice input. In the DTMF case, we would not receive the digits from the recogniser as below.
13:18:44.036 |6363,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,MiuIO,25,Begin Incoming Rtsp Message
13:18:44.036 |6363,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,MiuIO,25,         <-- ANNOUNCE rtsp://10.93.230.146/media/speechrecognizer RTSP/1.0
13:18:44.036 |6363,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,MiuIO,25,             CSeq: 1719
13:18:44.036 |6363,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,MiuIO,25,             Session: ELCPOGBNAAADMOELAAAAAAAA
13:18:44.036 |6363,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,MiuIO,25,             Content-Type: application/mrcp
13:18:44.036 |6363,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,MiuIO,25,             Content-Length: 618
13:18:44.036 |6363,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,MiuIO,25,             RECOGNITION-COMPLETE 1719 COMPLETE MRCP/1.0
13:18:44.037 |6363,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,MiuIO,25,             Waveform-URL: http://localhost/ELCPOGBNAAADMOELAAAAAAAA/20091221131836_134799.wav
13:18:44.037 |6363,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,MiuIO,25,             Content-Type: application/x-nlsml
13:18:44.037 |6363,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,MiuIO,25,             Completion-Cause: 000 success
13:18:44.037 |6363,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,MiuIO,25,             Content-Length: 401
13:18:44.037 |6363,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,MiuIO,25,             <?xml version='1.0'?><result><interpretation grammar="session:VuiPINGrammar" confidence="91"><input mode="speech">7 8 9</input><instance><cisco><PIN confidence="91">789</PIN><MEANING confidence="96">PIN</MEANING></cisco><SWI_literal>7 8 9</SWI_literal><SWI_grammarName>session:VuiPINGrammar</SWI_grammarName><SWI_meaning>{cisco:{MEANING:PIN PIN:789}}</SWI_meaning></instance></interpretation></result>
After collecting the digits we then transition to the FlushDTMF state, which is only there to make sure there aren't extra DTMF digits waiting the the MIU buffer. This occurs if voice and DTMF input are combined i.e. voice input terminated by a DTMF #.
13:18:44.063 |6234,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,CDE,10,CCsStateMachine::Execute : OnEntry for state [/opt/cisco/connection/share/tui/VuiSubSettingsPIN.cde!PlaySayPIN] returned 0x00000000 S_OK [Src/CsStateMachine.cpp:143]
13:18:44.063 |6234,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,CDE,10,CCsStateMachine::Execute : Event is [PIN] [Src/CsStateMachine.cpp:168]
13:18:44.063 |6234,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,CDE,10,CCsStateMachine::Execute : Next state is [/opt/cisco/connection/share/tui/VuiSubSettingsPIN.cde!FlushDTMF] [Src/CsStateMachine.cpp:190]
We then transition to GetPINResult and extract the PIN information. Settings.PIN.Input should be set to the PIN and Settings.PIN.Mode should be set to Speech as long as the user entered his input via voice instead of DTMF, as is the case in this log.
13:18:44.065 |6234,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,CDE,10,CCsStateMachine::Execute : Event is [NULL] [Src/CsStateMachine.cpp:168]
13:18:44.065 |6234,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,CDE,10,CCsStateMachine::Execute : Next state is [/opt/cisco/connection/share/tui/VuiSubSettingsPIN.cde!GetPINResult] [Src/CsStateMachine.cpp:190]

13:18:44.065 |6234,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,CDE,10,CCsStateMachine::Execute : Calling OnEntry for state [/opt/cisco/connection/share/tui/VuiSubSettingsPIN.cde!GetPINResult] [Src/CsStateMachine.cpp:139]
13:18:44.065 |6234,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,CDE,11,JS_EXT::SetPropLong: ICsNamedProps::SetPropLong(VuiSubSettingsPIN.NoMatch.Count) to value: 0 returned 0x00000000 S_OK [Include/JsExtensions.h:89]
13:18:44.065 |6234,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,CDE,11,JS_EXT::SetPropLong: ICsNamedProps::SetPropLong(VuiSubSettingsPIN.Timeout.Count) to value: 0 returned 0x00000000 S_OK [Include/JsExtensions.h:89]
13:18:44.065 |6234,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,CDE,11,JS_EXT::GetPropString: ICsNamedProps::GetPropString() found property Speech_Input_1 = 7 8 9.  GetPropString() returned 0x00000000 S_OK [Include/JsExtensions.h:217]
13:18:44.065 |6234,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,CDE,11,JS_EXT::SetPropString: ICsNamedProps::SetPropString(Settings.PIN.Input) to value: [7 8 9] returned 0x00043210 S_NP_PROP_REPLACED [Include/JsExtensions.h:107]
13:18:44.065 |6234,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,CDE,11,JS_EXT::SetPropString: ICsNamedProps::SetPropString(Settings.PIN.Mode) to value: [Speech] returned 0x00043210 S_NP_PROP_REPLACED [Include/JsExtensions.h:107]
13:18:44.065 |6234,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,CDE,10,CCsStateMachine::Execute : OnEntry for state [/opt/cisco/connection/share/tui/VuiSubSettingsPIN.cde!GetPINResult] returned 0x00000000 S_OK [Src/CsStateMachine.cpp:143]
Next we remove any garbage from the PIN input in the NormalizePIN state. This doesn't really do anything to voice input, but if a PIN was inputted by DTMF we take off the trailing #.
13:18:44.065 |6234,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,CDE,10,CCsStateMachine::Execute : Next state is [/opt/cisco/connection/share/tui/VuiSubSettingsPIN.cde!NormalizePIN] [Src/CsStateMachine.cpp:190]
ValidatePIN then checks that pins do not violate any of our rules for forming pins. For instance, it can't be the same as your password. If successful it pushes a TrueEvent, otherwise is transfers to another state to play an error prompt.
13:18:44.066 |6234,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,CDE,10,CCsStateMachine::Execute : Next state is [/opt/cisco/connection/share/tui/VuiSubSettingsPIN.cde!ValidatePIN] [Src/CsStateMachine.cpp:190]
Next in the PLayPIN state we play back the PIN to the user and ask for confirmation.
13:18:44.289 |6234,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,CDE,10,CCsStateMachine::Execute : Next state is [/opt/cisco/connection/share/tui/VuiSubSettingsPIN.cde!PlayPIN] [Src/CsStateMachine.cpp:190]
Successful results from the recogniser can be seen below. If the user affirmed what you said, the MEANING will be set to "Yes".
13:18:50.655 |6364,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,MiuIO,25,         <-- ANNOUNCE rtsp://10.93.230.146/media/speechrecognizer RTSP/1.0
13:18:50.655 |6364,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,MiuIO,25,             CSeq: 1721
13:18:50.655 |6364,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,MiuIO,25,             Session: ELCPOGBNAAADMOELAAAAAAAA
13:18:50.655 |6364,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,MiuIO,25,             Content-Type: application/mrcp
13:18:50.655 |6364,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,MiuIO,25,             Content-Length: 592
13:18:50.655 |6364,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,MiuIO,25,             RECOGNITION-COMPLETE 1721 COMPLETE MRCP/1.0
13:18:50.655 |6364,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,MiuIO,25,             Waveform-URL: http://localhost/ELCPOGBNAAADMOELAAAAAAAA/20091221131844_403597.wav
13:18:50.655 |6364,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,MiuIO,25,             Content-Type: application/x-nlsml
13:18:50.655 |6364,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,MiuIO,25,             Completion-Cause: 000 success
13:18:50.655 |6364,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,MiuIO,25,             Content-Length: 375
13:18:50.655 |6364,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,MiuIO,25,             <?xml version='1.0'?><result><interpretation grammar="session:VuiYesNoCancelGrammar" confidence="91"><input mode="speech">yes</input><instance><cisco><MEANING confidence="91">Yes</MEANING></cisco><SWI_literal>yes</SWI_literal><SWI_grammarName>session:VuiYesNoCancelGrammar</SWI_grammarName><SWI_meaning>{cisco:{MEANING:Yes}}</SWI_meaning></instance></interpretation></result>
...
13:18:50.656 |6234,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,VUI,5,Phrase='PlayPIN', Grammar='VuiYesNoCancelGrammar', Event='SpeechMatch', Meaning='Yes', Input='yes', Confidence='91', WaveformFile='http://localhost/ELCPOGBNAAADMOELAAAAAAAA/20091221131844_403597.wav', Session='ELCPOGBNAAADMOELAAAAAAAA' (Src/CsPhrase.cpp:883)
Assuming the user accepted the PIN, in the next state we will set it in our DB.
13:18:50.656 |6234,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,CDE,10,CCsStateMachine::Execute : Event is [Yes] [Src/CsStateMachine.cpp:168]
13:18:50.656 |6234,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,CDE,10,CCsStateMachine::Execute : Next state is [/opt/cisco/connection/share/tui/VuiSubSettingsPIN.cde!SetPIN] [Src/CsStateMachine.cpp:190]
Then we just play a confirmation message and exit out to the main menu.
13:18:50.744 |6234,PhoneSystem-1-001,A0FD5B9FEA4940FA9032895C47ADCE3A,CDE,10,CCsStateMachine::Execute : Next state is [/opt/cisco/connection/share/tui/VuiSubSettingsPIN.cde!PlayPINConfirmed] [Src/CsStateMachine.cpp:190]

Changing Your Recorded Name

Recorded name changes are activated at the main menu when the recogniser gives us input as below with MEANING set to RecordedNameRequest RECORDEDNAMEACTION set to SET.
15:18:52.646 |6365,PhoneSystem-1-001,B3A92208550E4A9983CAEC8BFCBCDCCE,MiuIO,25,Begin Incoming Rtsp Message
15:18:52.646 |6365,PhoneSystem-1-001,B3A92208550E4A9983CAEC8BFCBCDCCE,MiuIO,25,         <-- ANNOUNCE rtsp://10.93.230.146/media/speechrecognizer RTSP/1.0
15:18:52.646 |6365,PhoneSystem-1-001,B3A92208550E4A9983CAEC8BFCBCDCCE,MiuIO,25,             CSeq: 1742
15:18:52.646 |6365,PhoneSystem-1-001,B3A92208550E4A9983CAEC8BFCBCDCCE,MiuIO,25,             Session: ELDAACEIAAAJKNAGAAAAAAAA
15:18:52.646 |6365,PhoneSystem-1-001,B3A92208550E4A9983CAEC8BFCBCDCCE,MiuIO,25,             Content-Type: application/mrcp
15:18:52.647 |6365,PhoneSystem-1-001,B3A92208550E4A9983CAEC8BFCBCDCCE,MiuIO,25,             Content-Length: 739
15:18:52.647 |6365,PhoneSystem-1-001,B3A92208550E4A9983CAEC8BFCBCDCCE,MiuIO,25,             RECOGNITION-COMPLETE 1742 COMPLETE MRCP/1.0
15:18:52.647 |6365,PhoneSystem-1-001,B3A92208550E4A9983CAEC8BFCBCDCCE,MiuIO,25,             Waveform-URL: http://localhost/ELDAACEIAAAJKNAGAAAAAAAA/20091221151847_525338.wav
15:18:52.647 |6365,PhoneSystem-1-001,B3A92208550E4A9983CAEC8BFCBCDCCE,MiuIO,25,             Content-Type: application/x-nlsml
15:18:52.647 |6365,PhoneSystem-1-001,B3A92208550E4A9983CAEC8BFCBCDCCE,MiuIO,25,             Completion-Cause: 000 success
15:18:52.647 |6365,PhoneSystem-1-001,B3A92208550E4A9983CAEC8BFCBCDCCE,MiuIO,25,             Content-Length: 522
15:18:52.647 |6365,PhoneSystem-1-001,B3A92208550E4A9983CAEC8BFCBCDCCE,MiuIO,25,             <?xml version='1.0'?><result><interpretation grammar="session:VuiSubMenuGrammar" confidence="95"><input mode="speech">change my recorded name</input><instance><cisco><RECORDEDNAMEACTION confidence="95">SET</RECORDEDNAMEACTION><MEANING confidence="95">RecordedNameRequest</MEANING></cisco><SWI_literal>change my recorded name</SWI_literal><SWI_grammarName>session:VuiSubMenuGrammar</SWI_grammarName><SWI_meaning>{cisco:{MEANING:RecordedNameRequest RECORDEDNAMEACTION:SET}}</SWI_meaning></instance></interpretation></result>
We then transfer to the VuiSubSettingsConversation, where we check the Speech_Meaning_1 to see if this was a RecordedNameRequest and if so, jump to the state RunVuiSubSettingsRecordedName and transfer to the VuiSubSettingsRecordedName conversation.
15:18:52.650 |6235,PhoneSystem-1-001,B3A92208550E4A9983CAEC8BFCBCDCCE,CDE,10,CCsStateMachine::Execute : Calling OnEntry for state [/opt/cisco/connection/share/tui/VuiSubSettings.cde!Start] [Src/CsStateMachine.cpp:139]
15:18:52.651 |6235,PhoneSystem-1-001,B3A92208550E4A9983CAEC8BFCBCDCCE,CDE,11,JS_EXT::GetPropBool: ICsNamedProps::GetPropBool() found property bNewMailUser = false.  GetPropBool() returned 0x00000000 S_OK [Include/JsExtensions.h:148]
15:18:52.651 |6235,PhoneSystem-1-001,B3A92208550E4A9983CAEC8BFCBCDCCE,CDE,11,JS_EXT::GetPropString: ICsNamedProps::GetPropString() found property Speech_Meaning_1 = RecordedNameRequest.  GetPropString() returned 0x00000000 S_OK [Include/JsExtensions.h:217]
15:18:52.651 |6235,PhoneSystem-1-001,B3A92208550E4A9983CAEC8BFCBCDCCE,CDE,10,CCsStateMachine::Execute : OnEntry for state [/opt/cisco/connection/share/tui/VuiSubSettings.cde!Start] returned 0x00000000 S_OK [Src/CsStateMachine.cpp:143]
15:18:52.651 |6235,PhoneSystem-1-001,B3A92208550E4A9983CAEC8BFCBCDCCE,CDE,10,CCsStateMachine::Execute : Event is [RecordedNameRequest] [Src/CsStateMachine.cpp:168]
15:18:52.651 |6235,PhoneSystem-1-001,B3A92208550E4A9983CAEC8BFCBCDCCE,CDE,10,CCsStateMachine::Execute : Next state is [/opt/cisco/connection/share/tui/VuiSubSettings.cde!RunVuiSubSettingsRecordedName] [Src/CsStateMachine.cpp:190]
In InitializeRecordedName we check if a name already exists and then jump to SetHasRecordedName to store the result in Settings.RecordedName.IsAvailable.
15:18:52.668 |6235,PhoneSystem-1-001,B3A92208550E4A9983CAEC8BFCBCDCCE,CDE,10,CCsStateMachine::Execute : Starting state machine with root state [/opt/cisco/connection/share/tui/VuiSubSettingsRecordedName.cde!InitializeRecordedName] [Src/CsStateMachine.cpp:127]
15:18:52.668 |6235,PhoneSystem-1-001,B3A92208550E4A9983CAEC8BFCBCDCCE,CDE,10,CCsStateMachine::Execute : Calling OnEntry for state [/opt/cisco/connection/share/tui/VuiSubSettingsRecordedName.cde!InitializeRecordedName] [Src/CsStateMachine.cpp:139]
...
15:18:52.686 |6235,PhoneSystem-1-001,B3A92208550E4A9983CAEC8BFCBCDCCE,CDE,10,CCsStateMachine::Execute : Event is [TrueEvent] [Src/CsStateMachine.cpp:168]
15:18:52.686 |6235,PhoneSystem-1-001,B3A92208550E4A9983CAEC8BFCBCDCCE,CDE,10,CCsStateMachine::Execute : Next state is [/opt/cisco/connection/share/tui/VuiSubSettingsRecordedName.cde!SetHasRecordedName] [Src/CsStateMachine.cpp:190]
15:18:52.686 |6235,PhoneSystem-1-001,B3A92208550E4A9983CAEC8BFCBCDCCE,CDE,10,CCsStateMachine::Execute : Calling OnEntry for state [/opt/cisco/connection/share/tui/VuiSubSettingsRecordedName.cde!SetHasRecordedName] [Src/CsStateMachine.cpp:139]
15:18:52.686 |6235,PhoneSystem-1-001,B3A92208550E4A9983CAEC8BFCBCDCCE,CDE,11,JS_EXT::SetPropBool: ICsNamedProps::SetPropBool(Settings.RecordedName.IsAvailable) to value: true returned 0x00043210 S_NP_PROP_REPLACED [Include/JsExtensions.h:67]
Check action looks at Settings.RecordedName.Action, and if it is set to SET, dispatches to CheckCanRecordName.
15:18:52.686 |6235,PhoneSystem-1-001,B3A92208550E4A9983CAEC8BFCBCDCCE,CDE,10,CCsStateMachine::Execute : Next state is [/opt/cisco/connection/share/tui/VuiSubSettingsRecordedName.cde!CheckAction] [Src/CsStateMachine.cpp:190]
15:18:52.686 |6235,PhoneSystem-1-001,B3A92208550E4A9983CAEC8BFCBCDCCE,CDE,10,CCsStateMachine::Execute : Calling OnEntry for state [/opt/cisco/connection/share/tui/VuiSubSettingsRecordedName.cde!CheckAction] [Src/CsStateMachine.cpp:139]
15:18:52.686 |6235,PhoneSystem-1-001,B3A92208550E4A9983CAEC8BFCBCDCCE,CDE,11,JS_EXT::GetPropBool: ICsNamedProps::GetPropBool() found property Settings.RecordedName.IsAvailable = true.  GetPropBool() returned 0x00000000 S_OK [Include/JsExtensions.h:148]
15:18:52.686 |6235,PhoneSystem-1-001,B3A92208550E4A9983CAEC8BFCBCDCCE,CDE,11,JS_EXT::GetPropBool: ICsNamedProps::GetPropBool() found property bNewMailUser = false.  GetPropBool() returned 0x00000000 S_OK [Include/JsExtensions.h:148]
15:18:52.686 |6235,PhoneSystem-1-001,B3A92208550E4A9983CAEC8BFCBCDCCE,CDE,11,JS_EXT::GetPropString: ICsNamedProps::GetPropString() found property Settings.RecordedName.Action = SET.  GetPropString() returned 0x00000000 S_OK [Include/JsExtensions.h:217]
CheckCanRecordName checks the class of service (named property CosCanRecordName) to see if the user is allowed to record his name. Assuming this succeeds, we are transfered to CheckForRecordedName. As of the time of this writing, there seems to be a bug in CheckForRecordedName, and it always jumps to PlayRecordName. PlayRecordName plays a prompt, and passes us off to DoTruncStream.
15:18:52.686 |6235,PhoneSystem-1-001,B3A92208550E4A9983CAEC8BFCBCDCCE,CDE,10,CCsStateMachine::Execute : Next state is [/opt/cisco/connection/share/tui/VuiSubSettingsRecordedName.cde!CheckCanRecordName] [Src/CsStateMachine.cpp:190]
15:18:52.686 |6235,PhoneSystem-1-001,B3A92208550E4A9983CAEC8BFCBCDCCE,CDE,10,CCsStateMachine::Execute : Calling OnEntry for state [/opt/cisco/connection/share/tui/VuiSubSettingsRecordedName.cde!CheckCanRecordName] [Src/CsStateMachine.cpp:139]
15:18:52.686 |6235,PhoneSystem-1-001,B3A92208550E4A9983CAEC8BFCBCDCCE,CDE,11,JS_EXT::GetPropBool: ICsNamedProps::GetPropBool() found property CosCanRecordName = true.  GetPropBool() returned 0x00000000 S_OK [Include/JsExtensions.h:148]
15:18:52.687 |6235,PhoneSystem-1-001,B3A92208550E4A9983CAEC8BFCBCDCCE,CDE,10,CCsStateMachine::Execute : OnEntry for state [/opt/cisco/connection/share/tui/VuiSubSettingsRecordedName.cde!CheckCanRecordName] returned 0x00000000 S_OK [Src/CsStateMachine.cpp:143]
15:18:52.687 |6235,PhoneSystem-1-001,B3A92208550E4A9983CAEC8BFCBCDCCE,CDE,10,CCsStateMachine::Execute : Event is [NULL] [Src/CsStateMachine.cpp:168]
15:18:52.687 |6235,PhoneSystem-1-001,B3A92208550E4A9983CAEC8BFCBCDCCE,CDE,10,CCsStateMachine::Execute : Next state is [/opt/cisco/connection/share/tui/VuiSubSettingsRecordedName.cde!CheckForRecordedName] [Src/CsStateMachine.cpp:190]
15:18:52.687 |6235,PhoneSystem-1-001,B3A92208550E4A9983CAEC8BFCBCDCCE,CDE,10,CCsStateMachine::Execute : Calling OnEntry for state [/opt/cisco/connection/share/tui/VuiSubSettingsRecordedName.cde!CheckForRecordedName] [Src/CsStateMachine.cpp:139]
15:18:52.687 |6235,PhoneSystem-1-001,B3A92208550E4A9983CAEC8BFCBCDCCE,CDE,11,JS_EXT::GetPropBool: ICsNamedProps::GetPropBool() found property Settings.RecordedName.IsAvailable = true.  GetPropBool() returned 0x00000000 S_OK [Include/JsExtensions.h:148]
DoTruncStream truncates any prior recorded stream in the named prop RecordStream to zero length. The next state will record into this stream, so we are making sure it does not append onto an existing stream. We then transfer to RunRecord which performs the actual recording.
15:18:56.804 |6235,PhoneSystem-1-001,B3A92208550E4A9983CAEC8BFCBCDCCE,CDE,10,CCsStateMachine::Execute : Next state is [/opt/cisco/connection/share/tui/VuiSubSettingsRecordedName.cde!DoTruncStream] [Src/CsStateMachine.cpp:190]
15:18:56.804 |6221,B3A92208550E4A9983CAEC8BFCBCDCCE,,MiuIO,25,             Content-Length: 24
15:18:56.804 |6235,PhoneSystem-1-001,B3A92208550E4A9983CAEC8BFCBCDCCE,CDE,16, : CCsSPlayPhrase::OnExit : Prompt : speed [100] volume [50] [Src/CsSPlayPhrase.cpp:951]
15:18:56.804 |6221,B3A92208550E4A9983CAEC8BFCBCDCCE,,MiuIO,25,             STOP 1751 MRCP/1.0
15:18:56.804 |6221,B3A92208550E4A9983CAEC8BFCBCDCCE,,MiuIO,25,End Outgoing Rtsp Message
15:18:56.804 |6235,PhoneSystem-1-001,B3A92208550E4A9983CAEC8BFCBCDCCE,CDE,10,CCsStateMachine::Execute : Calling OnEntry for state [/opt/cisco/connection/share/tui/VuiSubSettingsRecordedName.cde!DoTruncStream] [Src/CsStateMachine.cpp:139]
15:18:56.804 |6235,PhoneSystem-1-001,B3A92208550E4A9983CAEC8BFCBCDCCE,CDE,10,CCsStateMachine::Execute : OnEntry for state [/opt/cisco/connection/share/tui/VuiSubSettingsRecordedName.cde!DoTruncStream] returned 0x00000000 S_OK [Src/CsStateMachine.cpp:143]
....

15:18:56.804 |6235,PhoneSystem-1-001,B3A92208550E4A9983CAEC8BFCBCDCCE,CDE,10,CCsStateMachine::Execute : Next state is [/opt/cisco/connection/share/tui/VuiSubSettingsRecordedName.cde!RunRecord] [Src/CsStateMachine.cpp:190]

In ValidateRecordedName we check to see if the recorded name's length was greater than zero. Assuming the name is nonzero, we continue to SetValidReocordedName.

The possible error condition here is that if the recorded name's length is zero i.e. no new recorded name, the old one is deleted and we move to the SetInvalidRecordedName state.

15:19:00.046 |6235,PhoneSystem-1-001,B3A92208550E4A9983CAEC8BFCBCDCCE,CDE,10,CCsStateMachine::Execute : Calling OnEntry for state [/opt/cisco/connection/share/tui/VuiSubSettingsRecordedName.cde!ValidateRecordedName] [Src/CsStateMachine.cpp:139]
SetValidRecordedName sets named properties Settings.RecordedName.IsAvailable and Settings.RecordedName.IsNew to true and transfers to SetRecordName.
15:19:00.046 |6235,PhoneSystem-1-001,B3A92208550E4A9983CAEC8BFCBCDCCE,CDE,10,CCsStateMachine::Execute : Next state is [/opt/cisco/connection/share/tui/VuiSubSettingsRecordedName.cde!SetValidRecordedName] [Src/CsStateMachine.cpp:190]
15:19:00.046 |6235,PhoneSystem-1-001,B3A92208550E4A9983CAEC8BFCBCDCCE,CDE,10,CCsStateMachine::Execute : Calling OnEntry for state [/opt/cisco/connection/share/tui/VuiSubSettingsRecordedName.cde!SetValidRecordedName] [Src/CsStateMachine.cpp:139]
15:19:00.046 |6235,PhoneSystem-1-001,B3A92208550E4A9983CAEC8BFCBCDCCE,CDE,11,JS_EXT::SetPropBool: ICsNamedProps::SetPropBool(Settings.RecordedName.IsAvailable) to value: true returned 0x00043210 S_NP_PROP_REPLACED [Include/JsExtensions.h:67]
15:19:00.046 |6235,PhoneSystem-1-001,B3A92208550E4A9983CAEC8BFCBCDCCE,CDE,11,JS_EXT::SetPropBool: ICsNamedProps::SetPropBool(Settings.RecordedName.IsNew) to value: true returned 0x00000000 S_OK [Include/JsExtensions.h:67]
SetValidRecordedName sets the new recorded name and passes us off to PlayRecordedName where the new recorded name is played back to the user, and we are bounced back out to the main menu.
5:19:00.046 |6235,PhoneSystem-1-001,B3A92208550E4A9983CAEC8BFCBCDCCE,CDE,10,CCsStateMachine::Execute : Next state is [/opt/cisco/connection/share/tui/VuiSubSettingsRecordedName.cde!SetValidRecordedName] [Src/CsStateMachine.cpp:190]
15:19:00.046 |6235,PhoneSystem-1-001,B3A92208550E4A9983CAEC8BFCBCDCCE,CDE,10,CCsStateMachine::Execute : Calling OnEntry for state [/opt/cisco/connection/share/tui/VuiSubSettingsRecordedName.cde!SetValidRecordedName] [Src/CsStateMachine.cpp:139]
15:19:00.046 |6235,PhoneSystem-1-001,B3A92208550E4A9983CAEC8BFCBCDCCE,CDE,11,JS_EXT::SetPropBool: ICsNamedProps::SetPropBool(Settings.RecordedName.IsAvailable) to value: true returned 0x00043210 S_NP_PROP_REPLACED [Include/JsExtensions.h:67]
15:19:00.046 |6235,PhoneSystem-1-001,B3A92208550E4A9983CAEC8BFCBCDCCE,CDE,11,JS_EXT::SetPropBool: ICsNamedProps::SetPropBool(Settings.RecordedName.IsNew) to value: true returned 0x00000000 S_OK [Include/JsExtensions.h:67]

Change Directory Listing Status

In these example logs we turn on the vui listing status. At the main menu we first get input from the recogniser with the MEANING set to SettingsListingStatusRequest, and DIRECTORY_STATUS_ACTION set to SetDirectoryStatus, and DIRECTORY_STATUS_VALUE set to True.
11:47:32.483 |6216,PhoneSystem-1-001,E1A9CFFDE3B3471E942C4E0948693810,MiuIO,25,Begin Incoming Rtsp Message
11:47:32.483 |6216,PhoneSystem-1-001,E1A9CFFDE3B3471E942C4E0948693810,MiuIO,25,         <-- ANNOUNCE rtsp://10.93.230.146/media/speechrecognizer RTSP/1.0
11:47:32.483 |6216,PhoneSystem-1-001,E1A9CFFDE3B3471E942C4E0948693810,MiuIO,25,             CSeq: 1833
11:47:32.483 |6216,PhoneSystem-1-001,E1A9CFFDE3B3471E942C4E0948693810,MiuIO,25,             Session: ELDBCCEHAAALBMKPAAAAAAAA
11:47:32.483 |6216,PhoneSystem-1-001,E1A9CFFDE3B3471E942C4E0948693810,MiuIO,25,             Content-Type: application/mrcp
11:47:32.483 |6216,PhoneSystem-1-001,E1A9CFFDE3B3471E942C4E0948693810,MiuIO,25,             Content-Length: 921
11:47:32.484 |6216,PhoneSystem-1-001,E1A9CFFDE3B3471E942C4E0948693810,MiuIO,25,             RECOGNITION-COMPLETE 1833 COMPLETE MRCP/1.0
11:47:32.484 |6216,PhoneSystem-1-001,E1A9CFFDE3B3471E942C4E0948693810,MiuIO,25,             Waveform-URL: http://localhost/ELDBCCEHAAALBMKPAAAAAAAA/20091222114725_006538.wav
11:47:32.484 |6216,PhoneSystem-1-001,E1A9CFFDE3B3471E942C4E0948693810,MiuIO,25,             Content-Type: application/x-nlsml
11:47:32.484 |6216,PhoneSystem-1-001,E1A9CFFDE3B3471E942C4E0948693810,MiuIO,25,             Completion-Cause: 000 success
11:47:32.484 |6216,PhoneSystem-1-001,E1A9CFFDE3B3471E942C4E0948693810,MiuIO,25,             Content-Length: 704
11:47:32.484 |6216,PhoneSystem-1-001,E1A9CFFDE3B3471E942C4E0948693810,MiuIO,25,             <?xml version='1.0'?><result><interpretation grammar="session:VuiSubMenuGrammar" confidence="89"><input mode="speech">turn on my number in the directory</input><instance><cisco><DIRECTORY_STATUS_VALUE confidence="89">True</DIRECTORY_STATUS_VALUE><MEANING confidence="89">SettingsListingStatusRequest</MEANING><DIRECTORY_STATUS_ACTION confidence="89">SetDirectoryStatus</DIRECTORY_STATUS_ACTION></cisco><SWI_literal>turn on my number in the directory</SWI_literal><SWI_grammarName>session:VuiSubMenuGrammar</SWI_grammarName><SWI_meaning>{cisco:{DIRECTORY_STATUS_ACTION:SetDirectoryStatus DIRECTORY_STATUS_VALUE:True MEANING:SettingsListingStatusRequest}}</SWI_meaning></instance></interpretation></result>
We are then transferred to RunVuiSubSettings, which starts the VuiSubSettingsConversation.
11:47:32.486 |6234,PhoneSystem-1-001,E1A9CFFDE3B3471E942C4E0948693810,CDE,10,CCsStateMachine::Execute : Next state is [/opt/cisco/connection/share/tui/VuiSubMenu_Standard.cde!RunVuiSubSettings] [Src/CsStateMachine.cpp:190]
...
11:47:32.487 |6234,PhoneSystem-1-001,E1A9CFFDE3B3471E942C4E0948693810,CDE,10,CCsStateMachine::Execute : Starting state machine with root state [/opt/cisco/connection/share/tui/VuiSubSettings.cde!Start] [Src/CsStateMachine.cpp:127]
...
11:47:32.487 |6234,PhoneSystem-1-001,E1A9CFFDE3B3471E942C4E0948693810,CDE,10,CCsStateMachine::Execute : Next state is [/opt/cisco/connection/share/tui/VuiSubSettings.cde!RunVuiSubSettingsListingStatus] [Src/CsStateMachine.cpp:190]

When VuiSubSettingsListingStatus starts, we dispatch based on the DIRECTORY_STATUS_ACTION from the voice input. In this case DIRECTORY_STATUS_ACTION was set to SetDirectoryStatus, so that event is pushed and we move to the ChangeListingStatus state.
11:47:32.902 |6234,PhoneSystem-1-001,E1A9CFFDE3B3471E942C4E0948693810,CDE,10,CCsStateMachine::Execute : OnEntry for state [/opt/cisco/connection/share/tui/VuiSubSettingsListingStatus.cde!DispatchRequest] returned 0x00000000 S_OK [Src/CsStateMachine.cpp:143]
...
11:47:32.902 |6234,PhoneSystem-1-001,E1A9CFFDE3B3471E942C4E0948693810,CDE,10,CCsStateMachine::Execute : Event is [SetDirectoryStatus] [Src/CsStateMachine.cpp:168]
11:47:32.902 |6234,PhoneSystem-1-001,E1A9CFFDE3B3471E942C4E0948693810,CDE,10,CCsStateMachine::Execute : Next state is [/opt/cisco/connection/share/tui/VuiSubSettingsListingStatus.cde!ChangeListingStatus] [Src/CsStateMachine.cpp:190]
11:47:32.902 |6234,PhoneSystem-1-001,E1A9CFFDE3B3471E942C4E0948693810,CDE,10,CCsStateMachine::Execute : Calling OnEntry for state [/opt/cisco/connection/share/tui/VuiSubSettingsListingStatus.cde!ChangeListingStatus] [Src/CsStateMachine.cpp:139]
In the ChangeListingStatusState we check to see if the user is allowed to change his listing status in the class of service. Notice the GetPropBool(CosListInDirectoryStatus) below. As along as the value for that is true, we can change it. We then check to see what the new status should be before setting it. This is determined by the named property retrieved by GetPropBool(VuiSubSettings.NewDirectoryStatus). As long as that value is true, it will be turned on. Then bDirStatusListed is set to true to indicate that the status is now listed, and we push the TrueEvent to indicate the change was a success.
11:47:32.903 |6234,PhoneSystem-1-001,E1A9CFFDE3B3471E942C4E0948693810,VUI,3,GetPropBool(CosListInDirectoryStatus) returned 0x0 and value = true (Src/CsVuiNamedProps.cpp:57)
11:47:32.903 |6234,PhoneSystem-1-001,E1A9CFFDE3B3471E942C4E0948693810,VUI,3,GetPropBool(VuiSubSettings.NewDirectoryStatus) returned 0x0 and value = true (Src/CsVuiNamedProps.cpp:57)
11:47:32.903 |6234,PhoneSystem-1-001,E1A9CFFDE3B3471E942C4E0948693810,VUI,3,SetPropBool(bDirStatusListed, true) returned 0x0 (Src/CsVuiNamedProps.cpp:208)
11:47:32.903 |6234,PhoneSystem-1-001,E1A9CFFDE3B3471E942C4E0948693810,CDE,10,CCsStateMachine::Execute : OnEntry for state [/opt/cisco/connection/share/tui/VuiSubSettingsListingStatus.cde!ChangeListingStatus] returned 0x00000000 S_OK [Src/CsStateMachine.cpp:143]
11:47:32.903 |6234,PhoneSystem-1-001,E1A9CFFDE3B3471E942C4E0948693810,CDE,10,CCsStateMachine::Execute : Event is [TrueEvent] [Src/CsStateMachine.cpp:168]
PlayChangeListingStatusSuccess is a PlayPhrase telling the user what his new listing status is. It pulls that information from the named property bDirStatusListed which was set during ChangeListingStatus.
11:47:32.903 |6234,PhoneSystem-1-001,E1A9CFFDE3B3471E942C4E0948693810,CDE,10,CCsStateMachine::Execute : Next state is [/opt/cisco/connection/share/tui/VuiSubSettingsListingStatus.cde!PlayChangeListingStatusSuccess] [Src/CsStateMachine.cpp:190]
11:47:32.903 |6234,PhoneSystem-1-001,E1A9CFFDE3B3471E942C4E0948693810,CDE,10,CCsStateMachine::Execute : Calling OnEntry for state [/opt/cisco/connection/share/tui/VuiSubSettingsListingStatus.cde!PlayChangeListingStatusSuccess] [Src/CsStateMachine.cpp:139]
...
11:47:32.919 |6234,PhoneSystem-1-001,E1A9CFFDE3B3471E942C4E0948693810,CDE,11,JS_EXT::GetPropBool: ICsNamedProps::GetPropBool() found property bDirStatusListed = true.  GetPropBool() returned 0x00000000 S_OK [Include/JsExtensions.h:148]
After that we bounce back to the main menu.