Commit f2b9d154 authored by poglitsch's avatar poglitsch
Browse files

functions and templates for conference added

parent 703859a1
Loading
Loading
Loading
Loading
+23 −0
Original line number Diff line number Diff line
@@ -331,6 +331,29 @@ group SUT_IMGCF {
	}
} // end group SUT_IMGCF

group SUT_CONF {
	modulepar {
		/**
		 * @desc
		 *     charstring for SUT/conference IP address to exchange SIP messages
		 */
		charstring PX_IMS_SUT_CONF_IPADDR := "172.31.10.10";
		/**
		 * @desc integer for SUT/conference port number to exchange SIP messages
		 */
		integer PX_IMS_SUT_CONF_PORT := 5060;
		/**
		 * @desc charstring for SUT/conference domain
		 */
		charstring PX_IMS_SUT_CONF_HOME_DOMAIN := "conf.sut.net";
		/**
		 * @desc charstring for conference factory URI name
		 */
		charstring PX_IMS_SUT_CONF_FACTORY_NAME := "factory.uri.name";
	};
	
} // end group SUT_CONF

} // end group SUT
group TS {	
group TS_UE1 {
+4 −0
Original line number Diff line number Diff line
@@ -49,6 +49,10 @@ group UserProfileConstants
	  const integer c_interfaceProfile_IMS_SUT_ICSCF := 114; 		// Mw interface at I-CSCF located in SUT
	  const integer c_interfaceProfile_IMS_SUT_MGCF := 115; 		// Mw interface at MGCF located in SUT
	  
	  
	  // number of conference profile
	  const integer c_conferenceProfile_factoryURI := 800;			// confernece factory URI
      
      // number of service profile
      const integer c_serviceProfile_EMERGENCY := 911;
	  const integer c_serviceProfile_EMERGENCY_INVALID := 912;
+51 −9
Original line number Diff line number Diff line
@@ -103,7 +103,6 @@ module LibIms_Steps
		  
		}// end f_setHeadersINVITE
    		
		
		/*
		 * 
		 * @desc setting of Message header fields (IMS addresses)
@@ -235,6 +234,33 @@ module LibIms_Steps
      
	}// end function setHeaders_REGISTER_PCSCF
	
	
	
		/*
		 * 
		 * @desc setting of REFER header fields (IMS addresses)
		 *			extension of general settings from LibSip basic function
		 * @param p_cSeq_s current cSeq 
		 * @param p_to_user user_profile id of the user to be invited
		 * @verdict 
		 */
		function f_setHeadersREFER(inout CSeq p_cSeq_s, in integer p_to_user) runs on ImsComponent
		{      
		  vc_to := LibIms_Steps.f_initToHeader(p_to_user); // init of vc_to using userProfile identifier

		  vc_from := LibIms_Steps.f_initFromHeader(vc_userprofile.id, f_getRndTag()); // init of vc_from using userProfile identifier
            
		  vc_requestUri := f_initSipUrl(p_to_user); // Request URI of Invite is identical with To header
      
		  if (vc_boo_route)
		  { vc_route := valueof(m_route_interface(vc_interfaceprofile))};
		  if (vc_boo_recordRoute)
		  { vc_recordRoute := valueof(m_recordRoute_currIpAddr(vc_userprofile))};
		  
		  LibSip_Steps.f_setHeadersREFER(p_cSeq_s);
		  
		}// end f_setHeadersREFER

	} // end group fieldOperations
	
	group awaitingMessage {
@@ -441,6 +467,22 @@ module LibIms_Steps
			vc_userprofile.currIpaddr := PX_IMS_TS_AS2_IPADDR;			// via, route
			vc_userprofile.homeDomain := PX_IMS_TS_AS2_HOME_DOMAIN;		// via, route
			}
			
			case (c_userProfile_UE1atSUThome) { //variant c_userProfile_UE1atSUThome
			vc_userprofile.currPort := PX_IMS_TS_UE1_PORT;
			vc_userprofile.currIpaddr := PX_IMS_TS_UE1_IPADDR;	
			vc_userprofile.contactPort := PX_IMS_TS_UE1_PORT;
			vc_userprofile.contactIpaddr := PX_IMS_TS_UE1_IPADDR;
			vc_userprofile.bearerIpaddr := PX_IMS_SUT_UE1_BEARER_IPADDR;
			vc_userprofile.homeDomain := PX_IMS_SUT_UE1_HOME_DOMAIN;	
			vc_userprofile.publUsername := PX_IMS_SUT_UE1_PUBLIC_USER;
			vc_userprofile.qop := PX_IMS_SUT_UE1_QOP;
			vc_userprofile.privUsername := PX_IMS_SUT_UE1_PRIVAT_USERNAME;	
			vc_userprofile.passwd := PX_IMS_SUT_UE1_PRIVAT_PASSWD;	
			vc_userprofile.registrarDomain := PX_IMS_SUT_UE1_REGISTRAR;
			}
			
			
			}
		}

@@ -495,10 +537,6 @@ module LibIms_Steps
						p_sipUrl.userInfo := {userOrTelephoneSubscriber:=PX_IMS_SUT_UE3_PUBLIC_USER, password:=omit};
						p_sipUrl.hostPort := {host := PX_IMS_SUT_UE3_HOME_DOMAIN, portField :=omit}
						}
                case (c_userProfile_UE4atSUThome) {
                  		p_sipUrl.userInfo := {userOrTelephoneSubscriber:=PX_IMS_SUT_UE4_PUBLIC_USER, password:=omit};
                  		p_sipUrl.hostPort := {host := PX_IMS_SUT_UE4_HOME_DOMAIN, portField :=omit}
                 		}
				case (c_userProfile_IBCFwithHomeUE) {
						p_sipUrl.userInfo := {userOrTelephoneSubscriber:=PX_IMS_TS_IMS1UE_PUBLIC_USER, password:=omit};
						p_sipUrl.hostPort := {host := PX_IMS_TS_IMS1UE_HOME_DOMAIN, portField :=omit}
@@ -543,6 +581,10 @@ module LibIms_Steps
						p_sipUrl.userInfo := {userOrTelephoneSubscriber:="", password:=omit};
						p_sipUrl.hostPort := {host := PX_IMS_SUT_PCSCF1_IPADDR, portField :=PX_IMS_SUT_PCSCF1_PORT}
						}
				case (c_conferenceProfile_factoryURI) {
    				p_sipUrl.userInfo := {userOrTelephoneSubscriber:=PX_IMS_SUT_CONF_FACTORY_NAME, password:=omit};
    				p_sipUrl.hostPort := {host := PX_IMS_SUT_CONF_HOME_DOMAIN, portField := PX_IMS_SUT_CONF_PORT}
				}						
				};
			return(p_sipUrl)
		}
+39 −0
Original line number Diff line number Diff line
@@ -334,6 +334,12 @@ group HeaderFieldTemplates{
				}
		}
		
		template SubscriptionState mw_subscriptionState(charstring p_state) := {
    		fieldName := SUBSCRIPTION_STATE_E,
    		subState := p_state,
    		substateParams := omit
		}		
		
} // end group HeaderFieldTemplates

group MessageBodyTemplates {
@@ -1219,6 +1225,23 @@ group request_send {
		}
	}
	
	template SUBSCRIBE_Request m_SUBSCRIBE_Request_Event (SipUrl p_requestUri, CallId p_callId, 
		CSeq p_cSeq, From p_from, To p_to, Via p_via, Contact p_contact, template Event p_event)  modifies m_SUBSCRIBE_Request_Base :=
	{
		requestLine	:=
		{
			method := SUBSCRIBE_E,
			requestUri := p_requestUri
		},
		msgHeader :=
		{	
			contact	:= p_contact,
			cSeq	:= {fieldName:=CSEQ_E, seqNumber:= p_cSeq.seqNumber, method:= "SUBSCRIBE"},
			event	:= p_event,
			expires	:= m_Expires_600000
		}
	}
	
}//end group request_send
 
group request_receive {
@@ -1545,6 +1568,22 @@ group request_receive {
		}
	}
	
	template NOTIFY_Request mw_NOTIFY_Request(
		CallId p_callId, 
		charstring p_state,
		charstring p_contentType,
		Event p_event,
		template MessageBody p_mb
	) modifies mw_NOTIFY_Request_Base := {
		msgHeader :=
		{
			subscriptionState := mw_subscriptionState(p_state),
			contentType := {fieldName := CONTENT_TYPE_E, mediaType :=  p_contentType},
			event := p_event
		},
		messageBody := p_mb
	}

}//end group request_receive
group response_send
{