/**
 * system.java
 * 
 * Interfaces/ports:
 *	CLIin/CLIout	proprietary CLI commands/responses
 *	GnIn/GnOut		i/f to SGSN
 *	GiIn/GiOut		i/f to internet
**/

system {
    Inbound  CLIin  : Restart, Configure, OverrideConfiguration, Prepare, Restore;

	Inbound  GnIn  : CreatePDPcontext, UpdatePDPcontext, DeletePDPcontext, GPDU;
	Outbound GnOut : CreatePDPresponse, UpdatePDPresponse, DeletePDPresponse,
					GPDU, CDRinfo;

	Inbound  GiIn  : UDPpdu;
	Outbound GiOut : UDPpdu;

	Inbound  GiRadiusIn  : RadiusAccessAccept;
	Outbound GiRadiusOut : RadiusAccessRequest;
}
