Loading trunk/ttcn/LibSip_Steps.ttcn +29 −14 Original line number Diff line number Diff line Loading @@ -115,7 +115,7 @@ group ParameterOperations { { id := "uri", paramValue := v_uri }, { id := "nonce=""""", paramValue := omit }, // already enclosed to " characters { id := "response=""""", paramValue := omit }, // already enclosed to " characters { id := "algorithm=""""", paramValue := PX_AUTH_ALGORITHM } // already enclosed to " characters { id := "algorithm", paramValue := PX_AUTH_ALGORITHM } // already enclosed to " characters }}; } Loading Loading @@ -988,6 +988,7 @@ group SetHeaders { vc_cSeq := p_cSeq_s; vc_contact := valueof(m_Contact(m_SipUrl_contactIpaddr(vc_userprofile))); vc_branch := c_branchCookie & f_getRndTag(); vc_via:={ fieldName := VIA_E, Loading Loading @@ -1062,7 +1063,7 @@ group SetHeaders { * @desc function sets header field for the next outgoing REGISTER message * @param p_cSeq_s CSeq parameter to be applied */ function f_setHeaders_REGISTER(inout CSeq p_cSeq_s) runs on SipComponent function f_setHeaders_REGISTER(inout CSeq p_cSeq_s, boolean p_emergency:=false) runs on SipComponent { var SemicolonParam_List v_params; Loading Loading @@ -1094,9 +1095,14 @@ group SetHeaders { if(not vc_firstREGISTER_sent) { if (p_emergency) { v_params := { { "sos", omit } }; vc_contact.contactBody.contactAddresses[0].addressField.addrSpecUnion.urlParameters := v_params; } else { v_params := { {id:=c_expiresId, paramValue:=c_shortRegistration} }; vc_contact.contactBody.contactAddresses[0].contactParams := v_params; } } vc_firstREGISTER_sent := true;//f_setHeaders_Register is called in deREGISTER function Loading Loading @@ -1305,7 +1311,14 @@ group SetHeaders { vc_caller_From := vc_from; if (ischosen(vc_requestUri.components.sip)) { // sip/sips call vc_reqHostPort := vc_requestUri.components.sip.hostPort; } else if (ischosen(vc_requestUri.components.urn)) { // Emergency call vc_reqUrnUri := vc_requestUri.components.urn; } else { log ("f_setHeadersINVITE: unsupported field: ", vc_requestUri); setverdict(fail); } }// end function f_setHeadersINVITE Loading Loading @@ -3638,11 +3651,11 @@ group Registration { * @param p_register register template * @param p_auth flag indicating if authentication is needed */ function f_Registration(inout CSeq p_cSeq_s, out template REGISTER_Request p_register, in boolean p_auth) runs on SipComponent function f_Registration(inout CSeq p_cSeq_s, out template REGISTER_Request p_register, in boolean p_auth, boolean p_emergency:=false) runs on SipComponent { if (PX_SIP_REGISTRATION) { f_setHeaders_REGISTER(p_cSeq_s); //TODO need if p_register not set f_setHeaders_REGISTER(p_cSeq_s, p_emergency); //TODO need if p_register not set p_register := m_REGISTER_Request_Base(vc_requestUri, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via_REG, vc_contact, vc_authorization); f_SendREGISTER(p_register); //LibSip Loading Loading @@ -4380,18 +4393,20 @@ group DefaultsTestStep [] SIPP.receive(mw_Response_Base(mw_statusLine4xx, vc_callId, ?))-> value v_response sender vc_sent_label { setverdict(fail); if(v_response.msgHeader.cSeq.method == "INVITE"){ f_setHeadersOnReceiptOfResponse(v_response.msgHeader.cSeq, v_response); LibSip_Steps.f_setHeadersACK(); f_SendACK(m_ACK_Request_route(vc_requestUri, vc_callId, v_response.msgHeader.cSeq, vc_from, vc_to, vc_via, vc_route)); f_SendACK(m_ACK_Request_route(vc_requestUri, vc_callId, v_response.msgHeader.cSeq, vc_from, vc_to, vc_via, vc_route))}; f_RemoveRegistration(vc_cSeq); } // catch 5xx response [] SIPP.receive(mw_Response_Base(mw_statusLine5xx, vc_callId, ?))-> value v_response sender vc_sent_label { setverdict(fail); if(v_response.msgHeader.cSeq.method == "INVITE"){ f_setHeadersOnReceiptOfResponse(v_response.msgHeader.cSeq, v_response); LibSip_Steps.f_setHeadersACK(); f_SendACK(m_ACK_Request_route(vc_requestUri, vc_callId, v_response.msgHeader.cSeq, vc_from, vc_to, vc_via, vc_route)); f_SendACK(m_ACK_Request_route(vc_requestUri, vc_callId, v_response.msgHeader.cSeq, vc_from, vc_to, vc_via, vc_route))}; f_RemoveRegistration(vc_cSeq); } // catch invalid REGISTER Loading Loading
trunk/ttcn/LibSip_Steps.ttcn +29 −14 Original line number Diff line number Diff line Loading @@ -115,7 +115,7 @@ group ParameterOperations { { id := "uri", paramValue := v_uri }, { id := "nonce=""""", paramValue := omit }, // already enclosed to " characters { id := "response=""""", paramValue := omit }, // already enclosed to " characters { id := "algorithm=""""", paramValue := PX_AUTH_ALGORITHM } // already enclosed to " characters { id := "algorithm", paramValue := PX_AUTH_ALGORITHM } // already enclosed to " characters }}; } Loading Loading @@ -988,6 +988,7 @@ group SetHeaders { vc_cSeq := p_cSeq_s; vc_contact := valueof(m_Contact(m_SipUrl_contactIpaddr(vc_userprofile))); vc_branch := c_branchCookie & f_getRndTag(); vc_via:={ fieldName := VIA_E, Loading Loading @@ -1062,7 +1063,7 @@ group SetHeaders { * @desc function sets header field for the next outgoing REGISTER message * @param p_cSeq_s CSeq parameter to be applied */ function f_setHeaders_REGISTER(inout CSeq p_cSeq_s) runs on SipComponent function f_setHeaders_REGISTER(inout CSeq p_cSeq_s, boolean p_emergency:=false) runs on SipComponent { var SemicolonParam_List v_params; Loading Loading @@ -1094,9 +1095,14 @@ group SetHeaders { if(not vc_firstREGISTER_sent) { if (p_emergency) { v_params := { { "sos", omit } }; vc_contact.contactBody.contactAddresses[0].addressField.addrSpecUnion.urlParameters := v_params; } else { v_params := { {id:=c_expiresId, paramValue:=c_shortRegistration} }; vc_contact.contactBody.contactAddresses[0].contactParams := v_params; } } vc_firstREGISTER_sent := true;//f_setHeaders_Register is called in deREGISTER function Loading Loading @@ -1305,7 +1311,14 @@ group SetHeaders { vc_caller_From := vc_from; if (ischosen(vc_requestUri.components.sip)) { // sip/sips call vc_reqHostPort := vc_requestUri.components.sip.hostPort; } else if (ischosen(vc_requestUri.components.urn)) { // Emergency call vc_reqUrnUri := vc_requestUri.components.urn; } else { log ("f_setHeadersINVITE: unsupported field: ", vc_requestUri); setverdict(fail); } }// end function f_setHeadersINVITE Loading Loading @@ -3638,11 +3651,11 @@ group Registration { * @param p_register register template * @param p_auth flag indicating if authentication is needed */ function f_Registration(inout CSeq p_cSeq_s, out template REGISTER_Request p_register, in boolean p_auth) runs on SipComponent function f_Registration(inout CSeq p_cSeq_s, out template REGISTER_Request p_register, in boolean p_auth, boolean p_emergency:=false) runs on SipComponent { if (PX_SIP_REGISTRATION) { f_setHeaders_REGISTER(p_cSeq_s); //TODO need if p_register not set f_setHeaders_REGISTER(p_cSeq_s, p_emergency); //TODO need if p_register not set p_register := m_REGISTER_Request_Base(vc_requestUri, vc_callId, p_cSeq_s, vc_from, vc_to, vc_via_REG, vc_contact, vc_authorization); f_SendREGISTER(p_register); //LibSip Loading Loading @@ -4380,18 +4393,20 @@ group DefaultsTestStep [] SIPP.receive(mw_Response_Base(mw_statusLine4xx, vc_callId, ?))-> value v_response sender vc_sent_label { setverdict(fail); if(v_response.msgHeader.cSeq.method == "INVITE"){ f_setHeadersOnReceiptOfResponse(v_response.msgHeader.cSeq, v_response); LibSip_Steps.f_setHeadersACK(); f_SendACK(m_ACK_Request_route(vc_requestUri, vc_callId, v_response.msgHeader.cSeq, vc_from, vc_to, vc_via, vc_route)); f_SendACK(m_ACK_Request_route(vc_requestUri, vc_callId, v_response.msgHeader.cSeq, vc_from, vc_to, vc_via, vc_route))}; f_RemoveRegistration(vc_cSeq); } // catch 5xx response [] SIPP.receive(mw_Response_Base(mw_statusLine5xx, vc_callId, ?))-> value v_response sender vc_sent_label { setverdict(fail); if(v_response.msgHeader.cSeq.method == "INVITE"){ f_setHeadersOnReceiptOfResponse(v_response.msgHeader.cSeq, v_response); LibSip_Steps.f_setHeadersACK(); f_SendACK(m_ACK_Request_route(vc_requestUri, vc_callId, v_response.msgHeader.cSeq, vc_from, vc_to, vc_via, vc_route)); f_SendACK(m_ACK_Request_route(vc_requestUri, vc_callId, v_response.msgHeader.cSeq, vc_from, vc_to, vc_via, vc_route))}; f_RemoveRegistration(vc_cSeq); } // catch invalid REGISTER Loading