///////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 2000-2019 Ericsson Telecom AB
//
// All rights reserved. This program and the accompanying materials
// are made available under the terms of the Eclipse Public License v2.0
// which accompanies this distribution, and is available at
// https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
//
///////////////////////////////////////////////////////////////////////////////
//
//  File:               IPL4_SIP_CtrlFunct.ttcn
//  Rev:                R29B
//  Prodnr:             CNL 113 531
//  Updated:            2008-01-25
//  Contact:            http://ttcn.ericsson.se
//  Reference:          

module IPL4_SIP_CtrlFunct {

  import from IPL4_demo_types all;
  import from IPL4asp_Types all;
  
  external function f_IPL4_listen(
    inout SipEncDec_PT portRef, 
    in HostName locName,
    in PortNumber locPort,
    in ProtoTuple proto,
    in OptionList options := {}
  ) return Result; 

  external function f_IPL4_connect(
    inout SipEncDec_PT portRef,
    in HostName remName,
    in PortNumber remPort,
    in HostName locName,
    in PortNumber locPort,
    in ConnectionId connId,
    in ProtoTuple proto,
    in OptionList options := {}
  ) return Result;

  external function f_IPL4_close(
    inout SipEncDec_PT portRef,
    in ConnectionId id,
    in ProtoTuple proto := { unspecified := {} }
  ) return Result;

  external function f_IPL4_setUserData(
    inout SipEncDec_PT portRef,
    in ConnectionId id,
    in UserData userData
  ) return Result;

  external function f_IPL4_getUserData(
    inout SipEncDec_PT portRef,
    in ConnectionId id,
    out UserData userData
  ) return Result;

} // module IPL4_SIP_CtrlFunct