• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..15-Apr-2021-

doc/H15-Apr-2021-351268

MakefileH A D15-Apr-2021573 3323

READMEH A D15-Apr-20216.5 KiB248170

blurbH A D15-Apr-20211.9 KiB4444

checker.cH A D15-Apr-202119.4 KiB601411

checker.hH A D15-Apr-20213.4 KiB9027

ims_isc_mod.cH A D15-Apr-202120 KiB538350

ims_isc_mod.hH A D15-Apr-20213 KiB8623

isc.cH A D15-Apr-20214.2 KiB11742

isc.hH A D15-Apr-20212.8 KiB7316

mark.cH A D15-Apr-202110.9 KiB364220

mark.hH A D15-Apr-20213.1 KiB8323

third_party_reg.cH A D15-Apr-202116.8 KiB559409

third_party_reg.hH A D15-Apr-20213.6 KiB10036

README

1The IMS ISC Module
2
3Dragos Vingarzan
4
5   FhG Fokus
6   <Dragos.Vingarzan@fokus.fraunhofer.de>
7
8Jason Penton
9
10   Smile Communications
11   <jason.penton@smilecoms.com>
12
13Richard Good
14
15   Smile Communications
16   <richard.good@smilecoms.com>
17
18   Copyright © 2007 FhG FOKUS
19
20   Copyright © 2012 Smile Communications
21     __________________________________________________________________
22
23   Table of Contents
24
25   1. Admin Guide
26
27        1. Overview
28        2. Dependencies
29
30              2.1. Kamailio Modules
31              2.2. External Libraries or Applications
32
33        3. Parameters
34
35              3.1. my_uri (string)
36              3.2. expires_grace (integer)
37              3.3. isc_fr_timeout (integer)
38              3.4. isc_fr_inv_timeout (integer)
39              3.5. add_p_served_user (integer)
40
41        4. Functions
42
43              4.1. isc_match_filter_reg(reg_state,domain)
44              4.2. isc_match_filter(direction,domain)
45              4.3. isc_from_as(direction)
46
47   List of Examples
48
49   1.1. my_uri parameter usage
50   1.2. expires_grace parameter usage
51   1.3. isc_fr_timeout parameter usage
52   1.4. isc_fr_inv_timeout parameter usage
53   1.5. add_p_served_user parameter usage
54   1.6. isc_match_filter_reg usage
55   1.7. isc_match_filter usage
56   1.8. isc_from_as usage
57
58Chapter 1. Admin Guide
59
60   Table of Contents
61
62   1. Overview
63   2. Dependencies
64
65        2.1. Kamailio Modules
66        2.2. External Libraries or Applications
67
68   3. Parameters
69
70        3.1. my_uri (string)
71        3.2. expires_grace (integer)
72        3.3. isc_fr_timeout (integer)
73        3.4. isc_fr_inv_timeout (integer)
74        3.5. add_p_served_user (integer)
75
76   4. Functions
77
78        4.1. isc_match_filter_reg(reg_state,domain)
79        4.2. isc_match_filter(direction,domain)
80        4.3. isc_from_as(direction)
81
821. Overview
83
84   This module provides the functionality for an IMS S-CSCF to implement
85   the ISC interface between S-CSCF and SIP Application Server.
86
872. Dependencies
88
89   2.1. Kamailio Modules
90   2.2. External Libraries or Applications
91
922.1. Kamailio Modules
93
94   The Following modules must be loaded before this module:
95     * TM - Transaction Manager
96     * IMS Usrloc SCSCF
97
982.2. External Libraries or Applications
99
100   This modules requires the Kamailio internal IMS library.
101
1023. Parameters
103
104   3.1. my_uri (string)
105   3.2. expires_grace (integer)
106   3.3. isc_fr_timeout (integer)
107   3.4. isc_fr_inv_timeout (integer)
108   3.5. add_p_served_user (integer)
109
1103.1. my_uri (string)
111
112   This is the SIP URI of server on which the SCSCF is hosted.
113
114   Default value is 'sip:scscf.ims.smilecoms.com:6060'.
115
116   Example 1.1. my_uri parameter usage
117...
118modparam("ims_isc", "my_uri", "sip:scscf.ims.smilecoms.com:6060")
119...
120
1213.2. expires_grace (integer)
122
123   This is the expires value to add to the expires during 3rd party
124   registration to prevent expiration in Application Server.
125
126   Default value is 120.
127
128   Example 1.2. expires_grace parameter usage
129...
130modparam("ims_isc", "expires_grace", 120)
131...
132
1333.3. isc_fr_timeout (integer)
134
135   This is the time in ms that we will wait for an AS response before we
136   consider it dead. It has to be lower than the SIP transaction timeout
137   to prevent downstream timeouts. But not too small as ASs tend to take a
138   long time to respond.
139
140   Default value is 5000.
141
142   Example 1.3. isc_fr_timeout parameter usage
143...
144modparam("ims_isc", "isc_fr_timeout", 5000)
145...
146
1473.4. isc_fr_inv_timeout (integer)
148
149   This is the time in ms that we will wait for an AS INVITE response
150   before we consider it dead. It has to be lower than the SIP transaction
151   timeout to prevent downstream timeouts. But not too small as ASs tend
152   to take a long time to respond.
153
154   Default value is 20000
155
156   Example 1.4. isc_fr_inv_timeout parameter usage
157...
158modparam("ims_isc", "isc_fr_inv_timeout", 20000)
159...
160
1613.5. add_p_served_user (integer)
162
163   This boolean indicates if a P-Served-User should be added on the ISC
164   interface, according to RFC 5502.
165
166   Default value is 0 (false)
167
168   Example 1.5. add_p_served_user parameter usage
169...
170modparam("ims_isc", "add_p_served_user", 1)
171# p-served user header will be enabled
172...
173
1744. Functions
175
176   4.1. isc_match_filter_reg(reg_state,domain)
177   4.2. isc_match_filter(direction,domain)
178   4.3. isc_from_as(direction)
179
1804.1. isc_match_filter_reg(reg_state,domain)
181
182   This function checks if a REGISTER messages matches Initial Filter
183   Criteria - if so it inserts the necessary route headers and modifies
184   the destination URI to forward to the relevant Application Server.
185
186   A positive return code (1) means that the REGISTER message has matched
187   to Initial Filter Criteria and is armed for routing.
188
189   This function handles also the Service Info (if sent by the HSS), the
190   InsertRegisterRequest flag (if sent by the HSS) or the
191   InsertRegisterResponse flag (if sent by the HSS). Either the Service
192   Info OR the original REGISTER request OR the original REGISTER response
193   is added to the body of the REGISTER message, before it is forwarded to
194   the relevant Application Server. Multipart body is not supported in
195   this case.
196
197   Meaning of the parameters is as follows:
198     * reg_state if the user was previously registered 0 - for initial
199       registration, 1 for re/de-registration.
200     * domain that usrloc_scscf uses to store user information.
201
202   This function can be used from REQUEST_ROUTE.
203
204   Example 1.6. isc_match_filter_reg usage
205...
206isc_match_filter_reg("1","location");
207...
208
2094.2. isc_match_filter(direction,domain)
210
211   This function checks if a non-REGISTER messages matches Initial Filter
212   Criteria - if so it inserts the necessary route headers and modifies
213   the destination URI to forward to the relevant Application Server.
214
215   A positive return code (1) means that the message has matched to
216   Initial Filter Criteria and is armed for routing.
217
218   Meaning of the parameters is as follows:
219     * direction the direction of this message - orig, term, etc.
220     * domain that usrloc_scscf uses to store user information.
221
222   This function can be used from REQUEST_ROUTE | FAILURE_ROUTE.
223
224   Example 1.7. isc_match_filter usage
225...
226isc_match_filter("orig","location");
227...
228
2294.3. isc_from_as(direction)
230
231   This function checks if this message has come from an Application
232   Server.
233
234   A positive return code (1) means that the message has come from an
235   Application Server.
236
237   Meaning of the parameters is as follows:
238     * direction the direction of this message - orig, term, etc.
239
240   This function can be used from REQUEST_ROUTE | FAILURE_ROUTE.
241
242   Example 1.8. isc_from_as usage
243...
244if (!isc_from_as("orig")) {
245    remove_hf("P-Asserted-Identity");
246}
247...
248