1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
@startuml
skinparam BackgroundColor F0F0F0
participant "Incoming call URC" as urc
participant "Call request" as call
participant "Messages DB" as message
participant "Service cellular" as cellular
participant "Service cellular notification " as notification
== Connected mode ==
activate urc
activate cellular
urc -> cellular : Ring urc / Clip urc
cellular -> cellular : identifyNotification
cellular -> cellular : CellularRingNotification | CellularCallerIdNotification
cellular -> notification :CellularCallerIdMessage | CellularIncominCallMessage
urc -> cellular : Cmti urc
cellular -> cellular : identifyNotification
cellular -> cellular : receiveSms
cellular -> message : add record
deactivate urc
activate message
message -> cellular : new queeued
cellular -> cellular : CellularSendSMSMessage
cellular -> message : update record
deactivate message
activate call
call -> cellular : CellularCallRequestMessage
cellular -> cellular : handleCellularCallRequestMessage
cellular -> notification : CellularRingingMessage
deactivate call
== Do not Disturb mode ==
activate urc
urc -> cellular : Ring urc / Clip urc
cellular -> cellular : identifyNotification
cellular -> cellular : CellularRingNotification | CellularCallerIdNotification
cellular -> cellular : hangUpCall
urc -> cellular : Cmti urc
cellular -> cellular : identifyNotification
cellular -> cellular : receiveSms
cellular -> message : add record
deactivate urc
activate message
message -> cellular : new queeued
cellular -> cellular : CellularSendSMSMessage
cellular -> message : update record
deactivate message
activate call
call -> cellular : CellularCallRequestMessage
cellular -> cellular : handleCellularCallRequestMessage
cellular -> notification : CellularRingingMessage
deactivate call
deactivate cellular
@enduml