1 call state messages between epoint and port, call and endpoint objects:
2 -----------------------------------------------------------------------
8 - more digits are needed
11 - call proceeds, no more digits needed
14 - call alerts, no more digits needed
20 - call disconnects, but not yet released
23 - call has been released
25 * other messages like dialing information, notifications and others
26 are processed by the objects and can cause other internal states to change
27 but will not change any call state. objects may analyze the given information
28 and process call state message. (e.g MESSAGE_DISCONNECT when dialing a wrong
32 states of port object:
33 ----------------------
36 - port is just created, no setup yet
38 - a setup was received from isdn stack
40 - a setup was sent to isdn stack
42 - the endpoint object requires more digits to complete the call
44 - the port object requires more digits to complete the call
45 PORT_STATE_IN_PROCEEDING
46 - the incoming call proceeds, no more digits needed
47 PORT_STATE_OUT_PROCEEDING
48 - the outgoing call proceeds, no more digits needed
49 PORT_STATE_IN_ALERTING
50 - the incoming call alerts, no more digits needed
51 PORT_STATE_OUT_ALERTING
52 - the outgoing call alerts, no more digits needed
55 PORT_STATE_IN_DISCONNECT
56 - the call is disconnected from the incoming side
57 PORT_STATE_OUT_DISCONNECT
58 - the call is disconnected from the outgoing side
60 - the call is released, the port object waits for the l3-process to terminate
63 states of endpoint object:
64 --------------------------
67 - endpoint is just created, no setup yet
68 EPOINT_STATE_OUT_SETUP
69 - a setup was received from call object
71 - the port object requires more digits to complete the call
73 - the call object requires more digits to complete the call
74 EPOINT_STATE_IN_PROCEEDING
75 - the incoming call proceeds, no more digits needed
76 EPOINT_STATE_OUT_PROCEEDING
77 - the outgoing call proceeds, no more digits needed
78 EPOINT_STATE_IN_ALERTING
79 - the incoming call alerts, no more digits needed
80 EPOINT_STATE_OUT_ALERTING
81 - the outgoing call alerts, no more digits needed
84 EPOINT_STATE_IN_DISCONNECT
85 - the incoming call is disconnected
86 EPOINT_STATE_OUT_DISCONNECT
87 - the outgoing call is disconnected
93 there are no call states.
96 procedure of messages between port and endpoint objects:
97 --------------------------------------------------------
99 INCOMING CALL (port->endpoint)
100 - the endpoint object is created by the port object.
101 - a MESSAGE_SETUP is sent as the first message port->endpoint.
102 the port goes into PORT_STATE_IN_SETUP state.
103 the endpoint goes into EPOINT_STATE_IN_MORE state or any other state after
104 processing the given dialing information.
105 - the endpoint MUST now respond with MESSAGE_MORE, MESSAGE_PROCEEDING,
106 MESSAGE_ALERTING, MESSAGE_CONNECT, MESSAGE_DISCONNECT.
107 the endpoint goes into the appropiate EPOINT_STATE_IN_* state.
108 the port goes into the appropiate PORT_STATE_IN_* state.
110 OUTGOING CALL (endpoint->port)
111 - the port object is created by the endpoint object.
112 - a MESSAGE_SETUP is sent as the first message endpoint->port.
113 the endpoint goes into EPOINT_STATE_OUT_SETUP state.
114 the port goes into PORT_STATE_OUT_SETUP state.
115 - the port may now respond with MESSAGE_MORE, MESSAGE_PROCEEDING,
116 MESSAGE_ALERTING, MESSAGE_CONNECT, MESSAGE_DISCONNECT.
117 the port goes into the appropiate PORT_STATE_OUT_* state.
118 the endpoint goes into the appropiate EPOINT_STATE_OUT_* state.
120 DISCONNECTING CALL (endpoint->port)
121 - the endpoint may disconnect the call at any state, except IDLE.
122 it sends MESSAGE_DISCONNECT.
123 the endpoint goes into EPOINT_STATE_OUT_DISCONNECT state.
124 the port goes into PORT_STATE_OUT_DISCONNECT state.
126 DISCONNECTING CALL (port->endpoint)
127 - the port may disconnect the call at any state, except IDLE.
128 it sends MESSAGE_DISCONNECT.
129 the port goes into PORT_STATE_IN_DISCONNECT state.
130 the endpoint goes into EPOINT_STATE_IN_DISCONNECT state.
132 RELEASING CALL (port->endpoint, endpoint->port)
133 - at any state, this message is possible
134 the object sends MESSAGE_RELEASE, the port will terminate soon.
135 the receiving object will unlink the relation to the sending object.
138 procedure of messages between endpoint and call objects:
140 CALL PROCEEDING (endpoint->call, call->endpoint)
141 - any message will be sent to the call and transfered to the other end
142 - any message will be received from the endpoint coming from the other end
143 - if more than two endpoints are connected in one call, the messages are
145 - if only one endpoint exists after creation, the call will create another
146 endpoint and delivers the MESSAGE_SETUP
148 CALL RELEASE (endpoint->call, call->endpoint)
149 - the endpoint sends MESSAGE_RELEASE in order to be removed from the call.
150 the endpoint will soon terminate.
151 the call will remove the endpoint and if there is only one endpoint left,
152 it will send a MESSAGE_RELEASE to the endpoint and will release itself.
155 DISCONNECT and RELEASE
156 ----------------------
158 the endpoint may receive MESSAGE_RELEASE from a call but may NOT send it
159 to the port. the port MUST get a MESSAGE_DISCONNECT instead.