687ad58a9aa47f671cfecc1853039de212077841
[multicloud/azure.git] / azure / aria / aria-extension-cloudify / src / aria / examples / clearwater / types / ims.yaml
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
7 #
8 #     http://www.apache.org/licenses/LICENSE-2.0
9 #
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.
15
16 capability_types:
17
18   # https://en.wikipedia.org/wiki/IP_Multimedia_Subsystem#Core_network
19
20   ims.functions.Root:
21     derived_from: tosca.capabilities.Root
22
23   ims.functions.CTF: # not mentioned in Wikipedia
24     description: >-
25       Charging Trigger Function.
26     derived_from: ims.functions.Root
27
28   ims.functions.XDMS: # not mentioned in Wikipedia
29     description: >-
30       XML Document Management Server
31     derived_from: ims.functions.Root
32
33   ims.functions.HSS:
34     description: >-
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
40       (AuC).
41
42       A subscriber location function (SLF) is needed to map user addresses when multiple HSSs are
43       used.
44     derived_from: ims.functions.Root
45
46   ims.functions.CSCF:
47     description: >-
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
51
52   ims.functions.P-CSCF:
53     description: >-
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
63       (GPRS)).
64     derived_from: ims.functions.CSCF
65
66   ims.functions.I-CSCF:
67     description: >-
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
73
74   ims.functions.S-CSCF:
75     description: >-
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
82
83   ims.functions.AS:
84     description: >-
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
92
93   ims.functions.SIP-AS:
94     description: >-
95       Host and execute IMS specific services.
96     derived_from: ims.functions.AS
97
98   ims.functions.IM-SSF:
99     description: >-
100       IP Multimedia Service Switching Function. Interfaces SIP to CAP to communicate with CAMEL
101       Application Servers.
102     derived_from: ims.functions.AS
103
104   ims.functions.OSA-SCS:
105     description: >-
106       OSA service capability server. Interfaces SIP to the OSA framework.
107     derived_from: ims.functions.AS
108
109   ims.functions.AS-ILCM:
110     description: >-
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
116
117   ims.functions.AS-OLCM:
118     description: >-
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
124
125   ims.functions.MRF:
126     description: >-
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.
129
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
133
134   ims.functions.MRFC:
135     description: >-
136       The MRFC is a signalling plane node that interprets information coming from an AS and S-CSCF
137       to control the MRFP.
138     derived_from: ims.functions.Root
139
140   ims.functions.MRFP:
141     description: >-
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
145
146   ims.functions.MRB:
147     description: >-
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
154
155   ims.functions.BGCF:
156     description: >-
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
161
162   ims.functions.PTSNGateway:
163     description: >-
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
169
170   ims.functions.SGW:
171     description: >-
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
177
178   ims.functions.MGCF:
179     description: >-
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
184
185   ims.functions.MGW:
186     description: >-
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
189       might use G.711).
190     derived_from: ims.functions.PTSNGateway
191
192   # https://en.wikipedia.org/wiki/IP_Multimedia_Subsystem#Interfaces_description
193
194   ims.interfaces.Diameter:
195     derived_from: tosca.capabilities.Endpoint
196
197   ims.interfaces.TCP:
198     derived_from: tosca.capabilities.Endpoint
199
200   ims.interfaces.SIP:
201     derived_from: tosca.capabilities.Endpoint
202     properties:
203       protocol: # override
204         type: string
205         default: sip
206
207   ims.interfaces.RTP:
208     derived_from: tosca.capabilities.Endpoint
209     properties:
210       protocol: # override
211         type: string
212         default: rtp
213
214   ims.interfaces.H248:
215     derived_from: tosca.capabilities.Endpoint
216     properties:
217       protocol: # override
218         type: string
219         default: h248
220
221   ims.interfaces.HTTP:
222     derived_from: tosca.capabilities.Endpoint
223     properties:
224       protocol: # override
225         type: string
226         default: http
227
228   ims.interfaces.MAP:
229     derived_from: tosca.capabilities.Endpoint
230     properties:
231       protocol: # override
232         type: string
233         default: map
234
235   ims.interfaces.Cr:
236     description: >-
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
240
241   ims.interfaces.Cx:
242     description: >-
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
246
247   ims.interfaces.Dh:
248     description: >-
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
252
253   ims.interfaces.Dx:
254     description: >-
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
258
259   ims.interfaces.Gm:
260     description: >-
261       Used to exchange messages between SIP user equipment (UE) or Voip gateway and P-CSCF.
262     derived_from: ims.interfaces.SIP
263
264   ims.interfaces.Go:
265     description: >-
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
269
270   ims.interfaces.Gq:
271     description: >-
272       Used to exchange policy decisions-related information between P-CSCF and PDF.
273     derived_from: ims.interfaces.Diameter
274
275   ims.interfaces.Gx:
276     description: >-
277       Used to exchange policy decisions-related information between PCEF and PCRF.
278     derived_from: ims.interfaces.Diameter
279
280   ims.interfaces.Gy:
281     description: >-
282       Used for online flow-based bearer charging. Functionally equivalent to Ro interface.
283     derived_from: ims.interfaces.Diameter
284
285   ims.interfaces.ISC:
286     description: >-
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
292
293   ims.interfaces.Ici:
294     description: >-
295       Used to exchange messages between an IBCF and another IBCF belonging to a different IMS
296       network.
297     derived_from: ims.interfaces.SIP
298
299   ims.interfaces.Izi:
300     description: >-
301       Used to forward media streams from a TrGW to another TrGW belonging to a different IMS
302       network.
303     derived_from: ims.interfaces.RTP
304
305   ims.interfaces.Ma:
306     description: >-
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
313
314   ims.interfaces.Mg:
315     description: >-
316       ISUP signalling to SIP signalling and forwards SIP signalling to I-CSCF.
317     derived_from: ims.interfaces.SIP
318
319   ims.interfaces.Mi:
320     description: >-
321       Used to exchange messages between S-CSCF and BGCF.
322     derived_from: ims.interfaces.SIP
323
324   ims.interfaces.Mj:
325     description: >-
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
329
330   ims.interfaces.Mk:
331     description: >-
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
334       other network.
335     derived_from: ims.interfaces.SIP
336
337   ims.interfaces.Mm:
338     description: >-
339       Used for exchanging messages between IMS and external IP networks.
340     derived_from: ims.interfaces.SIP
341
342   ims.interfaces.Mn:
343     description: >-
344       Allows control of user-plane resources.
345     derived_from: ims.interfaces.H248
346
347   ims.interfaces.Mp:
348     description: >-
349       Allows an MRFC to control media stream resources provided by an MRFP.
350     derived_from: ims.interfaces.H248
351
352   ims.interfaces.Mr:
353     description: >-
354       Used to exchange information between S-CSCF and MRFC.
355     derived_from: ims.interfaces.SIP
356
357   ims.interfaces.Mr2:
358     description: >-
359       Used to exchange session controls between AS and MRFC.
360     derived_from: ims.interfaces.SIP
361
362   ims.interfaces.Mw:
363     description: >-
364       Used to exchange messages between CSCFs. AGCF appears as a P-CSCF to the other CSCFs.
365     derived_from: ims.interfaces.SIP
366
367   ims.interfaces.Mx:
368     description: >-
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
371       the other network.
372     derived_from: ims.interfaces.SIP
373
374   ims.interfaces.P1:
375     description: >-
376       Used for call control services by AGCF to control H.248 A-MGW and residential gateways.
377     derived_from: ims.interfaces.H248
378
379   ims.interfaces.P2:
380     description: >-
381       Reference point between AGCF and CSCF.
382     derived_from: ims.interfaces.SIP
383
384   ims.interfaces.Rc:
385     description: >-
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
389
390   ims.interfaces.Rf:
391     description: >-
392       Used to exchange offline charging information with CDF.
393     derived_from: ims.interfaces.Diameter
394
395   ims.interfaces.Ro:
396     description: >-
397         Used to exchange online charging information with OCF.
398     derived_from: ims.interfaces.Diameter
399
400   ims.interfaces.Rx:
401     description: >-
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
405
406   ims.interfaces.Sh:
407     description: >-
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
414
415   ims.interfaces.Si:
416     description: >-
417       Transports CAMEL subscription information, including triggers for use by CAMEL-based
418       application services information.
419     derived_from: ims.interfaces.MAP
420
421   ims.interfaces.Sr:
422     description: >-
423       Used by MRFC to fetch documents (scripts and other resources) from an AS.
424     derived_from: ims.interfaces.HTTP
425
426   ims.interfaces.Ut:
427     description: >-
428       Facilitates the management of subscriber information related to services and settings.
429     derived_from: ims.interfaces.HTTP
430
431   ims.interfaces.Z:
432     description: >-
433       Conversion of POTS services to SIP messages.
434     derived_from: tosca.capabilities.Root
435
436 node_types:
437
438   ims.nodes.IMS:
439     derived_from: tosca.nodes.Root
440     capabilities:
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