diff --git a/DESIGN b/DESIGN new file mode 100644 index 0000000..03b8e51 --- /dev/null +++ b/DESIGN @@ -0,0 +1,25 @@ +Some simple design notes to guide people + +- MGCPGrammar can parse requests and replies + +- MGCPCommand base class of commands + - asDatagram to create message + +- MGCPTrunk a trunk with a destination and nr. endpoints + - MGCPVirtualTrunk for 1@mgw.. in hex + - MGCPE1Trunk for ds-1/... handling + - both hold MGCPEndpoints + +- MGCPTransaction a command to create a transaction + - callback for completion (wth response) + - callback for a timeout + - created with an endpoint and the callagent + +- MGCPCallAgent serves the Call-Agent port + - Generates the transaction id for a transaction + - Does the retransmission + - Handles timeout + - Recycles transaction after three minutes + (to block a transaction identifier) + +