The next 3 profiles work together since the first of these cannot have an exit task.
Profile: Announce Caller
What it does: Announces the name (if in contact list) or number of caller when at home AND awake.
When it kicks on: When the phone is ringing.
Context
01. Event -> Phone -> Phone Ringing
Entry Task Name: Announce Caller Name
01. Variable -> Variable Set -> %Ringing To 1
02. Task -> If -> %atHome = 1
03. Task -> If -> %sleepOrAwake = 0
04. Task -> If -> %CNAME Is Set //i.e. caller exists in phonebook
05. Misc -> Say -> "Call from %CNAME"
06. Task -> Else
07. Misc -> Say -> "Call from %CNUM"
08. Task -> End If
09. Task -> End If
10. Task -> End If
Profile: Call Answered
What it does: To re-set the variable %Ringing, used above, to zero.
When it kicks on: When the call is answered.
Context
01. Event -> Phone -> Phone Offhook
Entry Task Name: CallFinished Value
01. Variable -> Variable Set -> %Ringing To 0
Profile: Phone Idle
What it does: To re-set the variable %Ringing, used above, to zero.
When it kicks in: When the call is not answered (missed call).
Context
01. Event -> Phone -> Phone Idle
Entry Task Name: CallFinished Value
01. Variable -> Variable Set -> %Ringing To 0