Copyright © 2008 Motivity Telecom Inc.
Authors: Vance Shipley (vances@motivity.ca) [web site: http://www.motivity.ca].
address() = #address{publicUserID = publicUserID(), subscriberID = subscriberID(), serviceProfileID = serviceProfileID(), barringIndicator = barringIndicator(), authVisitedNetworkIDs = authVisitedNetworkIDs(), servicesUnregState = servicesUnregState(), serviceIndication = serviceIndication()}
An entry in the address database table storing information for a Public User ID.
applicationServerName() = sipURL()
The SIP address of an Application Server.
authVisitedNetworkIDs() = [string()]
The list of visited network identifiers allowed for roaming.
authenticationData() = #authenticationData{itemNumber = integer(), authenticationScheme = string(), authenticationInformation = string(), authorizationInformation = string(), confidentialityKey = string(), integrityKey = string()}
Information to support the authentication between the end user and the home IMS network.
authentication_request() = #authentication_request{publicUserID = publicUserID(), privateUserID = privateUserID(), numberAuthenticationItems = integer(), authenticationData = authenticationData(), sCSCFName = sipURL(), routingInformation = string()}
Authentication request.
authentication_request_response() = #authentication_request_response{resultCode = resultCode(), experimentalResult = experimentalResult(), publicUserID = publicUserID(), privateUserID = privateUserID(), numberAuthenticationItems = integer(), authenticationData = [authenticationData()]}
Authentication request response.
barringIndicator() = boolean()
Indicates whether or not the Public User Identity is barred from any IMS communication (except registrations and de-registrations).
chargingInformation() = #chargingInformation{primary_event_charging_function_name = diameterURI(), secondary_event_charging_function_name = diameterURI(), primary_charging_collection_function_name = diameterURI(), secondary_charging_collection_function_name = diameterURI()}
RFC 3588 Addresses of the charging functions. (e.g. "aaa://tabulator.acme.net")
condition() = {requestURI, RequestURI} | {method, Method} | {sipHeader, Header} | {sipHeader, Header, Content} | {sessionCase, SessionCase} | {sessionDescription, Line} | {sessionDescription, Line, Content}
The condition which will match a SIP message for this trigger.
RequestURI, Method, Header, Content, Line are string().
SessionCase may be one of originating_session,
terminating_registered, terminating_unregistered or
originating_unregistered.
conditionNegated() = boolean()
Indicates whether the individual SPT instance is negated (logical NOT expression).
conditionTypeCNF() = boolean()
Indicates the form of boolean expression in the Trigger Point associated with the FilterCriteria. It is true for Conjuctive Normal Form (CNF) and false for Disjunctive Normal Form (DNF).
defaultHandling() = session_continued | session_terminated
Indicates whether the dialog should be released if the Application Server could not be reached.
experimentalResult() = user_unknown | identities_dont_match | roaming_not_allowed | subsequent_reqistration | server_selection | identity_not_registered | first_registration | success_server_name_not_stored
Experimental-Result AVP shall be used for Cx/Dx errors.
filter() = #filter{initialFilterCriteriaID = initialFilterCriteriaID(), priority = priority(), iprofilePartIndicator = profilePartIndicator(), applicationServerName = applicationServerName(), defaultHandling = defaultHandling(), serviceInformation = serviceInformation(), conditionTypeCNF = conditionTypeCNF(), servicePointTriggerIDs = [servicePointTriggerID()]}
An entry in the filter database table storing information about service logic in a service profile referred to as Initial Filter Criteria (iFC).
group() = [integer()]
The grouping of SPTs that will configure the sub-expressions inside a CNF or DNF expression.
guid() = {Node, Now, Reference}
A globally unique reference used as an index key in permanent subscriber data tables.
hss_initiated_update_of_user_profile() = #hss_initiated_update_of_user_profile{privateUserID = privateUserID(), chargingInformation = chargingInformation(), userProfile = userProfile(), routingInformation = string()}
HSS initiated update of user profile.
implicitRegistrationSets() = //stdlib/ordsets:ordered_set()
The set of sets of Public User Identifiers to be registered implicitly. An identifier may appear in only one implicit registration set within the sets.
initialFilterCriteriaID() = guid()
Index into the the filter table.
k() = binary()
A 128 bit subscriber authentication key (K) known only to the HSS and the ISIM/USIM application on the UICC.
location() = #location{publicUserID = publicUserID(), privateUserID = privateUserID(), state = state(), sCSCFName = sCSCFName(), sCSCFDiameter = sCSCFDiameter(), authenticationPending = boolean()}
network_initiated_deregistration_by_hss() = #scscf_registration_notification{publicUserID = publicUserID(), privateUserID = privateUserID(), reasonDeregistration = reasonDeregistration(), routingInformation = string()}
Network initiated de-registration by the HSS, administrative procedure.
network_initiated_deregistration_by_hss_response() = #network_initiated_deregistration_by_hss_response{resultCode = resultCode(), experimentalResult = experimentalResult(), associatedPrivateIDs = [privateUserID()]}
Network initiated de-registration by the HSS response.
opc() = binary()
A 128 bit key (OPc) derived from the Operator Variant Algorithm Configuration Field (OP) and K known only to the HSS and the ISIM/USIM application on the UICC.
priority() = integer()
Indicates the priority of the Filter Criteria.
privateUserID() = string()
A unique global identity defined by the Home Network Operator, which may be used within the home network to identify the user's subscription. It takes the form of a Network Access Identifier (NAI) as defined in IETF RFC 2486.
profile() = #profile{serviceProfileID = serviceProfileID(), initialFilterCriteriaIDs = [initialFilterCriteriaID()], sharedIFCSetIDs = sharedIFCSetIDs(), subscribedMediaProfileID = subscribedMediaProfileID()}
An entry in the profile database table storing a collection of IMS service related information.
profilePartIndicator() = registered | unregistered
Indicates if the iFC is a part of the registered or unregistered user profile.
publicUserID() = sipURL() | telURL()
An address of a user to used by other users to establish communication.
reasonDeregistration() = #reasonDeregistration{reasonCode = permanent_termination | new_server_assigned | server_change | remove_scscf, reasonInfo = string()}
The HSS shall send to the S-CSCF a reason for the de-registration. The reasonCode is intended for the S-CSCF while the reasonInfo is intended to be forwarded to the user.
registrationType() = registration | reregistration | deregistration
Relevant only to the SIP Method SPT with a value of "REGISTER".
resultCode() = success | authorization_rejected | unable_to_reply | unable_to_comply
Result-Code AVP shall be used for errors defined in the Diameter Base Protocol.
sCSCFDiameter() = sipURL()
The diameter client address of an S-CSCF.
sCSCFName() = sipURL()
The SIP address of an S-CSCF.
scscf_registration_notification() = #scscf_registration_notification{publicUserID = publicUserID(), sCSCFName = sipURL(), privateUserID = privateUserID(), serverAssignmentType = serverAssignmentType(), userDataAlreadyAvailable = user_data_not_available | user_data_already_available, routingInformation = string()}
S-CSCF registration/deregistration notification.
scscf_registration_notification_response() = #scscf_registration_notification_response{privateUserID = privateUserID(), resultCode = resultCode(), experimentalResult = experimentalResult(), userProfile = userProfile(), chargingInformation = chargingInformation(), associatedPrivateIDs = [privateUserID()]}
S-CSCF registration/deregistration notification response.
sequence() = integer()
A counter identifying the authentication sequence number.
serverAssignmentType() = no_assignment | registration | reregistration | unregistered_user | timeout_deregistration | user_deregistration | timeout_deregistration_store_server_name | user_deregistration_store_server_name | administrative_deregistration | authentication_failure | authentication_timeout | deregistration_too_much_data
Type of update that the S-CSCF requests in the HSS.
serverCapabilities() = #serverCapabilities{mandatory_capabilities = [integer()], optional_capabilities = [integer()], sCSCFName = [sCSCFName()]}
Information to assist the I-CSCF during the process of selecting an S-CSCF for a certain IMS Subscription.
serviceIndication() = void()
A identifies exactly one set of service related transparent data.
serviceInformation() = string()
Application Server specific information.
servicePointTriggerID() = guid()
Index into the the trigger table.
serviceProfileID() = guid()
Index into the the profile table.
servicesUnregState() = boolean()
Indicates whether the identity has services related to unregistered state or not.
sharedIFCSetIDs() = [integer()]
Identifies sets of Initial Filter Criteria shared by more than one subscriber.
sharedPublicUserIDs() = [publicUserID()]
The list of Public User Identities which are shared between users in a subscription.
sipURL() = string()
A Uniform Resource Locator (URL) having a "sip" Uniform Resource Identifier (URI) as defined in IETF RFC 3261.
state() = registered | unregistered | not_registered
The current registration state of the Public User Identity. The unregistered state may be a consequence of a terminating call or an S-CSCF keeping the user profile stored. An identity which is not registered at an S-CSCF may not appear in the location table.
subscribedMediaProfileID() = integer()
Identifies a set of session description parameters that the subscriber is authorized to request.
subscriber() = #subscriber{subscriberID = subscriberID(), privateUserIDs = [privateUserIDs()], sharedPublicUserIDs = sharedPublicUserIDs(), implicitRegistrationSets = implicitRegistrationSets(), serverCapabilities = serverCapabilities()}
An entry in the subscriber database table storing information related to an IMS services subscription.
subscriberID() = guid()
Index into the subscriber table.
telURL() = string()
A Uniform Resource Locator (URL) having a "tel" Uniform Resource Identifier (URI) as defined in IETF RFC 3966.
trigger() = #trigger{servicePointTriggerID = servicePointTriggerID(), conditionNegated = conditionNegated(), group = group(), registrationType = registrationType(), condition = condition()}
An entry in the trigger database table storing information about a service point trigger in a filter.
user() = #user{user = user(), publicUserIDs = [publicUserIDs()], k = k(), opc = opc(), sequence = sequence(), subscriberID = subscriberID()}
An entry in the user database table storing information related to a user of an IMS services subscription.
userProfile() = binary()
This information element contains the user profile in XML format.
user_location_query() = #user_location_query{publicUserID = publicUserID(), routingInformation = string(), originatingRequest = boolean()}
User location query.
user_location_response() = #user_location_response{resultCode = resultCode(), experimentalResult = experimentalResult(), sCSCFCapabilities = serverCapabilities(), sCSCFName = sipURL()}
User location response.
user_profile_update_response() = #user_profile_update_response{resultCode = resultCode(), experimentalResult = experimentalResult()}
User profile update response.
user_registration_status_query() = #user_registration_status_query{publicUserID = publicUserID(), typeOfAuthorization = registration | deregistration | registration_and_capabilities, visitedNetworkIdentifier = string(), privateUserID = privateUserID(), routingInformation = string()}
User registration status query.
user_registration_status_response() = #user_registration_status_response{resultCode = resultCode(), experimentalResult = experimentalResult(), sCSCFCapabilities = serverCapabilities(), sCSCFName = sipURL()}
User registration status response .
| add_address/1 | Create a new address entry in the database. |
| add_address/6 | Create a new address entry in the database. |
| add_filter/2 | Create a new initial filter criteria (iFC) in the database. |
| add_filter/7 | Create a new initial filter criteria (iFC) in the database. |
| add_implicit_registration_set/2 | Create a new Implicit Registration Set. |
| add_profile/1 | Create a new service profile in the database. |
| add_profile/3 | Create a new service profile in the database. |
| add_subscriber/1 | Create a new subscriber in the database. |
| add_subscriber/4 | Create a new subscriber in the database. |
| add_trigger/3 | Create a new service point trigger (SPT) in the database. |
| add_trigger/4 | Create a new service point trigger (SPT) in the database. |
| add_user/1 | Create a new user entry in the database. |
| add_user/5 | Create a new user entry in the database. |
| authentication_request/6 | This procedure is used between the S-CSCF and the HSS. |
| get_address/0 | Retrieves the first publicUserID() key from the database. |
| get_address/1 | Retrieves the address entry from the database. |
| get_addresses/1 | Retrieves the address entries from the database. |
| get_filter/0 | Retrieves the first initialFilterCriteriaID() key
from the database. |
| get_filter/1 | Retrieves the filter entry from the database. |
| get_implicit_registration_set/2 | Retrieves the Implicit Registration Set. |
| get_profile/0 | Retrieves the first serviceProfileID() key from the database. |
| get_profile/1 | Retrieves the profile entry from the database. |
| get_service/1 | Retrieves the complete Service Profile. |
| get_subscriber/0 | Retrieves the first subscriberID() key from the database. |
| get_subscriber/1 | Retrieves the subscriber() entry from the database. |
| get_subscriber_id/1 | Retrieves the index into the subscriber table for a Private User Identity or a Public User Identity. |
| get_trigger/0 | Retrieves the first servicePointTriggerID() key
from the database. |
| get_trigger/1 | Retrieves the triger entry from the database. |
| get_user/0 | Retrieves the first privateUserID() key entry from the database. |
| get_user/1 | Retrieves the user entry from the database. |
| new_implicit_registration_sets/0 | Returns an empty set of Implicit Registration Sets. |
| remove_address/1 | Remove an address from the database. |
| remove_filter/1 | Remove a filter from the database. |
| remove_implicit_registration_set/2 | Remove the Implicit Registration Set. |
| remove_profile/1 | Remove a service profile from the database. |
| remove_subscriber/1 | Remove subscriber from the database. |
| remove_trigger/1 | Remove a trigger from the database. |
| remove_user/1 | Remove a user from the database. |
| scscf_registration_notification/6 | This procedure is used between the S-CSCF and the HSS. |
| user_location_query/2 | This procedure is used between the I-CSCF and the HSS. |
| user_registration_status_query/5 | This procedure is used between the I-CSCF and the HSS during SIP registrations. |
add_subscriber(Subscriber) -> subscriberID()
Create a new subscriber in the database.
add_subscriber(PrivateUserIDs, SharedPublicUserIDs, ImplicitRegistrationSets, ServerCapabilities) -> subscriberID()
Create a new subscriber in the database.
add_profile(InitialFilterCriteriaIDs) -> serviceProfileID()
Create a new service profile in the database.
add_profile(InitialFilterCriteriaIDs, SharedIFCSetIDs, SubscribedMediaProfileID) -> serviceProfileID()
Create a new service profile in the database.
add_user(SubscriberID, PrivateUserID, PublicUserIDs, K, OPc) -> ok
Create a new user entry in the database.
add_user(User) -> ok
Create a new user entry in the database.
add_address(Address) -> ok
Create a new address entry in the database.
add_address(SubscriberID, PublicUserID, ServiceProfileID, AuthVisitedNetworkIDs, BarringIndicator, ServicesUnregState) -> ok
Create a new address entry in the database.
add_filter(Priority, ApplicationServerName) -> initialFilterCriteriaID()
Create a new initial filter criteria (iFC) in the database.
add_filter(Priority, ApplicationServerName, ProfilePartIndicator, DefaultHandling, ServiceInformation, ConditionTypeCNF, ServicePointTriggerIDs) -> initialFilterCriteriaID()
Create a new initial filter criteria (iFC) in the database.
add_trigger(ConditionNegated, Group, Condition, RegistrationType) -> servicePointTriggerID()
Create a new service point trigger (SPT) in the database.
An SPT for the RegistrationType is created. Condition must
be {method, "REGISTER"}.
add_trigger(ConditionNegated, Group, Condition) -> servicePointTriggerID()
Create a new service point trigger (SPT) in the database.
remove_profile(ServiceProfileID) -> ok
Remove a service profile from the database.
remove_filter(Filter) -> ok
Remove a filter from the database.
remove_trigger(Trigger) -> ok
Remove a trigger from the database.
remove_user(PrivateUserID) -> ok
Remove a user from the database.
remove_address(PublicUserID) -> ok
Remove an address from the database.
remove_subscriber(SubscriberID) -> ok
Remove subscriber from the database.
get_subscriber() -> subscriberID()
Retrieves the first subscriberID() key from the database.
get_subscriber(SubscriberID) -> subscriber()
Retrieves the subscriber() entry from the database.
get_subscriber_id(PublicUserID::UserIdentity) -> subscriberID()
Retrieves the index into the subscriber table for a Private User Identity or a Public User Identity.
get_user() -> privateUserID()
Retrieves the first privateUserID() key entry from the database.
get_user(PrivateUserID) -> user()
Retrieves the user entry from the database.
get_profile() -> serviceProfileID()
Retrieves the first serviceProfileID() key from the database.
get_profile(ProfileID) -> profile()
Retrieves the profile entry from the database.
get_address() -> publicUserID()
Retrieves the first publicUserID() key from the database.
get_address(PublicUserID) -> address()
Retrieves the address entry from the database.
get_addresses(PublicUserIDs) -> [address()]
Retrieves the address entries from the database.
get_filter() -> initialFilterCriteriaID()
Retrieves the first initialFilterCriteriaID() key
from the database.
get_filter(InitialFilterCriteriaID) -> filter()
Retrieves the filter entry from the database.
get_trigger() -> servicePointTriggerID()
Retrieves the first servicePointTriggerID() key
from the database.
get_trigger(ServicePointTriggerID) -> trigger()
Retrieves the triger entry from the database.
get_service(ServiceProfileID) -> serviceProfile()
Retrieves the complete Service Profile.
new_implicit_registration_sets() -> implicitRegistrationSets()
Returns an empty set of Implicit Registration Sets.
add_implicit_registration_set(ImplicitRegistrationSet, ImplicitRegistrationSets) -> NewImplicitRegistrationSets
Create a new Implicit Registration Set. The list of Public User Identifiers in ImplicitRegistrationSet is added as a new Implicit Registration Set in the set of sets. Returns a new set of sets. Fails if any Public User Identifier is an element of an existing set.
get_implicit_registration_set(PublicUserID, ImplicitRegistrationSets) -> ImplicitRegistrationSet
Retrieves the Implicit Registration Set. Returns the list of Public User Identities which make up the Implicit Registration Set containing PublicUserID. Fails if PublicUserID does not exist in any Implicit Registration Set.
remove_implicit_registration_set(ImplicitRegistrationSet, ImplicitRegistrationSets) -> NewImplicitRegistrationSets
Remove the Implicit Registration Set. Returns a new set of sets. Fails if the set does not exist.
user_registration_status_query(PublicUserID, VisitedNetworkIdentifier, TypeOfAuthorization, PrivateUserID, RoutingInformation) -> Result
This procedure is used between the I-CSCF and the HSS during SIP registrations. The procedure is invoked by the I-CSCF to authorize the registration of the Public User Identity and obtain either the S-CSCF where the Public User Identity is registered or the list of capabilities that the S-CSCF has to support.
scscf_registration_notification(PublicUserID, SCSCFName, PrivateUserID, ServerAssignmentType, UserDataAlreadyAvailable, RoutingInformation) -> Result
This procedure is used between the S-CSCF and the HSS. The procedure is invoked by the S-CSCF to assign an S-CSCF to a Public Identity, or to clear the name of the S-CSCF assigned to one or more Public Identities and to download from the HSS the relevant user information.
user_location_query(PublicUserID, RoutingInformation) -> Result
This procedure is used between the I-CSCF and the HSS. This procedure is invoked to obtain the name of the S-CSCF assigned to a Public Identity.
authentication_request(PublicUserID, PrivateUserID, NumberAuthenticationItems, AuthenticationData, SCSCFName, RoutingInformation) -> Result
This procedure is used between the S-CSCF and the HSS. Used to exchange information to support the authentication between the end user and the home IMS network. The procedure is invoked by the S-CSCF to retrieve authentication vectors from the HSS or to resolve synchronization failures between the sequence numbers in the UE and the HSS.
Generated by EDoc, Dec 29 2008, 15:46:25.