1 # Licensed to the Apache Software Foundation (ASF) under one or more
2 # contributor license agreements. See the NOTICE file distributed with
3 # this work for additional information regarding copyright ownership.
4 # The ASF licenses this file to You under the Apache License, Version 2.0
5 # (the "License"); you may not use this file except in compliance with
6 # the License. You may obtain a copy of the License at
8 # http://www.apache.org/licenses/LICENSE-2.0
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
18 # https://en.wikipedia.org/wiki/IP_Multimedia_Subsystem#Core_network
21 derived_from: tosca.capabilities.Root
23 ims.functions.CTF: # not mentioned in Wikipedia
25 Charging Trigger Function.
26 derived_from: ims.functions.Root
28 ims.functions.XDMS: # not mentioned in Wikipedia
30 XML Document Management Server
31 derived_from: ims.functions.Root
35 The home subscriber server (HSS), or user profile server function (UPSF), is a master user
36 database that supports the IMS network entities that actually handle calls. It contains the
37 subscription-related information (subscriber profiles), performs authentication and
38 authorization of the user, and can provide information about the subscriber's location and IP
39 information. It is similar to the GSM home location register (HLR) and Authentication centre
42 A subscriber location function (SLF) is needed to map user addresses when multiple HSSs are
44 derived_from: ims.functions.Root
48 Several roles of SIP servers or proxies, collectively called Call Session Control Function
49 (CSCF), are used to process SIP signalling packets in the IMS.
50 derived_from: ims.functions.Root
54 A Proxy-CSCF (P-CSCF) is a SIP proxy that is the first point of contact for the IMS terminal.
55 It can be located either in the visited network (in full IMS networks) or in the home network
56 (when the visited network is not IMS compliant yet). Some networks may use a Session Border
57 Controller (SBC) for this function. The P-CSCF is at its core a specialized SBC for the
58 User–network interface which not only protects the network, but also the IMS terminal. The use
59 of an additional SBC between the IMS terminal and the P-CSCF is unnecessary and infeasible due
60 to the signaling being encrypted on this leg. The terminal discovers its P-CSCF with either
61 DHCP, or it may be configured (e.g. during initial provisioning or via a 3GPP IMS Management
62 Object (MO)) or in the ISIM or assigned in the PDP Context (in General Packet Radio Service
64 derived_from: ims.functions.CSCF
68 An Interrogating-CSCF (I-CSCF) is another SIP function located at the edge of an
69 administrative domain. Its IP address is published in the Domain Name System (DNS) of the
70 domain (using NAPTR and SRV type of DNS records), so that remote servers can find it, and use
71 it as a forwarding point (e.g., registering) for SIP packets to this domain.
72 derived_from: ims.functions.CSCF
76 A Serving-CSCF (S-CSCF) is the central node of the signalling plane. It is a SIP server, but
77 performs session control too. It is always located in the home network. It uses Diameter Cx
78 and Dx interfaces to the HSS to download user profiles and upload user-to-S-CSCF associations
79 (the user profile is only cached locally for processing reasons only and is not changed). All
80 necessary subscriber profile information is loaded from the HSS.
81 derived_from: ims.functions.CSCF
85 SIP Application servers (AS) host and execute services, and interface with the S-CSCF using
86 SIP. An example of an application server that is being developed in 3GPP is the Voice call
87 continuity Function (VCC Server). Depending on the actual service, the AS can operate in SIP
88 proxy mode, SIP UA (user agent) mode or SIP B2BUA mode. An AS can be located in the home
89 network or in an external third-party network. If located in the home network, it can query
90 the HSS with the Diameter Sh or Si interfaces (for a SIP-AS).
91 derived_from: ims.functions.Root
95 Host and execute IMS specific services.
96 derived_from: ims.functions.AS
100 IP Multimedia Service Switching Function. Interfaces SIP to CAP to communicate with CAMEL
102 derived_from: ims.functions.AS
104 ims.functions.OSA-SCS:
106 OSA service capability server. Interfaces SIP to the OSA framework.
107 derived_from: ims.functions.AS
109 ims.functions.AS-ILCM:
111 The AS-ILCM (Application Server - Incoming Leg Control Model) stores transaction state, and
112 may optionally store session state depending on the specific service being executed. The
113 AS-ILCM interfaces to the S-CSCF (ILCM) for an incoming leg. Application Logic provides the
114 service(s) and interacts between the AS-ILCM and AS-OLCM.
115 derived_from: ims.functions.AS
117 ims.functions.AS-OLCM:
119 The AS-OLCM (Application Server - Outgoing Leg Control Model) stores transaction state, and
120 may optionally store session state depending on the specific service being executed. The
121 AS-OLCM interfaces to the S-CSCF (OLCM) for an outgoing leg. Application Logic provides the
122 service(s) and interacts between the AS-ILCM and AS-OLCM.
123 derived_from: ims.functions.AS
127 The Media Resource Function (MRF) provides media related functions such as media manipulation
128 (e.g. voice stream mixing) and playing of tones and announcements.
130 Each MRF is further divided into a media resource function controller (MRFC) and a media
131 resource function processor (MRFP).
132 derived_from: ims.functions.Root
136 The MRFC is a signalling plane node that interprets information coming from an AS and S-CSCF
138 derived_from: ims.functions.Root
142 The MRFP is a media plane node used to mix, source or process media streams. It can also
143 manage access right to shared resources.
144 derived_from: ims.functions.Root
148 The Media Resource Broker (MRB) is a functional entity that is responsible for both collection
149 of appropriate published MRF information and supplying of appropriate MRF information to
150 consuming entities such as the AS. MRB can be used in two modes:
151 * Query mode: AS queries the MRB for media and sets up the call using the response of MRB
152 * In-Line Mode: AS sends a SIP INVITE to the MRB. The MRB sets up the call
153 derived_from: ims.functions.Root
157 A Breakout Gateway Control Function (BGCF) is a SIP proxy which processes requests for routing
158 from an S-CSCF when the S-CSCF has determined that the session cannot be routed using DNS or
159 ENUM/DNS. It includes routing functionality based on telephone numbers.
160 derived_from: ims.functions.Root
162 ims.functions.PTSNGateway:
164 A PSTN/CS gateway interfaces with PSTN circuit switched (CS) networks. For signalling, CS
165 networks use ISDN User Part (ISUP) (or BICC) over Message Transfer Part (MTP), while IMS uses
166 SIP over IP. For media, CS networks use Pulse-code modulation (PCM), while IMS uses Real-time
167 Transport Protocol (RTP).
168 derived_from: ims.functions.Root
172 A signalling gateway (SGW) interfaces with the signalling plane of the CS. It transforms lower
173 layer protocols as Stream Control Transmission Protocol (SCTP, an IP protocol) into Message
174 Transfer Part (MTP, an Signalling System 7 (SS7) protocol), to pass ISDN User Part (ISUP) from
175 the MGCF to the CS network.
176 derived_from: ims.functions.PTSNGateway
180 A media gateway controller function (MGCF) is a SIP endpoint that does call control protocol
181 conversion between SIP and ISUP/BICC and interfaces with the SGW over SCTP. It also controls
182 the resources in a Media Gateway (MGW) across an H.248 interface.
183 derived_from: ims.functions.PTSNGateway
187 A media gateway (MGW) interfaces with the media plane of the CS network, by converting between
188 RTP and PCM. It can also transcode when the codecs don't match (e.g., IMS might use AMR, PSTN
190 derived_from: ims.functions.PTSNGateway
192 # https://en.wikipedia.org/wiki/IP_Multimedia_Subsystem#Interfaces_description
194 ims.interfaces.Diameter:
195 derived_from: tosca.capabilities.Endpoint
198 derived_from: tosca.capabilities.Endpoint
201 derived_from: tosca.capabilities.Endpoint
208 derived_from: tosca.capabilities.Endpoint
215 derived_from: tosca.capabilities.Endpoint
222 derived_from: tosca.capabilities.Endpoint
229 derived_from: tosca.capabilities.Endpoint
237 Used by MRFC to fetch documents (e.g. scripts, announcement files, and other resources) from
238 an AS. Also used for media control related commands.
239 derived_from: ims.interfaces.TCP
243 Used to send subscriber data to the S-CSCF; including filter criteria and their priority. Also
244 used to furnish CDF and/or OCF addresses.
245 derived_from: ims.interfaces.Diameter
249 Used by AS to find the HSS holding the user profile information in a multi-HSS environment.
250 DH_SLF_QUERY indicates an IMPU and DX_SLF_RESP return the HSS name.
251 derived_from: ims.interfaces.Diameter
255 Used by I-CSCF or S-CSCF to find a correct HSS in a multi-HSS environment. DX_SLF_QUERY
256 indicates an IMPU and DX_SLF_RESP return the HSS name.
257 derived_from: ims.interfaces.Diameter
261 Used to exchange messages between SIP user equipment (UE) or Voip gateway and P-CSCF.
262 derived_from: ims.interfaces.SIP
266 Allows operators to control QoS in a user plane and exchange charging correlation
267 information between IMS and GPRS network.
268 derived_from: ims.interfaces.Diameter
272 Used to exchange policy decisions-related information between P-CSCF and PDF.
273 derived_from: ims.interfaces.Diameter
277 Used to exchange policy decisions-related information between PCEF and PCRF.
278 derived_from: ims.interfaces.Diameter
282 Used for online flow-based bearer charging. Functionally equivalent to Ro interface.
283 derived_from: ims.interfaces.Diameter
287 Reference point between S-CSCF and AS. Main functions are to:
288 * Notify the AS of the registered IMPU, registration state and UE capabilities
289 * Supply the AS with information to allow it to execute multiple services
290 * Convey charging function addresses
291 derived_from: ims.interfaces.SIP
295 Used to exchange messages between an IBCF and another IBCF belonging to a different IMS
297 derived_from: ims.interfaces.SIP
301 Used to forward media streams from a TrGW to another TrGW belonging to a different IMS
303 derived_from: ims.interfaces.RTP
307 Main functions are to:
308 * Forward SIP requests which are destined to a public service identity hosted by the AS
309 * Originate a session on behalf of a user or public service identity, if the AS has no
310 knowledge of a S-CSCF assigned to that user or public service identity
311 * Convey charging function addresses
312 derived_from: ims.interfaces.SIP
316 ISUP signalling to SIP signalling and forwards SIP signalling to I-CSCF.
317 derived_from: ims.interfaces.SIP
321 Used to exchange messages between S-CSCF and BGCF.
322 derived_from: ims.interfaces.SIP
326 Used for the interworking with the PSTN/CS domain, when the BGCF has determined that a
327 breakout should occur in the same IMS network to send SIP message from BGCF to MGCF.
328 derived_from: ims.interfaces.SIP
332 Used for the interworking with the PSTN/CS domain, when the BGCF has determined that a
333 breakout should occur in another IMS network to send SIP message from BGCF to the BGCF in the
335 derived_from: ims.interfaces.SIP
339 Used for exchanging messages between IMS and external IP networks.
340 derived_from: ims.interfaces.SIP
344 Allows control of user-plane resources.
345 derived_from: ims.interfaces.H248
349 Allows an MRFC to control media stream resources provided by an MRFP.
350 derived_from: ims.interfaces.H248
354 Used to exchange information between S-CSCF and MRFC.
355 derived_from: ims.interfaces.SIP
359 Used to exchange session controls between AS and MRFC.
360 derived_from: ims.interfaces.SIP
364 Used to exchange messages between CSCFs. AGCF appears as a P-CSCF to the other CSCFs.
365 derived_from: ims.interfaces.SIP
369 Used for the interworking with another IMS network, when the BGCF has determined that a
370 breakout should occur in the other IMS network to send SIP message from BGCF to the IBCF in
372 derived_from: ims.interfaces.SIP
376 Used for call control services by AGCF to control H.248 A-MGW and residential gateways.
377 derived_from: ims.interfaces.H248
381 Reference point between AGCF and CSCF.
382 derived_from: ims.interfaces.SIP
386 Used by the AS to request that media resources be assigned to a call when using MRB in-line
387 mode or in query mode.
388 derived_from: ims.interfaces.SIP
392 Used to exchange offline charging information with CDF.
393 derived_from: ims.interfaces.Diameter
397 Used to exchange online charging information with OCF.
398 derived_from: ims.interfaces.Diameter
402 Used to exchange policy and charging related information between P-CSCF and PCRF. Replacement
403 for the Gq reference point.
404 derived_from: ims.interfaces.Diameter
408 Used to exchange User Profile information (e.g., user-related data, group lists,
409 user-service-related information or user location information or charging function addresses
410 (used when the AS has not received the third-party REGISTER for a user)) between an AS (SIP
411 AS or OSA SCS) and HSS. Also allow AS to activate/deactivate filter criteria stored in the HSS
412 on a per-subscriber basis.
413 derived_from: ims.interfaces.Diameter
417 Transports CAMEL subscription information, including triggers for use by CAMEL-based
418 application services information.
419 derived_from: ims.interfaces.MAP
423 Used by MRFC to fetch documents (scripts and other resources) from an AS.
424 derived_from: ims.interfaces.HTTP
428 Facilitates the management of subscriber information related to services and settings.
429 derived_from: ims.interfaces.HTTP
433 Conversion of POTS services to SIP messages.
434 derived_from: tosca.capabilities.Root
439 derived_from: tosca.nodes.Root
441 p-cscf: ims.functions.P-CSCF
442 i-cscf: ims.functions.I-CSCF
443 s-cscf: ims.functions.S-CSCF
444 hss: ims.functions.HSS
445 ctf: ims.functions.CTF
446 xdms: ims.functions.XDMS