General

The events are handled as follows.
Events are received on the Conversation statemachine first.
This might take some actions and explicitly runs the participant statemachines.
Typically this is in the order that first the participant statemachine is run where the event originates, and then the other parties statemachine is run.

The participant statemachine normally uses the agent to handle the event.
This can be simple things, like forwarding the event using the agents b2buahelper.
In the figures this is very much simplified with statements like forward, ack etc.

Statetransitions do not automatically result in events being sent. The states are internal states.
If there are any events send to the applicaiton this is indicated as "^EVENT".

Note that the statemachines below are just sketches to follow the flow. Look at the code for the definite source of the STMs.

AbstractConversationParty

Cannot resolve external resource into attachment.

Caller

Cannot resolve external resource into attachment.

WebCaller

Cannot resolve external resource into attachment.

ReplacingCaller

Cannot resolve external resource into attachment.

Callee

Cannot resolve external resource into attachment.

WebCallee

Cannot resolve external resource into attachment.

ReplacingCallee

Cannot resolve external resource into attachment.

Conversation

Cannot resolve external resource into attachment.



Conversation.png (image/png)
caller.png (image/png)
abstractConversationParty.png (image/png)
webcaller.png (image/png)
replacingCaller.png (image/png)
callee.png (image/png)
webcallee.png (image/png)