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