Skip to content. | Skip to navigation

Personal tools

Navigation

You are here: Home / Wiki / PhantomNet / S1 Handover Files

S1 Handover Files

interMME-ho-mme1.xml

Extensible Markup Language (XML) icon interMME-ho-mme1.xml — Extensible Markup Language (XML), 4 KB (4808 bytes)

File contents

<?xml version="1.0" encoding="UTF-8"?>
<!-- 
	$Id$
 
 	Copyright (C) 2009 FhG Fokus
 	
  This file is part of the Wharf project.

 \file
  
  Wharf example configuration file 
  
 -->
<Wharf>

	<Core>
		
		<Debug log="3" memory="6" memory_status="1"/>
			<!--  
				The debug level should be set between -3 and 5, with 5 being the most verbose.
				Only the logs with a level <= with the one below will be printed.
				L_ALERT -3
				L_CRIT  -2
				L_ERR   -1
				L_WARN   1
				L_NOTICE 2
				L_INFO   3
				L_DB     4
				L_DBG    5
				L_MEM    6
				
				The memory is the setting for allt the memory operations.
				
				The memory_status controls what is printed on process exit and is either 0, 1 or 2:
				 - 0 - don't show any memory status
				 - 1 - show the summarized memory status
				 - 2 - show the fragment maps and the summarized memory status
			 -->		

                <Log level="5" memory="6" filepath="/var/log"/>
		
		<SharedMemory kbytes="16384" />
		<ProcessMemory kbytes="4096" />
		
		<WorkerPool count="2" queue_size="16" /> 
		
	</Core>
	<Module binaryFile="modules/console/console.so" >
		<![CDATA[
	 		<WharfConsole>
				<Prompt text=" MME >"/>
				<Acceptor type="udp" port="10000" bind="192.168.254.80" />
				<Acceptor type="tcp" port="10000" bind="192.168.254.80" />
			</WharfConsole>
		]]>
	</Module>	
	<Module binaryFile="modules/cdp/cdp.so">	
		<![CDATA[	
                <DiameterPeer 
				FQDN="mme.epc.mnc001.mcc001.3gppnetwork.org"
				Realm="epc.mnc001.mcc001.3gppnetwork.org"
				Vendor_Id="10415"
				Product_Name="CDiameterPeer"
				AcceptUnknownPeers="1"
				DropUnknownOnDisconnect="1"
				Tc="30"
				Workers="4"
				QueueLength="32"
				TransactionTimeout="5"
				SessionsHashSize="128"
			>
				<Peer FQDN="hss.epc.mnc001.mcc001.3gppnetwork.org" Realm="epc.mnc001.mcc001.3gppnetwork.org" port="3868"/>
			
				<Acceptor port="3868" bind="192.168.254.80"/>
				
				<Auth id="16777251" vendor="10415"/><!-- 3GPP S6a/S6d -->
				<Auth id="16777266" />
				
				<Realm name="epc.mnc001.mcc001.3gppnetwork.org">
					<Route FQDN="hss.epc.mnc001.mcc001.3gppnetwork.org" metric="10"/>
				</Realm>

				<DefaultRoute FQDN="hss.epc.mnc001.mcc001.3gppnetwork.org" realm="hss.epc.mnc001.mcc001.3gppnetwork.org"/>
				
			</DiameterPeer>
		]]>
	</Module>
	<Module binaryFile="modules/cdp_avp/cdp_avp.so"/>
	<Module binaryFile="modules/mysql/mysql.so"/>  
	<Module binaryFile="modules/Client_S6ad/Client_S6ad.so">
		<![CDATA[
			<WharfClient_S6ad>
				<Host fqdn="mme.epc.mnc001.mcc001.3gppnetwork.org" realm="epc.mnc001.mcc001.3gppnetwork.org"/>
				<Destination fqdn="hss.epc.mnc001.mcc001.3gppnetwork.org" realm="epc.mnc001.mcc001.3gppnetwork.org"/>
			</WharfClient_S6ad>
		]]>
	</Module>
  	<Module binaryFile="modules/addressing/addressing.so" >
		<![CDATA[
			<WharfAddressingWRR>
				<Default>
					<Address ip="192.168.4.20" weight="1" />
				</Default>
			</WharfAddressingWRR>
		]]>
	</Module>
	<Module binaryFile="modules/sctp/sctp.so"/>
	<Module binaryFile="modules/S1AP/s1ap.so">
		<![CDATA[
			<WharfS1AP>
				<Local addr="192.168.4.80" port="36412" />
			</WharfS1AP>
		]]>
	</Module>
	<Module binaryFile="modules/nas/nas.so"/>
	<Module binaryFile="modules/mme/mme.so">
		<![CDATA[
			<WharfMME
				s11_mme="192.168.4.80"
				s6a_mme="192.168.254.80"
				s1ap_mme="192.168.4.80"
				hash_size="24"
				relative_capacity="255"
				pco_primary_dns="8.8.8.8"
				pco_secondary_dns="8.8.4.4" >
				<!-- GUMMEI element contains the configuration of the MME identity. The element is mandatory. The attributes mcc, mnc, mmegi (MME Group ID) 
					and mmec (MME Code) are mandatory. The attribute mme_name is optional. -->
				<GUMMEI
					mcc="998"
					mnc="98"
					mmegi="123"
					mmec="45"
					mme_name="MME_1.OpenEPC" />
				<!-- The Security element is optional. It defines the encryption and integrity algorithms to be used for NAS security. The attributes are all
					optional. If any of them is not present, it will default to the values EIA1_128 for integrity and EEA0 for security. -->
				<Security
					eea_primary="0"
					eia_primary="1"
					eea_secondary="0"
					eia_secondary="1"/>
				<!-- Database configuration. The element is optional. If it is not present, the module will not push the state to the database. 
					All the attributes are mandatory if the element is present. -->
				<Database 
					hostname="127.0.0.1"
					database="mme_db"
					username="mme"
					password="mme"/>
				<TA mcc="998" mnc="98" tac="02" mme_gid="23" mme_code="21"  mme="192.168.4.87"/>
				<RA mcc="1" mnc="1" rac="18" sgsn="192.168.4.120" />
			</WharfMME>
		]]>
	</Module>
	<Module binaryFile="modules/gtp/gtp.so">
		<![CDATA[
			<GTP>
			  <Acceptor id="GTP-C" type="udp" port="2123" bind="192.168.4.80" />
			</GTP>
		]]>
	</Module>
</Wharf>

interMME-ho-mme2.xml

Extensible Markup Language (XML) icon interMME-ho-mme2.xml — Extensible Markup Language (XML), 4 KB (4810 bytes)

File contents

<?xml version="1.0" encoding="UTF-8"?>
<!-- 
	$Id$
 
 	Copyright (C) 2009 FhG Fokus
 	
  This file is part of the Wharf project.

 \file
  
  Wharf example configuration file 
  
 -->
<Wharf>

	<Core>
		
		<Debug log="3" memory="6" memory_status="1"/>
			<!--  
				The debug level should be set between -3 and 5, with 5 being the most verbose.
				Only the logs with a level <= with the one below will be printed.
				L_ALERT -3
				L_CRIT  -2
				L_ERR   -1
				L_WARN   1
				L_NOTICE 2
				L_INFO   3
				L_DB     4
				L_DBG    5
				L_MEM    6
				
				The memory is the setting for allt the memory operations.
				
				The memory_status controls what is printed on process exit and is either 0, 1 or 2:
				 - 0 - don't show any memory status
				 - 1 - show the summarized memory status
				 - 2 - show the fragment maps and the summarized memory status
			 -->		

                <Log level="5" memory="6" filepath="/var/log"/>
		
		<SharedMemory kbytes="16384" />
		<ProcessMemory kbytes="4096" />
		
		<WorkerPool count="2" queue_size="16" /> 
		
	</Core>
	<Module binaryFile="modules/console/console.so" >
		<![CDATA[
	 		<WharfConsole>
				<Prompt text=" MME >"/>
				<Acceptor type="udp" port="10000" bind="192.168.254.87" />
				<Acceptor type="tcp" port="10000" bind="192.168.254.87" />
			</WharfConsole>
		]]>
	</Module>	
	<Module binaryFile="modules/cdp/cdp.so">	
		<![CDATA[	
                <DiameterPeer 
				FQDN="mme1.epc.mnc001.mcc001.3gppnetwork.org"
				Realm="epc.mnc001.mcc001.3gppnetwork.org"
				Vendor_Id="10415"
				Product_Name="CDiameterPeer"
				AcceptUnknownPeers="1"
				DropUnknownOnDisconnect="1"
				Tc="30"
				Workers="4"
				QueueLength="32"
				TransactionTimeout="5"
				SessionsHashSize="128"
			>
				<Peer FQDN="hss.epc.mnc001.mcc001.3gppnetwork.org" Realm="epc.mnc001.mcc001.3gppnetwork.org" port="3868"/>
			
				<Acceptor port="3868" bind="192.168.254.87"/>
				
				<Auth id="16777251" vendor="10415"/><!-- 3GPP S6a/S6d -->
				<Auth id="16777266" />
				
				<Realm name="epc.mnc001.mcc001.3gppnetwork.org">
					<Route FQDN="hss.epc.mnc001.mcc001.3gppnetwork.org" metric="10"/>
				</Realm>

				<DefaultRoute FQDN="hss.epc.mnc001.mcc001.3gppnetwork.org" realm="hss.epc.mnc001.mcc001.3gppnetwork.org"/>
				
			</DiameterPeer>
		]]>
	</Module>
	<Module binaryFile="modules/cdp_avp/cdp_avp.so"/>
	<Module binaryFile="modules/mysql/mysql.so"/>  
	<Module binaryFile="modules/Client_S6ad/Client_S6ad.so">
		<![CDATA[
			<WharfClient_S6ad>
				<Host fqdn="mme1.epc.mnc001.mcc001.3gppnetwork.org" realm="epc.mnc001.mcc001.3gppnetwork.org"/>
				<Destination fqdn="hss.epc.mnc001.mcc001.3gppnetwork.org" realm="epc.mnc001.mcc001.3gppnetwork.org"/>
			</WharfClient_S6ad>
		]]>
	</Module>
  	<Module binaryFile="modules/addressing/addressing.so" >
		<![CDATA[
			<WharfAddressingWRR>
				<Default>
					<Address ip="192.168.4.20" weight="1" />
				</Default>
			</WharfAddressingWRR>
		]]>
	</Module>
	<Module binaryFile="modules/sctp/sctp.so"/>
	<Module binaryFile="modules/S1AP/s1ap.so">
		<![CDATA[
			<WharfS1AP>
				<Local addr="192.168.4.87" port="36412" />
			</WharfS1AP>
		]]>
	</Module>
	<Module binaryFile="modules/nas/nas.so"/>
	<Module binaryFile="modules/mme/mme.so">
		<![CDATA[
			<WharfMME
				s11_mme="192.168.4.87"
				s6a_mme="192.168.254.87"
				s1ap_mme="192.168.4.87"
				hash_size="24"
				relative_capacity="255"
				pco_primary_dns="8.8.8.8"
				pco_secondary_dns="8.8.4.4" >
				<!-- GUMMEI element contains the configuration of the MME identity. The element is mandatory. The attributes mcc, mnc, mmegi (MME Group ID) 
					and mmec (MME Code) are mandatory. The attribute mme_name is optional. -->
				<GUMMEI
					mcc="998"
					mnc="98"
					mmegi="23"
					mmec="21"
					mme_name="MME_2.OpenEPC" />
				<!-- The Security element is optional. It defines the encryption and integrity algorithms to be used for NAS security. The attributes are all
					optional. If any of them is not present, it will default to the values EIA1_128 for integrity and EEA0 for security. -->
				<Security
					eea_primary="0"
					eia_primary="1"
					eea_secondary="0"
					eia_secondary="1"/>
				<!-- Database configuration. The element is optional. If it is not present, the module will not push the state to the database. 
					All the attributes are mandatory if the element is present. -->
				<Database 
					hostname="127.0.0.1"
					database="mme_db"
					username="mme"
					password="mme"/>
				<TA mcc="998" mnc="98" tac="01" mme_gid="123" mme_code="45"  mme="192.168.4.80"/>
				<RA mcc="1" mnc="1" rac="18" sgsn="192.168.4.120" />
			</WharfMME>
		]]>
	</Module>
	<Module binaryFile="modules/gtp/gtp.so">
		<![CDATA[
			<GTP>
			  <Acceptor id="GTP-C" type="udp" port="2123" bind="192.168.4.87" />
			</GTP>
		]]>
	</Module>
</Wharf>

mme-ip.sh

shell script icon mme-ip.sh — shell script, 1 KB

get_interface_map.pl

text/x-perl icon get_interface_map.pl — text/x-perl, 1 KB

File contents

#!/usr/bin/perl -w

BEGIN {
    require "/etc/emulab/paths.pm";
    import emulabpaths;
}
use libsetup;

my $FINDIF = "$BINDIR/findif";
# lans that this node is a member of.
#
my %ifmap = ();
my @ifconfigs = ();

if (getifconfig(\@ifconfigs) != 0) {
	warn "Could not fetch Emulab interfaces configuration!";
	return undef;
}

print "LAN -> IFACE -> IP -> MAC\n";

foreach my $ifconfig (@ifconfigs) {
	my $ip  = $ifconfig->{IPADDR};
	my $mac = $ifconfig->{MAC};
	my $lan = $ifconfig->{LAN};

	next unless $mac && $lan;

	#print "Debug: checking interface: $mac/$ip/$lan\n"

	my $iface = `$FINDIF -m $mac`;
	chomp $iface;
	if ($? != 0 || !$iface) {
    		warn "Emulab's findif tool failed for ip address: $ip\n";
    		next;
	}
	print "$lan -> $iface -> $ip -> $mac\n";
}

interMME-ho-enb2.xml

Extensible Markup Language (XML) icon interMME-ho-enb2.xml — Extensible Markup Language (XML), 3 KB (3924 bytes)

File contents

<?xml version="1.0" encoding="UTF-8"?>
<!-- 
	$Id$
 
 	Copyright (C) 2010 FhG Fokus
 	
  This file is part of the Wharf project.

-->

<Wharf>

	<Core>
		
		<Debug log="3" memory="6" memory_status="1"/>
			<!--  
				The debug level should be set between -3 and 5, with 5 being the most verbose.
				Only the logs with a level <= with the one below will be printed.
				L_ALERT -3
				L_CRIT  -2
				L_ERR   -1
				L_WARN   1
				L_NOTICE 2
				L_INFO   3
				L_DB     4
				L_DBG    5
				L_MEM    6
				
				The memory is the setting for allt the memory operations.
				
				The memory_status controls what is printed on process exit and is either 0, 1 or 2:
				 - 0 - don't show any memory status
				 - 1 - show the summarized memory status
				 - 2 - show the fragment maps and the summarized memory status
			 -->		
		
		<SharedMemory kbytes="16384" />
		<ProcessMemory kbytes="4096" />
		
		<WorkerPool count="4" queue_size="16" /> 
		
	</Core>
	<Module binaryFile="modules/console/console.so" >
		<![CDATA[
	 		<WharfConsole>
				<Prompt text=" eNodeB >"/>
				<Acceptor type="udp" port="10000" bind="192.168.254.91" />
				<Acceptor type="tcp" port="10000" bind="192.168.254.91" />
			</WharfConsole>
		]]>
	</Module>
	<Module binaryFile="modules/ehcp_messaging/ehcp_messaging.so" />
	<Module binaryFile="modules/ehcp_daemon/ehcp_daemon.so">
		<![CDATA[
			<WharfEHCP_Daemon		
			    device="net_c"
			    domain="epc.mnc001.mcc001.3gppnetwork.org"
			    >
			    <DHCP     
			    	local="192.168.3.30"
			    	gateway="192.168.3.30"
			    	netmask="32"
			    	dns="192.168.1.40" />
			    <EHCP     
			    	local="FC00:1234:3::30"
			    	gateway="FC00:1234:3::30"
			    	netmask=""
			    	dns="FC00:1234:1::40" />
                            <Database
	                        hostname="localhost"
	                        database="ehcp_daemon_db"
	                        username="ehcp_daemon"
	                        password="ehcp_daemon" />
			</WharfEHCP_Daemon>
		]]>
	</Module>

	<Module binaryFile="modules/gtp/gtp.so">
		<![CDATA[
			<GTP>
			  <Acceptor id="GTP-U" type="udp" port="2123" bind="192.168.4.91" />
			</GTP>
		]]>
	</Module>
	<Module binaryFile="modules/mysql/mysql.so"/>
	<Module binaryFile="modules/addressing/addressing.so" >
		<![CDATA[
			<WharfAddressingWRR>
				<Default>
					<Address ip="192.168.4.87" weight="1" />
				</Default>
			</WharfAddressingWRR>
		]]>
	</Module>
	<Module binaryFile="modules/sctp/sctp.so"/>
	<Module binaryFile="modules/S1AP/s1ap.so">
		<![CDATA[
			<WharfS1AP>
				<Local addr="192.168.4.91" port="36412" />
			</WharfS1AP>
		]]>
	</Module>
	<Module binaryFile="modules/nas/nas.so"/>
	<Module binaryFile="modules/routing_gtpu/routing_gtpu.so" />	
	<Module binaryFile="modules/routing_raw/routing_raw.so" />
	<Module binaryFile="modules/routing/routing.so" >
		<![CDATA[
			<WharfROUTING>
			<Extension
				id="1"
				dst_table="teid"
				mod_name="routing_gtpu"
				ipv4="192.168.4.91" />
			<Extension
				id="0"
				src_table="ip"
				mod_name="routing_raw"
				interface="net_c"
				ipv4="192.168.4.91"
				ipv6="FC00:1234:3::30"/>
			</WharfROUTING>
		]]>
	</Module>
	
	<Module binaryFile="modules/enodeb/enodeb.so" >
		<![CDATA[
			<WharfEnodeb s1_u="192.168.4.91" default_apn="default" mnc="98" mcc="998" tac="02" cellid="4568">
				<Database
					hostname="localhost"
					username="enodeb"
					password="enodeb"
					database="enodeb_db" />
			</WharfEnodeb>
		]]>
	</Module>
	
	<Module binaryFile="modules/X2AP/x2ap.so">
		<![CDATA[
			 <x2ap>
				<sctp_ep local_ip="192.168.4.91" local_port="36422"/>
<sctp_association id="1" remote_ip="192.168.4.90" remote_port="36422"/>
<sctp_association id="2" remote_ip="192.168.4.92" remote_port="36422"/>
<sctp_association id="3" remote_ip="192.168.4.93" remote_port="36422"/>
<sctp_association id="4" remote_ip="192.168.4.94" remote_port="36422"/>
			 </x2ap>
		]]>
	</Module>
	
	
</Wharf>