digraph G {
	rankdir = LR;
	label = "BTS_Tests component hierarchy";

	"ConnHdlr" [
		shape = "record"
		label = "<f0> ConnHdlr | <RSL> RSL | <RSL_PROC> RSL_PROC | <LAPDM> LAPDM | <L1CTL> L1CTL | <BTS_TRXC> BTS_TRXC | <BSCVTY> BSCVTY | <PCU> PCU | <RTPEM_DATA> RTPEM_DATA | <RTPEM_CTRL> RTPEM_CTRL"
	];
	"ConnHdlr":L1CTL -> "system":UD [label="L1CTL_PT:UD_PT"]
	"ConnHdlr":BTS_TRXC -> "system":IPL4 [label="TRXC_CODEC_PT"]
	"ConnHdlr":BSCVTY -> "system":TELNET
	"ConnHdlr":PCU -> "system":UD [label="PCUIF_CODEC_PT"]

	"RSL_Emulation_CT" [
		shape = "record"
		label = "<f0> RSL_Emulation_CT | <CLIENT_PT> CLIENT_PT | <RSL_PROC> RSL_PROC | <CCHAN_PT> CCHAN_PT | <IPA_PT> IPA_PT"
	]
	"RSL_Emulation_CT":IPA_PT -> "IPA_Emulation_CT":IPA_RSL_PORT
	"ConnHdlr":RSL -> "RSL_Emulation_CT":CLIENT_PT
	"ConnHdlr":RSL_PROC -> "RSL_Emulation_CT":RSL_PROC

	"LAPDm_CT" [
		shape = "record"
		label = "<f0> LAPDM_CT | <LAPDM_SP> LAPDM_SP | <L1CTL> L1CTL"
	]
	"LAPDm_CT":L1CTL -> "system":UD [label="L1CTL_PT:UD_PT"]
	"ConnHdlr":LAPDM -> "LAPDm_CT":LAPDM_SP

	"RTP_Emulation_CT" [
		shape = "record"
		label = "<f0> RTP_Emulation_CT | <DATA> DATA | <CTRL> CTRL | <RTP> RTP | <RTCP> RTCP"
	]
	"RTP_Emulation_CT":RTP -> "system":IPL4 [label="RTP_CODEC_PT"]
	"RTP_Emulation_CT":RTCP -> "system":IPL4 [label="RTP_CODEC_PT"]
	"ConnHdlr":RTPEM_DATA -> "RTP_Emulation_CT":DATA
	"ConnHdlr":RTPEM_CTRL -> "RTP_Emulation_CT":CTRL

	"IPA_Emulation_CT" [
		shape = "record"
		label = "<f0> IPA_Emulation_CT | <MTP3_SP_PORT> MTP3_SP_PORT | <IPA_MGCP_PORT> IPA_MGCP_PORT | <IPA_RSL_PORT> IPA_RSL_PORT | <IPA_OML_PORT> IPA_OML_PORT | <IPA_CTRL_PORT> IPA_CTRL_PORT | <IPA_GSUP_PORT> IPA_GSUP_PORT | <IPA_RSPRO_PORT> IPA_RSPRO_PORT | <IPA_OSMO_PCU_PORT> IPA_OSMO_PCU_PORT | <IPA_SP_PORT> IPA_SP_PORT | <IPA_PORT> IPA_PORT"
	];
	"IPA_Emulation_CT":IPA_PORT -> "system":IPL4 [label="IPA_CODEC_PT"]


	"system" [
		shape = "record"
		label = "<f0> system | <IPL4> IPL4 | <UD> UD | <TELNET> TELNET"
	];
}