(LibSip)/trunk/ttcn/LibSip_SIPTypesAndValues.ttcn - Rev 632
Rev 622 |
Rev 634 |
Go to most recent revision |
Blame |
Compare with Previous |
Last modification |
View Log
| Download
| SVN
| Bug Tracker
/**
* @author STF 346, STF366, STF368, STF369, STF450, STF471
* @version $Id: LibSip_SIPTypesAndValues.ttcn 623 2014-08-18 12:22:28Z rennoch $
* @desc This module defines message, header, structured and simple SIP
* types as well constants used by LipSip constructs. <br>
* Note that any changes made to the definitions in this module
* may be overwritten by future releases of this library
* End users are encouraged to contact the distributers of this
* module regarding their modifications or additions
* This module is part of LibSipV3.
* @remark Adding of new message and header types is ok; Adding of new optional header fields in
* @see MessageHeader type is ok but should be done at same time as dummy template updates; Existing message or header types shall not be changed or removed - change requests shall be made to http://t-ort.etsi.org
*/
module LibSip_SIPTypesAndValues {
import from LibSip_MessageBodyTypes all;
import from LibSip_PIXITS all;
group Constants {
group SimpleConstants {
// SIP name protocol plus version
const charstring c_sipNameVersion := "SIP/2.0";
// SIP name protocol
const charstring c_sipName := "SIP";
// SIP version
const charstring c_sipVersion := "2.0";
// SIP scheme
const charstring c_sipScheme := "sip";
// TEL scheme
const charstring c_telScheme := "tel";
// URN schema
const charstring c_urnScheme := "urn";
// TAG_ID
const charstring c_tagId := "tag";
// BRANCH_ID
const charstring c_branchId := "branch";
// BRANCH_COOKIE
const charstring c_branchCookie := "z9hG4bK";
// EXPIRES_ID
const charstring c_expiresId := "expires";
// MADDR_ID
const charstring c_maddrId := "maddr";
// METHOD_ID
const charstring c_methodId := "method";
// RECEIVED_ID
const charstring c_receivedId := "received";
// TTL_ID
const charstring c_ttlId := "ttl";
// USER_ID
const charstring c_userId := "user";
// SDP name application
const charstring c_sdpApplication := "application/sdp";
// XML name application
const charstring c_xmlApplication := "application/xml";
// XML name application
const charstring c_xmlreginfoApplication := "application/reginfo+xml";
// XML name resource-list
const charstring c_xmlresourcelistApplication := "application/resource-lists+xml";
// MIME name application
const charstring c_mimeMultipart := "multipart/mixed;boundary=""" & PX_SIP_MIME_BOUNDARY & """";
// IMS 3GPP name application
const charstring c_ims3gppApplication := "application/3gpp-ims+xml";
// IMS 3GPP name CW application
const charstring c_ims3gppCwApplication := "application/vnd.3gpp.cw+xml";
// IMS ETSI name MCID application
const charstring c_imsEtsiMcidApplication := "application/vnd.etsi.mcid+xml";
// IMS ETSI name CUG application
const charstring c_imsEtsiCugApplication := "application/vnd.etsi.cug+xml";
// IMS ETSI name Simservs application(TIP/TIR, ACR, CDIV, OIP/OIR, CUG)
const charstring c_imsEtsiSimservsApplication := "application/vnd.etsi.simservs+xml";
// OCTET-STREAM name application
const charstring c_octetApplication := "application/octet-stream";
// PLAIN-TEXT name application
const charstring c_plainText := "text/plain";
// SIP fragment message
const charstring c_sipfragMessage := "message/sipfrag";
// text content of 1300 bytes for messages with message body
const charstring c_longMessageContent_1300Bytes :=
"0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789" & "0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789" & "0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789" & "0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789" & "0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789" & "0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789" & "0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789" &
"0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789" & "0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789" & "0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789" & "0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789" & "0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789" & "0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789" & oct2char('0D'O) & oct2char('0A'O);
// CRLF
// Default SIP port number : 5060
const integer c_defaultSipPort := 5060;
// Default SIP protocol : UDP
const charstring c_defaultSipProt := "UDP";
// Fixed IP multicast address
const charstring c_mcastSipIpaddr := "224.0.1.75";
// Short delta-second used in expires parameter to acknowledge a registration
const charstring c_shortRegistration := "3600";
// ([RFC3891 ] Sec 6.1)
const charstring c_earlyFlag := "early-only";
// option tag replaces ([RFC3261 ] )
const charstring c_replaces := "replaces";
// option tag 100rel (reliable provisional response [RFC3262 ] )
const charstring c_tag100rel := "100rel";
// option tag from-change ([RFC4916 ] )
const charstring c_tagFromChange := "from-change";
// option tag precondition (ch.11 [RFC3312 ] )
const charstring c_tagPrecond := "precondition";
// due to problem with TAU compiler because hardcoded return statement constant is created
const HostPort c_hostport_dummy := {
host := "",
portField := c_defaultSipPort
};
// CLIP/CLIR information
const PrivacyValue c_privacy_none := "none";
const PrivacyValue c_privacy_id := "id";
const PrivacyValue c_privacy_header := "header";
const PrivacyValue c_privacy_user := "user";
const PrivacyValue c_privacy_critical := "critical";
const PrivacyValue c_privacy_session := "session";
//
const charstring c_AT := "@";
// MRO
const charstring c_SP := oct2char('20'O);
const charstring c_SLASH := oct2char('2F'O);
const charstring c_LT := oct2char('3C'O);
const charstring c_GT := oct2char('3E'O);
// * (wildchard) sign
const charstring c_WILDCARD := "*";
const integer c_CRlen := 2;
// length of new line (0d0a)
const GenericParam c_Integrity_protected_yes := {"integrity-protected", {tokenOrHost := "yes"}};
const GenericParam c_Integrity_protected_no := {"integrity-protected", {tokenOrHost := "no"}};
const GenericParam c_Integrity_protected_ip_assoc_pending := {"integrity-protected", {tokenOrHost := "ip-assoc-pending"}};
const charstring c_algorithm := "MD5";
} // end group SimpleConstants
group AuthorizationConstants {
const charstring c_ik := "";
const charstring c_ck := "";
const charstring c_nonce := "";
const charstring c_nonce_value := "0edff6c521cc3f407f2d9e01cf6ed82b";
} // end group AuthorizationConstants
group PChargingVectorConstants {
const charstring c_icid := "icid-value";
const charstring c_icid_value := "123abc";
const charstring c_icid_generated_at := "icid-generated-at";
const charstring c_orig_ioi := "orig-ioi";
const charstring c_term_ioi := "term-ioi";
const charstring c_access_network_charging_info := "access-network-charging-info";
} // end group PChargingVectorConstants
group HeaderFieldConstants {
const CallId c_empty_CallId := {
fieldName := CALL_ID_E,
callid := ""
};
const ContentType c_empty_ContentType := {
fieldName := CONTENT_TYPE_E,
mediaType := ""
};
const CSeq c_empty_cSeq := {
fieldName := CSEQ_E,
seqNumber := 0,
method := "EMPTY"
};
const From c_empty_From := {
fieldName := FROM_E,
addressField := {
nameAddr := {
displayName := omit,
addrSpec := {
scheme := c_sipScheme,
components := {
sip := {
userInfo := omit,
hostPort := {
host := "127.0.0.1",
portField := c_defaultSipPort
}
}
},
urlParameters := omit,
headers := omit
}
}
},
fromParams := omit
};
const MaxForwards c_maxForwards70 := {
fieldName := MAX_FORWARDS_E,
forwards := 70
};
const SipUrl c_empty_RequestUri := {
scheme := c_sipScheme,
components := {
sip := {
userInfo := omit,
hostPort := {
host := "127.0.0.1",
portField := c_defaultSipPort
}
}
},
urlParameters := omit,
headers := omit
};
const SipUrl c_unavailableUri := {
scheme := c_sipScheme,
components := {
sip := {
userInfo := {
userOrTelephoneSubscriber := "unavailable",
password := omit
},
hostPort := {
host := "anonymous.invalid",
portField := c_defaultSipPort
}
}
},
urlParameters := omit,
headers := omit
};
const To c_empty_To := {
// value of To header
fieldName := TO_E,
addressField := {
nameAddr := {
displayName := omit,
addrSpec := {
scheme := c_sipScheme,
components := {
sip := {
userInfo := omit,
hostPort := {
host := "127.0.0.1",
portField := c_defaultSipPort
}
}
},
urlParameters := omit,
headers := omit
}
}
},
toParams := omit
};
const Via c_empty_Via := {
fieldName := VIA_E,
viaBody := {
{
sentProtocol := {
protocolName := c_sipName,
protocolVersion := c_sipVersion,
transport := c_defaultSipProt
},
sentBy := {
host := "127.0.0.1",
portField := c_defaultSipPort
},
viaParams := omit
}
}
};
}
group UserProfileConstants {
// number of user profile from 1-10 for SIP profile
const integer c_userProfile_SIP1_home := 1;
const integer c_userProfile_SIP2_home := 2;
} // end group UserProfileConstants
group StatusLines {
const StatusLine c_statusLine100 := {c_sipNameVersion, 100, "Trying"};
const StatusLine c_statusLine180 := {c_sipNameVersion, 180, "Ringing"};
const StatusLine c_statusLine181 := {c_sipNameVersion, 181, "Call Is Being Forwarded"};
const StatusLine c_statusLine182 := {c_sipNameVersion, 182, "Queued"};
const StatusLine c_statusLine183 := {c_sipNameVersion, 183, "Session Progress"};
const StatusLine c_statusLine200 := {c_sipNameVersion, 200, "OK"};
const StatusLine c_statusLine202 := {c_sipNameVersion, 202, "Accepted"};
const StatusLine c_statusLine300 := {c_sipNameVersion, 300, "Multiple Choices"};
const StatusLine c_statusLine301 := {c_sipNameVersion, 301, "Moved Permanently"};
const StatusLine c_statusLine302 := {c_sipNameVersion, 302, "Moved Temporarily"};
const StatusLine c_statusLine305 := {c_sipNameVersion, 305, "Use Proxy"};
const StatusLine c_statusLine380 := {c_sipNameVersion, 380, "Alternative Service"};
const StatusLine c_statusLine400 := {c_sipNameVersion, 400, "Bad Request"};
const StatusLine c_statusLine401 := {c_sipNameVersion, 401, "Unauthorized"};
const StatusLine c_statusLine402 := {c_sipNameVersion, 402, "Payment Required"};
const StatusLine c_statusLine403 := {c_sipNameVersion, 403, "Forbidden"};
const StatusLine c_statusLine404 := {c_sipNameVersion, 404, "Not Found"};
const StatusLine c_statusLine405 := {c_sipNameVersion, 405, "Method Not Allowed"};
const StatusLine c_statusLine406 := {c_sipNameVersion, 406, "Not Acceptable"};
const StatusLine c_statusLine407 := {c_sipNameVersion, 407, "Proxy Authentication Required"};
const StatusLine c_statusLine408 := {c_sipNameVersion, 408, "Request Timeout"};
const StatusLine c_statusLine410 := {c_sipNameVersion, 410, "Gone"};
const StatusLine c_statusLine413 := {c_sipNameVersion, 413, "Request Entity Too Large"};
const StatusLine c_statusLine414 := {c_sipNameVersion, 414, "Request-URI Too Long"};
const StatusLine c_statusLine415 := {c_sipNameVersion, 415, "Unsupported Media Type"};
const StatusLine c_statusLine416 := {c_sipNameVersion, 416, "Unsupported URI Scheme"};
const StatusLine c_statusLine420 := {c_sipNameVersion, 420, "Bad Extension"};
const StatusLine c_statusLine421 := {c_sipNameVersion, 421, "Extension Required"};
const StatusLine c_statusLine422 := {c_sipNameVersion, 422, "Session Interval Too Small"};
const StatusLine c_statusLine423 := {c_sipNameVersion, 423, "Interval Too Brief"};
const StatusLine c_statusLine433 := {c_sipNameVersion, 433, "Anonymity Disallowed"};
const StatusLine c_statusLine480 := {c_sipNameVersion, 480, "Temporarily Unavailable"};
const StatusLine c_statusLine481 := {c_sipNameVersion, 481, "Call/Transaction Does Not Exist"};
const StatusLine c_statusLine482 := {c_sipNameVersion, 482, "Loop Detected"};
const StatusLine c_statusLine483 := {c_sipNameVersion, 483, "Too Many Hops"};
const StatusLine c_statusLine484 := {c_sipNameVersion, 484, "Address Incomplete"};
const StatusLine c_statusLine485 := {c_sipNameVersion, 485, "Ambiguous"};
const StatusLine c_statusLine486 := {c_sipNameVersion, 486, "Busy Here"};
const StatusLine c_statusLine487 := {c_sipNameVersion, 487, "Request Terminated"};
const StatusLine c_statusLine488 := {c_sipNameVersion, 488, "Not Acceptable Here"};
const StatusLine c_statusLine493 := {c_sipNameVersion, 493, "Undecipherable"};
const StatusLine c_statusLine500 := {c_sipNameVersion, 500, "Server Internal Error"};
const StatusLine c_statusLine501 := {c_sipNameVersion, 501, "Not implemented"};
const StatusLine c_statusLine502 := {c_sipNameVersion, 502, "Bad Gateway"};
const StatusLine c_statusLine503 := {c_sipNameVersion, 503, "Service Unavailable"};
const StatusLine c_statusLine504 := {c_sipNameVersion, 504, "Server Time-out"};
const StatusLine c_statusLine505 := {c_sipNameVersion, 505, "Version Not Supported"};
const StatusLine c_statusLine513 := {c_sipNameVersion, 513, "Message Too Large"};
const StatusLine c_statusLine580 := {c_sipNameVersion, 580, "Precondition Failure"};
const StatusLine c_statusLine600 := {c_sipNameVersion, 600, "Busy Everywhere"};
const StatusLine c_statusLine603 := {c_sipNameVersion, 603, "Decline"};
const StatusLine c_statusLine604 := {c_sipNameVersion, 604, "Does Not Exist Anywhere"};
const StatusLine c_statusLine606 := {c_sipNameVersion, 606, "Not Acceptable"};
} // end StatusLines
group SIPSyncPointNames {
const charstring c_Ringing := "Ringing";
const charstring c_uPlane := "uPlane";
const charstring c_sync1 := "sync1";
const charstring c_sync2 := "sync2";
const charstring c_sync3 := "sync3";
const charstring c_sync4 := "sync4";
const charstring c_uPlaneStop := "uPlaneStop";
const charstring c_annoucA := "announcementA";
const charstring c_annoucB := "announcementB";
const charstring c_annouc := "announcement";
const charstring c_voicem := "voiceMessage";
}
} // end group Constants
group Types {
group SubTypes {
// Subtypes
group TokenTypes // TokensTypes
{
// [20 ]
type enumerated FieldName {
ACCEPT_E,
ACCEPT_ENCODING_E,
ACCEPT_LANGUAGE_E,
ALERT_INFO_E,
ALLOW_E,
AUTHENTICATION_INFO_E,
AUTHORIZATION_E,
CALL_ID_E,
CALL_INFO_E,
CONTACT_E,
CONTENT_DISPOSITION_E,
CONTENT_ENCODING_E,
CONTENT_LANGUAGE_E,
CONTENT_LENGTH_E,
CONTENT_TYPE_E,
CSEQ_E,
DATE_E,
ERROR_INFO_E,
EXPIRES_E,
FROM_E,
IN_REPLY_TO_E,
MAX_FORWARDS_E,
MIME_VERSION_E,
MIN_EXPIRES_E,
ORGANIZATION_E,
PRIORITY_E,
PROXY_AUTHENTICATE_E,
PROXY_AUTHORIZATION_E,
PROXY_REQUIRE_E,
RECORD_ROUTE_E,
REPLY_TO_E,
REQUIRE_E,
RETRY_AFTER_E,
ROUTE_E,
SERVER_E,
SUBJECT_E,
SUPPORTED_E,
TIMESTAMP_E,
TO_E,
UNSUPPORTED_E,
USER_AGENT_E,
VIA_E,
WARNING_E,
WWW_AUTHENTICATE_E,
// [3262/7.1 ]
RACK_E,
RSEQ_E,
// [3265/7.2 ]
ALLOW_EVENTS_E,
EVENT_E,
SUBSCRIPTION_STATE_E,
// [3313 ]
P_MEDIA_AUTHORIZATION_E,
// [3323 ]
PRIVACY_E,
// [3325 ]
P_ASSERTED_ID_E,
P_PREFERRED_ID_E,
P_PREFERRED_SERVICE_E,
// [3326 ]
REASON_E,
// [3515 ] - REFER method
REFER_TO_E,
// [4488 ] - REFER method
REFER_SUB_E,
// [3891 ]
REPLACES_E,
// [3892 ] - REFER method
REFERRED_BY_E,
// [4244 ]
HISTORY_INFO_E,
// [3313 ]
P_MEDIA_AUTH_E,
// [3327 ]
PATH_E,
// [3329 ]
SECURITY_CLIENT_E,
SECURITY_SERVER_E,
SECURITY_VERIFY_E,
// [3455 ]
P_ACCESS_NETWORK_INFO_E,
P_ASSOCIATED_URI_E,
P_CALLED_PARTY_E,
P_CHARGING_FUNCTION_ADDRESSES_E,
P_CHARGING_VECTOR_E,
P_VISITED_NETWORK_E,
// [3608 ]
SERVICE_ROUTE_E,
// [3841 ]
ACCEPT_CONTACT_E,
REQUEST_DISPOSITION_E,
// [4028 ]
MIN_SE_E,
SESSION_EXPIRES_E,
P_ASSERTED_SERVICE_E,
// [5009 ]
P_EARLY_MEDIA_E,
// http://tools.ietf.org/html/draft-johnston-sipping-cc-uui-07
// Transporting User to User Call Control Information in SIP for ISDN Interworking
USER_TO_USER_E,
// [6442 ] /*
// @sic R5-133151 update of header fields sic@ */
GEOLOCATION_E,
GEOLOCATION_ROUTING_E,
SESSION_ID_E,
SIP_ETAG_E,
SIP_IF_MATCH_E,
FEATURE_CAPS_E
}
// [7.1 ]
type enumerated Method {
ACK_E,
BYE_E,
CANCEL_E,
INVITE_E,
OPTIONS_E,
REGISTER_E,
PRACK_E // Note: this element is not defined in [5 ]
,
SUBSCRIBE_E,
NOTIFY_E // [3265 ]
,
PUBLISH_E // [3903/12 ]
,
REFER_E // [3515 ]
,
UPDATE_E // [3311 ]
,
MESSAGE_E // [3428 ]
,
INFO_E // [2976 ]
,
UNKNOWN_METHOD_E
}
type union GenValue {
charstring tokenOrHost,
charstring quotedString
}
// [20.1, 20.3, 20.4, 20.7, 20.9, 20.10, 20.11, 20.18, 20.20, 20.27, 20.28, 20.30, 20.31,
// 20.33, 20.34, 20.39, 20.42, 20.44 ]
type record GenericParam {
charstring id,
GenValue paramValue optional
}
// [? ]
type set of GenericParam SemicolonParam_List;
// [? ]
type set of GenericParam AmpersandParam_List;
// [? ]
type set of GenericParam CommaParam_List;
type set length (1..infinity) of charstring Charstring_List;
// [20.10, 20.20, 20.30, 20.31, 20.34, 20.39, 20.42, 20.43 ]
type record HostPort {
charstring host optional,
// hostname, IPv4 or IPv6
integer portField
optional // represented as an integer
}
// [20.10, 20.20, 20.30, 20.31, 20.34, 20.39 ]
/**
* @desc identifier for user or telephone subscriber
* @member userOrTelephoneSubscriber provides the username or a phone name identifying the subscriber
* @member password related password information
*/
type record UserInfo {
charstring userOrTelephoneSubscriber,
charstring password optional
}
// [19.1.1 ;used in: 20.10, 20.20, 20.30, 20.31, 20.34, 20.39 ]
/**
* @desc Uniform Resource Identifier (URI)
* @member scheme distinguishes call types, e.g. voice, fax etc. or related address scheme, e.g. tel, sip
* @member userInfo Contains user information (also in non-SIP URLs) with optional parameter as passwords
* @member hostPort Hostname or IP address information and port identifier of the target
* @member urlParameters Contains either SIP or TEL URL parameters, separated by semicolons, e.g. transport=tcp or user=phone
* @member headers Additional information added after the parameters, e.g. priority=urgent
*/
type record SipUriComponents {
// sip-uri acc. to RFC 3261 cl. 19.1
UserInfo userInfo optional,
HostPort hostPort
}
type record TelUriComponents {
// tel-uri acc. to RFC 3966
charstring subscriber
}
type record UrnUriComponents {
// urn-uri acc. to RFC 2141
charstring namespaceId,
// e.g. "service" as acc. to RFC 5031
charstring
namespaceSpecificString // e.g. "sos"
}
type union UriComponents {
SipUriComponents sip,
// scheme: "sip" or sips"
TelUriComponents tel,
// scheme: "tel"
UrnUriComponents urn,
// scheme: "urn"
charstring
other // scheme: none of the above schemes
}
type record SipUrl {
charstring scheme,
// e.g "sip" or "tel"
UriComponents components,
// corresponding to the scheme
SemicolonParam_List urlParameters optional,
AmpersandParam_List headers optional
}
// [20.1, RFC2616 14.1 ]
type record AcceptBody {
charstring mediaRange,
SemicolonParam_List acceptParam optional
}
// [20.1, RFC2616 14.1 ]
type set of AcceptBody AcceptBody_List;
// [20.4 ]
type record AlertInfoBody {
charstring url,
// any URI
SemicolonParam_List genericParams optional
}
// [20.4 ]
type set of AlertInfoBody AlertInfoBody_List;
// [20.8 ]
type charstring CallidString;
// token ["
// [20.8 ]
type set of CallidString CallidString_List;
// [20.9 ]
type record CallInfoBody {
charstring url,
// any URI
SemicolonParam_List infoParams optional
}
// [20.9 ]
type set of CallInfoBody CallInfoBody_List;
// [20.27, 20.44, .......10.32, 10.48; RFC2616 14.33, 14.47; RFC2617 1.2 ]
type union Challenge {
CommaParam_List digestCln,
OtherAuth otherChallenge
}
// [20.10, 20.20, 20.30, 20.31, 20.34, 20.39 ]
type record NameAddr {
charstring displayName optional,
SipUrl addrSpec
}
// [20.10, 20.20, 20.31, 20.39 ]
type union Addr_Union {
NameAddr nameAddr,
SipUrl
addrSpecUnion // STS: "Union" added to filed name to avoid dangerous name equivalence with 2nd NameAddr field
}
// [20.10 ]
type record ContactAddress {
Addr_Union addressField,
SemicolonParam_List contactParams optional
}
// [20.10 ]
type set of ContactAddress ContactAddress_List;
// 1 or more elements
// [20.10 ]
type union ContactBody {
charstring wildcard,
ContactAddress_List contactAddresses
}
// [20.2, 20.12; RFC2616 14.3, 14.11 ]
type charstring ContentCoding;
// [20.2, 20.12; RFC2616 14.3, 14.11 ]
type set of ContentCoding ContentCoding_List;
// [20.7, 20.28; RFC2616 14.35 RFC2617 1.2 ]
type union Credentials {
CommaParam_List digestResponse,
OtherAuth otherResponse
}
// allow multiple Authorization headers due to RFC3261 ch. 20.7 and 20.28
type record of Credentials CredentialsList;
// [20.19, 20.23, 20.33 ]
type charstring DeltaSec;
// an external operation can handle this field
// [20.18 ]
type record ErrorInfoBody {
charstring uri,
// any URI
SemicolonParam_List genericParams optional
}
// [20.18 ]
type set of ErrorInfoBody ErrorInfoBody_List;
// [20.3 RFC2616 14.4 ]
type record LanguageBody {
charstring languageRange,
SemicolonParam_List acceptParam optional
}
// [20.3 RFC2616 14.4 ]
type set of LanguageBody LanguageBody_List;
// [20.13; RFC2616 14.12 ]
type charstring LanguageTag;
// [20.13; RFC2616 14.12 ]
type set of LanguageTag LanguageTag_List;
// [20.5 ]
type set of charstring Method_List;
// [20.29, 20.32, 20.37, 20.40 ]
type charstring OptionTag;
// [20.29, 20.32, 20.37, 20.40 ]
type set of OptionTag OptionTag_List;
// [20.7, 20.27, 20.28, 20.44 ; RFC2616 14.33, 14.47; RFC2617 1.2 ]
type record OtherAuth {
charstring authScheme,
CommaParam_List authParams
}
type record Payload {
integer payloadlength,
charstring payloadvalue
}
// [20.30,20.34 ]
type record RouteBody {
NameAddr nameAddr,
SemicolonParam_List rrParam optional
}
// [20.30,20.34 ]
type record of RouteBody RouteBody_List;
// [20.42 ]
type record SentProtocol {
charstring protocolName,
charstring protocolVersion,
charstring transport
}
// [20.35, 20.41; RFC2616 14.43 ]
type charstring ServerVal;
// [20.35, 20.41; RFC2616 14.43 ]
type set of ServerVal ServerVal_List;
// [20.38 ]
type record TimeValue {
integer majorDigit,
// represented as an integer
integer minorDigit
optional // represented as an integer
}
// [20.42 ]
type record ViaBody {
SentProtocol sentProtocol,
HostPort sentBy,
SemicolonParam_List viaParams optional
}
// [20.42 ]
type record of ViaBody ViaBody_List;
// [20.43 ]
type union WarnAgent {
HostPort hostPort,
charstring pseudonym
}
// [20.43 ]
type record WarningValue {
integer warnCode,
// represented as an integer
WarnAgent warnAgent,
charstring warnText
}
// [20.43 ]
type set of WarningValue WarningValue_List;
type Addr_Union PAssertedIDValue;
type record of PAssertedIDValue PAssertedIDValue_List;
type charstring PAssertedServiceValue;
type Addr_Union PPreferredIDValue;
type record of PPreferredIDValue PPreferredIDValue_List;
type charstring PrivacyValue;
type record of PrivacyValue PrivacyValue_List;
type set of FcValue FcValue_List;
type record FcValue {
charstring wildcard(c_WILDCARD),
SemicolonParam_List fcParams optional
}
} // end group TokensType
group HeaderFieldTypes // Header Fields
{
group CommonHeaderFieldTypes {
// [20.1, RFC2616 14.1 ]
type record Accept {
FieldName fieldName (ACCEPT_E) ,
AcceptBody_List acceptArgs optional
}
// [20.2, RFC2616 14.3 ]
type record AcceptEncoding {
FieldName fieldName (ACCEPT_ENCODING_E) ,
ContentCoding_List contentCoding optional
}
// [20.3, RFC2616 14.4 ]
type record AcceptLanguage {
FieldName fieldName (ACCEPT_LANGUAGE_E) ,
LanguageBody_List languageBody optional
}
// [20.4 ]
type record AlertInfo {
FieldName fieldName (ALERT_INFO_E) ,
AlertInfoBody_List alertInfoBody optional
}
// [20.5 ]
type record Allow {
FieldName fieldName (ALLOW_E) ,
Method_List methods optional
}
// [20.6 ]
type record AuthenticationInfo {
FieldName fieldName (AUTHENTICATION_INFO_E) ,
CommaParam_List ainfo
}
// [20.7 RFC2617 3.2.2 ]
type record Authorization {
FieldName fieldName (AUTHORIZATION_E) ,
CredentialsList
body // changed from Credentials to allow multiple Authorization headers
}
// [20.8 ]
type record CallId {
FieldName fieldName (CALL_ID_E) ,
CallidString callid
}
// [20.9 ]
type record CallInfo {
FieldName fieldName (CALL_INFO_E) ,
CallInfoBody_List callInfoBody optional
}
// [20.10 ]
type record Contact {
FieldName fieldName (CONTACT_E) ,
ContactBody contactBody
}
// [20.11 ]
type record ContentDisposition {
FieldName fieldName (CONTENT_DISPOSITION_E) ,
charstring dispositionType,
SemicolonParam_List dispositionParams optional
}
// [20.12 RFC2616 14.11 ]
type record ContentEncoding {
FieldName fieldName (CONTENT_ENCODING_E) ,
ContentCoding_List contentCoding
}
// [20.13 RFC2616 14.12 ]
type record ContentLanguage {
FieldName fieldName (CONTENT_LANGUAGE_E) ,
LanguageTag_List languageTag
}
// [20.14 ]
type record ContentLength {
FieldName fieldName (CONTENT_LENGTH_E) ,
integer
len // this field is represented as an integer
}
// [20.15 ]
type record ContentType {
FieldName fieldName (CONTENT_TYPE_E) ,
charstring mediaType
}
// [20.16 ]
type record CSeq {
FieldName fieldName (CSEQ_E) ,
integer seqNumber,
// this field is represented as an integer
charstring method
}
// [20.17 ]
type record Date {
FieldName fieldName (DATE_E) ,
charstring sipDate
}
// [20.18 ]
type record ErrorInfo {
FieldName fieldName (ERROR_INFO_E) ,
ErrorInfoBody_List errorInfo optional
}
// [20.19 ]
type record Expires {
FieldName fieldName (EXPIRES_E) ,
DeltaSec deltaSec
}
//[6809]
type record FeatureCaps {
FieldName fieldName(FEATURE_CAPS_E),
FcValue_List fcValues
}
// [20.20 ]
type record From {
FieldName fieldName (FROM_E) ,
Addr_Union addressField,
SemicolonParam_List fromParams optional
}
// [20.21 ]
type record InReplyTo {
FieldName fieldName (IN_REPLY_TO_E) ,
CallidString_List callids
}
// [20.22 ]
type record MaxForwards {
FieldName fieldName (MAX_FORWARDS_E) ,
integer
forwards // this field is represented as an integer
}
// [20.23 ]
type record MinExpires {
FieldName fieldName (MIN_EXPIRES_E) ,
DeltaSec deltaSec
}
// [20.24 RFC2616 19.4.1 ]
type record MimeVersion {
FieldName fieldName (MIME_VERSION_E) ,
integer majorNumber,
// this field is represented as an integer
integer
minorNumber // this field is represented as an integer
}
// [20.25 ]
type record Organization {
FieldName fieldName (ORGANIZATION_E) ,
charstring organization
}
// [20.26 ]
type record Priority {
FieldName fieldName (PRIORITY_E) ,
charstring priorityValue
}
// [20.27 RFC2616 14.33 RFC2617 1.2 ]
type record ProxyAuthenticate {
FieldName fieldName (PROXY_AUTHENTICATE_E) ,
Challenge challenge
}
// [20.28 RFC2616 14.35 RFC2617 1.2 ]
type record ProxyAuthorization {
FieldName fieldName (PROXY_AUTHORIZATION_E) ,
CredentialsList
credentials // changed from Credentials to allow multiple Authorization headers
}
// [20.29 ]
type record ProxyRequire {
FieldName fieldName (PROXY_REQUIRE_E) ,
OptionTag_List optionsTags
}
// [20.30 ]
type record RecordRoute {
FieldName fieldName (RECORD_ROUTE_E) ,
RouteBody_List routeBody
}
// [20.31 ]
type record ReplyTo {
FieldName fieldName (REPLY_TO_E) ,
Addr_Union addressField,
SemicolonParam_List replyToParams optional
}
// [20.32 ]
type record Require {
FieldName fieldName (REQUIRE_E) ,
OptionTag_List optionsTags
}
// [20.33 ]
type record RetryAfter {
FieldName fieldName (RETRY_AFTER_E) ,
DeltaSec deltaSec,
charstring comment optional,
SemicolonParam_List retryParams optional
}
// [20.34 ]
type record Route {
FieldName fieldName (ROUTE_E) ,
RouteBody_List routeBody
}
// [20.35 RFC2616 14.38 ]
type record Server {
FieldName fieldName (SERVER_E) ,
ServerVal_List serverBody
}
// [20.36 ]
type record Subject {
FieldName fieldName (SUBJECT_E) ,
charstring summary
}
// [20.37 ]
type record Supported {
FieldName fieldName (SUPPORTED_E) ,
OptionTag_List optionsTags optional
}
// [20.38 ]
type record Timestamp {
FieldName fieldName (TIMESTAMP_E) ,
TimeValue timeValue optional,
TimeValue delay optional
}
// [20.39 ]
type record To {
FieldName fieldName (TO_E) ,
Addr_Union addressField,
SemicolonParam_List toParams optional
}
// [20.40 ]
type record Unsupported {
FieldName fieldName (UNSUPPORTED_E) ,
OptionTag_List optionsTags
}
// Undefined header field
type record UndefinedHeader {
charstring headerName,
charstring headerValue
}
type set of UndefinedHeader UndefinedHeader_List;
// [20.41 RFC2616 14.43 ]
type record UserAgent {
FieldName fieldName (USER_AGENT_E) ,
ServerVal_List userAgentBody
}
// [20.42 ]
type record Via {
FieldName fieldName (VIA_E) ,
ViaBody_List viaBody
}
// [20.43 ]
type record Warning {
FieldName fieldName (WARNING_E) ,
WarningValue_List warningValue
}
// [20.44 RFC2616 14.47 RFC2617 1.2 ]
type record WwwAuthenticate {
FieldName fieldName (WWW_AUTHENTICATE_E) ,
Challenge challenge
}
} // end group CommonHeaderFieldTypes
group RFC3262HeaderFieldTypes {
// [3262/7.1 ]
type record RSeq {
FieldName fieldName (RSEQ_E) ,
integer responseNum
}
// [3262/7.2 ]
type record RAck {
FieldName fieldName (RACK_E) ,
integer responseNum,
integer seqNumber,
charstring method
}
} // end group RFC3262HeaderFieldTypes
group RFC3265HeaderFieldTypes {
// [3265/7.2 ]
type record AllowEvents {
FieldName fieldName (ALLOW_EVENTS_E) ,
EventType_List eventTypes
}
type set of EventType EventType_List;
type charstring EventType;
// [3265/7.2 ]
type record Event {
FieldName fieldName (EVENT_E) ,
EventType eventType,
SemicolonParam_List eventParams optional
}
// [3265/7.2 ]
type record SubscriptionState {
FieldName fieldName (SUBSCRIPTION_STATE_E) ,
SubState subState,
SemicolonParam_List substateParams optional
}
type charstring SubState;
} // end group RFC3265HeaderFieldTypes
group RFC3313HeaderFieldTypes {
// [3313/5 ]
type record PMediaAuthorization {
FieldName fieldName (P_MEDIA_AUTHORIZATION_E) ,
PMediaAuthorization_List pMediaAuthorizations
}
type charstring PMediaAuthValue;
// HEXDIG "0"-"9", "A"-"F"
type record of PMediaAuthValue PMediaAuthorization_List;
} // end group RFC3265HeaderFieldTypes
group RFC3323HeaderFieldTypes {
// [3323 ]
type record Privacy {
FieldName fieldName (PRIVACY_E) ,
PrivacyValue_List privValueList
}
} // end group RFC3323HeaderFieldTypes
group RFC3325HeaderFieldTypes {
// [3325 ]
type record PAssertedID {
FieldName fieldName (P_ASSERTED_ID_E) ,
PAssertedIDValue_List pAssertedIDValueList
}
// [3325 ]
type record PPreferredID {
FieldName fieldName (P_PREFERRED_ID_E) ,
PPreferredIDValue_List pPreferredIDValueList
}
// draft-drage-sipping-service-identification-01 (July 2007)
type record PPreferredService {
FieldName fieldName (P_PREFERRED_SERVICE_E) ,
charstring serviceId
}
} // end group RFC3325HeaderFieldTypes
group RFC3326HeaderFieldTypes {
// [3326 ]
type record of ReasonValue ReasonValues;
type record ReasonValue {
charstring token,
SemicolonParam_List reasonParams optional
}
type record Reason {
FieldName fieldName (REASON_E) ,
ReasonValues reasonValues
}
} // end group RFC3326HeaderFieldTypes
group RFC3327HeaderFieldTypes {
// [3327 ]
type record Path {
FieldName fieldName (PATH_E) ,
PathValues pathValues
}
type record of PathValue PathValues;
type record PathValue {
NameAddr nameAddr,
SemicolonParam_List rrParam optional
}
} // end group RFC3515HeaderFieldTypes
group RFC4488HeaderFieldTypes {
// [4488 ]
type record ReferSub {
FieldName fieldName (REFER_SUB_E) ,
boolean referSubValue,
SemicolonParam_List referSubParams optional
}
} // end group RFC4488HeaderFieldTypes
group RFC3329HeaderFieldTypes {
// [RFC3329/2.2 ]
type record SecurityMechanism {
charstring mechName,
SemicolonParam_List mechParams optional
}
type set of SecurityMechanism SecurityMechanism_List;
type record SecurityClient {
FieldName fieldName (SECURITY_CLIENT_E) ,
SecurityMechanism_List securityMech
}
type record SecurityServer {
FieldName fieldName (SECURITY_SERVER_E) ,
SecurityMechanism_List securityMech
}
type record SecurityVerify {
FieldName fieldName (SECURITY_VERIFY_E) ,
SecurityMechanism_List securityMech
}
} // end group RFC3329HeaderFieldTypes
group RFC3455HeaderFieldTypes {
type record of NameAddrParam NameAddrParam_List;
type record NameAddrParam {
NameAddr nameAddr,
SemicolonParam_List genericParams optional
}
// [3455/5.1 ]
type record PAssociatedURI {
FieldName fieldName (P_ASSOCIATED_URI_E) ,
NameAddrParam_List nameAddrList
}
// [3455/5.2 ]
type record PCalledPartyID {
FieldName fieldName (P_CALLED_PARTY_E) ,
NameAddrParam nameAddParams
}
type record of VnetworkSpec VnetworkSpec_List;
type record VnetworkSpec {
charstring vNetworkSpecToken,
SemicolonParam_List genericParams optional
}
// [3455/5.3 ]
type record PVisitedNetworkID {
FieldName fieldName (P_VISITED_NETWORK_E) ,
VnetworkSpec_List vNetWorkSpec
}
// [3455/5.4 ]
type record PAccessNetworkInfo {
FieldName fieldName (P_ACCESS_NETWORK_INFO_E) ,
charstring accessType,
SemicolonParam_List genericParams optional
}
// [3455/5.5 ]
type record PChargingFunctionAddresses {
FieldName fieldName (P_CHARGING_FUNCTION_ADDRESSES_E) ,
SemicolonParam_List chargeAddrParams optional
}
// [3455/5.6 ]
type record PChargingVector {
FieldName fieldName (P_CHARGING_VECTOR_E) ,
charstring icidValue,
SemicolonParam_List chargeParams optional
}
} // end group RFC33455HeaderFieldTypes
group RFC3515HeaderFieldTypes {
// [3515 ]
type record ReferTo {
FieldName fieldName (REFER_TO_E) ,
NameAddr nameAddr,
SemicolonParam_List referToParams optional
}
} // end group RFC3515HeaderFieldTypes
group RFC3608HeaderFieldTypes {
// [3608 ]
type record ServiceRoute {
FieldName fieldName (SERVICE_ROUTE_E) ,
RouteBody_List routeBody
}
} // end group RFC33608HeaderFieldTypes
group RFC3841HeaderFieldTypes {
// [3841 ]
type record AcceptContact {
FieldName fieldName (ACCEPT_CONTACT_E) ,
AcRcValue_List acValues
}
type set of AcRcValue AcRcValue_List;
type record AcRcValue {
charstring wildcard (c_WILDCARD) ,
SemicolonParam_List acRcParams optional
}
// [RFC 3841 ]
type charstring Directive;
type set of Directive Directive_List;
type record RequestDisposition {
FieldName fieldName (REQUEST_DISPOSITION_E) ,
Directive_List directives
}
} // end group RFC3841HeaderFieldTypes
group RFC3891HeaderFieldTypes {
// [3891 ]
type record Replaces {
FieldName fieldName (REPLACES_E) ,
CallidString callid,
SemicolonParam_List replacesParams optional
}
} // end group RFC3891HeaderFieldTypes
group RFC3892HeaderFieldTypes {
// [3892 ]
type record ReferredBy {
FieldName fieldName (REFERRED_BY_E) ,
NameAddr nameAddr,
SemicolonParam_List referredbyIdParams optional
}
} // end group RFC3892HeaderFieldTypes
group RFC4028HeaderFieldTypes {
// [4028 ]
type record MinSE {
FieldName fieldName (MIN_SE_E) ,
DeltaSec deltaSec,
SemicolonParam_List minSeParam optional
}
// [4028 ]
type record SessionExpires {
FieldName fieldName (SESSION_EXPIRES_E) ,
DeltaSec deltaSec,
SemicolonParam_List seParam optional
}
} // end group RFC4028HeaderFieldTypes
group RFC4244HeaderFieldTypes {
// [4244 ]
type record HistoryInfo {
FieldName fieldName (HISTORY_INFO_E) ,
HistoryInfo_List historyInfoList
}
type record of HistoryInfoEntry HistoryInfo_List;
type record of integer IntegerList;
type record HistoryInfoEntry {
NameAddr nameAddr,
IntegerList hiIndex optional,
SemicolonParam_List hiExtention optional
}
type record of charstring StringList;
} // end group RFC4244HeaderFieldTypes
group RFC5009PEarlyMediaHeader {
// [5009 ]
type record PEarlyMedia {
FieldName fieldName (P_EARLY_MEDIA_E) ,
EM_List em_param
}
type record of charstring EM_List;
} // end group RFC5009PEarlyMediaHeader
// http://tools.ietf.org/html/draft-johnston-sipping-cc-uui-07, expires 16.Aug.2009
// Transporting User to User Call Control Information in SIP for ISDN Interworking
// type definition of SIP header mechanism
group UserToUser_PreliminaryRFCDraft {
type record UserToUser {
FieldName fieldName (USER_TO_USER_E) ,
charstring uuiData length(256),
/*length limitation due to ISDN, max of allowed 128 hex digits are represented by 256 characters*/
GenericParam uuiParam
}
} // end group UserToUser_PreliminaryRFCDraft
type record PAssertedService {
FieldName fieldName (P_ASSERTED_SERVICE_E) ,
PAssertedServiceValue pAssertedServiceValue
}
group RFC6442GeolocationConveyance {
/* @sic R5-133151 update of header fields sic@ */
// [6442 ]
type record Geolocation {
// RFC6442 clause 4.1
FieldName fieldName (GEOLOCATION_E) ,
SipUrl addrSpec,
SemicolonParam_List geolocParam optional
}
type enumerated GeolocationRoutingState {
GEOLOCATION_ROUTING_YES_E, GEOLOCATION_ROUTING_NO_E, GEOLOCATION_ROUTING_OTHER_E
}
type record GeolocationRouting {
// RFC6442 clause 4.2
FieldName fieldName (GEOLOCATION_ROUTING_E) ,
GeolocationRoutingState state,
GenericParam genericValue optional
}
} // end group RFC6442GeolocationConveyance
type charstring SessIdString length(32);
type record SessionId {
FieldName fieldName (SESSION_ID_E) ,
SessIdString sessid,
GenericParam sessidParam optional
}
type charstring EntityTag;
type record SIP_ETag {
FieldName fieldName (SIP_ETAG_E) ,
EntityTag entityTag
}
type record SIP_If_Match {
FieldName fieldName (SIP_IF_MATCH_E) ,
EntityTag entityTag
}
} // end group HeaderFieldTypes
group MessageHeaderTypes {
// Message-Header for all SIP requests and responses [20 ]
type set MessageHeader {
Accept accept optional,
AcceptContact acceptContact optional,
AcceptEncoding acceptEncoding optional,
AcceptLanguage acceptLanguage optional,
AlertInfo alertInfo optional,
Allow allow optional,
AllowEvents allowEvents optional,
// 3265/7.2
AuthenticationInfo authenticationInfo optional,
// only in responses
Authorization authorization optional,
// only in requests
CallId callId optional,
// optional only in Invalid test cases mandatory otherwise
CallInfo callInfo optional,
Contact contact optional,
// optional in response and all requests except INVITE where mandatory
ContentDisposition contentDisposition optional,
ContentEncoding contentEncoding optional,
ContentLanguage contentLanguage optional,
ContentLength contentLength optional,
// optional in responses and all requests except ACK where mandatory
ContentType contentType optional,
CSeq cSeq optional,
// optional only in Invalid test cases mandatory otherwise
Date date optional,
ErrorInfo errorInfo optional,
// only in responses
Event event optional,
// 3265/7.2
Expires expires optional,
From fromField,
Geolocation geolocation optional,
// 6442
GeolocationRouting geolocationRouting optional,
// 6442
// @sic R5-133151 update of header fields sic@
HistoryInfo historyInfo optional,
// 4244
InReplyTo inReplyTo optional,
// only in requests
MaxForwards maxForwards optional,
// mandatory in requests not required in responses!
MimeVersion mimeVersion optional,
MinExpires minExpires optional,
// only in responses
MinSE minSE optional,
// 4028
Organization organization optional,
PAccessNetworkInfo pAccessNetworkInfo optional,
// 3455
PAssertedID pAssertedID optional,
// 3325
PAssertedService pAssertedService optional,
PAssociatedURI pAssociatedURI optional,
// 3455
Path path optional,
// 3327
PCalledPartyID pCalledPartyID optional,
// 3455
PChargingFunctionAddresses pChargingFunctionAddresses optional,
// 3455
PChargingVector pChargingVector optional,
// 3455
PEarlyMedia pEarlyMedia optional,
// 5009
PMediaAuthorization pMediaAuthorization optional,
// 3313
PPreferredID pPreferredID optional,
// 3325
PPreferredService pPreferredService optional,
// draft-drage-sipping-service-identification-01 (July 2007)
Priority priority optional,
// only in requests
Privacy privacy optional,
// 3323
ProxyAuthenticate proxyAuthenticate optional,
// only in responses
ProxyAuthorization proxyAuthorization optional,
// only in requests
ProxyRequire proxyRequire optional,
// only in requests
PVisitedNetworkID pVisitedNetworkID optional,
// 3455
RAck rAck optional,
// 3262/7.1
RSeq rSeq optional,
// 3262/7.1
Reason reason optional,
// 3326
RecordRoute recordRoute optional,
RequestDisposition requestDisposition optional,
// 3841
ReferredBy referredBy optional,
// 3892 - REFER method
ReferTo referTo optional,
// 3515 - REFER method
ReferSub referSub optional,
// 4488 - REFER method
Replaces replaces optional,
// 3891
ReplyTo replyTo optional,
// optional in responses and INVITE requests
Require require optional,
RetryAfter retryAfter optional,
// only in responses
Route route optional,
// only in requests
SecurityClient securityClient optional,
// 3329
SecurityServer securityServer optional,
// 3329
SecurityVerify securityVerify optional,
// 3329
Server server optional,
// only in responses
ServiceRoute serviceRoute optional,
// 3608
SessionExpires sessionExpires optional,
// 4028
SessionId sessionId optional,
SIP_ETag sipETag optional,
SIP_If_Match sipIfMatch optional,
Subject subject optional,
// only in requests
SubscriptionState subscriptionState optional,
// 3265/7.2
Supported supported optional,
Timestamp timestamp optional,
To toField,
Unsupported unsupported optional,
// only in responses
UserToUser userToUser optional,
UserAgent userAgent optional,
Via via,
Warning warning optional,
// only in responses
WwwAuthenticate wwwAuthenticate optional,
// only in responses
UndefinedHeader_List undefinedHeader_List optional
}
} // end group MessageHeaderTypes
group StartLineTypes {
// Request-Line [7.1 ]
type record RequestLine {
Method method,
SipUrl requestUri,
charstring sipVersion
}
// Status-Line [7.2 ]
type record StatusLine {
charstring sipVersion,
integer statusCode,
charstring reasonPhrase
}
} // end group StartLineTypes
group otherTypes {
type record SipUserProfile {
/**
* @desc integer for the userprofile identifier
*/
integer id,
/**
* @desc integer for Port number to exchange SIP messages
*/
integer currPort,
/**
* @desc charstring for IP address to exchange SIP messages
*/
charstring currIpaddr,
/**
* @desc integer for Port number to exchange SIP messages
*/
integer contactPort,
/**
* @desc charstring for IP address to exchange SIP messages
*/
charstring contactIpaddr,
/**
* @desc charstring for IP address used by the TS to exchange media streams
*/
charstring bearerIpaddr,
/**
* @desc charstring for identity of the tester local domain
*/
charstring homeDomain,
/**
* @desc charstring for identity of the tester local user
*/
charstring publUsername,
/**
* @desc charstring for RFC 2617 3.2.1 qop options: Quoted string of one or more tokens indicating the "quality of protection" values supported by the server. The value "auth" indicates authentication; the value "auth-int" indicates authentication with integrity protection.
*/
charstring qop,
/**
* @desc charstring for RFC 2617 3.2.2 username for authentication The name of user in the specified realm
*/
charstring privUsername,
/**
* @desc charstring for RFC 2617 3.2.2.2 passwd: A known shared secret, the password of user of the specified username
*/
charstring passwd,
/**
* @desc charstring for registrar domain for authentication and request line
*/
charstring registrarDomain
}
} // end group otherTypes
} // end group Subtypes
group MSGtypes {
group RequestTypes {
// [7.1 ]
/**
* @desc generic type of a SIP request message
* @member statusLine contains a method name, a Request-URI, and the protocol version
* @member msgHeader include all possible header fields that are allowed to be present according to RFCs and other standards
* @member messageBody depends on the request method, includes e.g. SDP message.
* @member payload contains the whole message as it has been received in its text format
*/
type record Request {
RequestLine requestLine,
MessageHeader msgHeader,
MessageBody messageBody optional,
Payload payload optional
}
// Note: the introduction of the following specific types is to enable better means for logging
// on the other side the generic type is useful for functions dealing with multiple SIP message types
type record REGISTER_Request {
RequestLine requestLine,
MessageHeader msgHeader,
MessageBody messageBody optional,
Payload payload optional
}
type record INVITE_Request {
RequestLine requestLine,
MessageHeader msgHeader,
MessageBody messageBody optional,
Payload payload optional
}
type record OPTIONS_Request {
RequestLine requestLine,
MessageHeader msgHeader,
MessageBody messageBody optional,
Payload payload optional
}
type record BYE_Request {
RequestLine requestLine,
MessageHeader msgHeader,
MessageBody messageBody optional,
Payload payload optional
}
type record CANCEL_Request {
RequestLine requestLine,
MessageHeader msgHeader,
MessageBody messageBody optional,
Payload payload optional
}
type record ACK_Request {
RequestLine requestLine,
MessageHeader msgHeader,
MessageBody messageBody optional,
Payload payload optional
}
// [3262/7.1 ]
type record PRACK_Request {
RequestLine requestLine,
MessageHeader msgHeader,
MessageBody messageBody optional,
Payload payload optional
}
// [3265/7.1 ]
type record NOTIFY_Request {
RequestLine requestLine,
MessageHeader msgHeader,
MessageBody messageBody optional,
Payload payload optional
}
// [3265/7.1 ]
type record SUBSCRIBE_Request {
RequestLine requestLine,
MessageHeader msgHeader,
MessageBody messageBody optional,
Payload payload optional
}
// [3903/11.1 ]
type record PUBLISH_Request {
RequestLine requestLine,
MessageHeader msgHeader,
MessageBody messageBody optional,
Payload payload optional
}
// [3311/7 ]
type record UPDATE_Request {
RequestLine requestLine,
MessageHeader msgHeader,
MessageBody messageBody optional,
Payload payload optional
}
type record REFER_Request {
RequestLine requestLine,
MessageHeader msgHeader,
MessageBody messageBody optional,
Payload payload optional
}
type record MESSAGE_Request {
RequestLine requestLine,
MessageHeader msgHeader,
MessageBody messageBody optional,
Payload payload optional
}
type record INFO_Request {
RequestLine requestLine,
MessageHeader msgHeader,
MessageBody messageBody optional,
Payload payload optional
}
type union RequestUnion {
REGISTER_Request Register,
INVITE_Request Invite,
OPTIONS_Request Options,
BYE_Request Bye,
CANCEL_Request Cancel,
ACK_Request Ack,
PRACK_Request Prack,
NOTIFY_Request Notify,
SUBSCRIBE_Request Subscribe,
PUBLISH_Request Publish,
UPDATE_Request Update,
REFER_Request Refer,
MESSAGE_Request Message
}
} // end group RequestTypes
group ResponseTypes {
// [7.2 ]
/**
* @desc generic type of a SIP response message
* @member statusLine consists of the protocol version followed by a numeric Status-Code and its associated textual phrase
* @member msgHeader include all possible header fields that are allowed to be present according to RFCs and other standards
* @member messageBody depends on the response method, includes e.g. SDP message.
* @member payload contains the whole message as it has been received in its text format
*/
type record Response {
StatusLine statusLine,
MessageHeader msgHeader,
MessageBody messageBody optional,
Payload payload optional
}
} // end group ResponseTypes
// This MSG type is defined for sending synctactic variations, ans syntactically
// erroneous messages, and receving messages failed parsing.
group SyntacticTypes {
type charstring Raw;
} // end group SyntacticTypes
// This type is defined for particular SIP message body types like SDP
} // end group MSGTypes
} // end group Types
}
with {
encode "LibSip V3";
} // end module LibSip_TypesAndValues