This source file includes following definitions.
- sngss7_con_ind
- sngss7_con_cfm
- sngss7_con_sta
- sngss7_rel_ind
- sngss7_rel_cfm
- sngss7_dat_ind
- sngss7_fac_ind
- sngss7_fac_cfm
- sngss7_umsg_ind
- sngss7_sta_ind
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 #include "ftmod_sangoma_ss7_main.h"
36
37
38
39
40
41
42
43
44
45 void sngss7_sta_ind(uint32_t suInstId, uint32_t spInstId, uint32_t circuit, uint8_t globalFlg, uint8_t evntType, SiStaEvnt *siStaEvnt);
46 void sngss7_con_ind(uint32_t suInstId, uint32_t spInstId, uint32_t circuit, SiConEvnt *siConEvnt);
47 void sngss7_con_cfm(uint32_t suInstId, uint32_t spInstId, uint32_t circuit, SiConEvnt *siConEvnt);
48 void sngss7_con_sta(uint32_t suInstId, uint32_t spInstId, uint32_t circuit, SiCnStEvnt *siCnStEvnt, uint8_t evntType);
49 void sngss7_rel_ind(uint32_t suInstId, uint32_t spInstId, uint32_t circuit, SiRelEvnt *siRelEvnt);
50 void sngss7_rel_cfm(uint32_t suInstId, uint32_t spInstId, uint32_t circuit, SiRelEvnt *siRelEvnt);
51 void sngss7_dat_ind(uint32_t suInstId, uint32_t spInstId, uint32_t circuit, SiInfoEvnt *siInfoEvnt);
52 void sngss7_fac_ind(uint32_t suInstId, uint32_t spInstId, uint32_t circuit, uint8_t evntType, SiFacEvnt *siFacEvnt);
53 void sngss7_fac_cfm(uint32_t suInstId, uint32_t spInstId, uint32_t circuit, uint8_t evntType, SiFacEvnt *siFacEvnt);
54 void sngss7_umsg_ind(uint32_t suInstId, uint32_t spInstId, uint32_t circuit);
55
56
57
58
59 void sngss7_con_ind(uint32_t suInstId, uint32_t spInstId, uint32_t circuit, SiConEvnt *siConEvnt)
60 {
61 SS7_FUNC_TRACE_ENTER(__FUNCTION__);
62
63 sngss7_chan_data_t *sngss7_info = NULL;
64 ftdm_channel_t *ftdmchan = NULL;
65 sngss7_event_data_t *sngss7_event = NULL;
66
67
68 if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
69 SS7_ERROR("Failed to extract channel data for circuit = %d!\n", circuit);
70 SS7_FUNC_TRACE_EXIT(__FUNCTION__);
71 return;
72 }
73
74
75 sngss7_event = ftdm_malloc(sizeof(*sngss7_event));
76 if (sngss7_event == NULL) {
77 SS7_ERROR("Failed to allocate memory for sngss7_event!\n");
78 SS7_FUNC_TRACE_EXIT(__FUNCTION__);
79 return;
80 }
81 memset(sngss7_event, 0x0, sizeof(*sngss7_event));
82
83
84 sngss7_event->spInstId = spInstId;
85 sngss7_event->suInstId = suInstId;
86 sngss7_event->circuit = circuit;
87 sngss7_event->event_id = SNGSS7_CON_IND_EVENT;
88 memcpy(&sngss7_event->event.siConEvnt, siConEvnt, sizeof(*siConEvnt));
89
90
91 ftdm_queue_enqueue(((sngss7_span_data_t*)sngss7_info->ftdmchan->span->mod_data)->event_queue, sngss7_event);
92
93 SS7_FUNC_TRACE_EXIT(__FUNCTION__);
94 }
95
96
97 void sngss7_con_cfm(uint32_t suInstId, uint32_t spInstId, uint32_t circuit, SiConEvnt *siConEvnt)
98 {
99 SS7_FUNC_TRACE_ENTER(__FUNCTION__);
100
101 sngss7_chan_data_t *sngss7_info = NULL;
102 ftdm_channel_t *ftdmchan = NULL;
103 sngss7_event_data_t *sngss7_event = NULL;
104
105
106 if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
107 SS7_ERROR("Failed to extract channel data for circuit = %d!\n", circuit);
108 SS7_FUNC_TRACE_EXIT(__FUNCTION__);
109 return;
110 }
111
112
113 sngss7_event = ftdm_malloc(sizeof(*sngss7_event));
114 if (sngss7_event == NULL) {
115 SS7_ERROR("Failed to allocate memory for sngss7_event!\n");
116 SS7_FUNC_TRACE_EXIT(__FUNCTION__);
117 return;
118 }
119 memset(sngss7_event, 0x0, sizeof(*sngss7_event));
120
121
122 sngss7_event->spInstId = spInstId;
123 sngss7_event->suInstId = suInstId;
124 sngss7_event->circuit = circuit;
125 sngss7_event->event_id = SNGSS7_CON_CFM_EVENT;
126 memcpy(&sngss7_event->event.siConEvnt, siConEvnt, sizeof(*siConEvnt));
127
128
129 ftdm_queue_enqueue(((sngss7_span_data_t*)sngss7_info->ftdmchan->span->mod_data)->event_queue, sngss7_event);
130
131 SS7_FUNC_TRACE_EXIT(__FUNCTION__);
132 }
133
134
135 void sngss7_con_sta(uint32_t suInstId, uint32_t spInstId, uint32_t circuit, SiCnStEvnt *siCnStEvnt, uint8_t evntType)
136 {
137 SS7_FUNC_TRACE_ENTER(__FUNCTION__);
138
139 sngss7_chan_data_t *sngss7_info = NULL;
140 ftdm_channel_t *ftdmchan = NULL;
141 sngss7_event_data_t *sngss7_event = NULL;
142
143
144 if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
145 SS7_ERROR("Failed to extract channel data for circuit = %d!\n", circuit);
146 SS7_FUNC_TRACE_EXIT(__FUNCTION__);
147 return;
148 }
149
150
151 sngss7_event = ftdm_malloc(sizeof(*sngss7_event));
152 if (sngss7_event == NULL) {
153 SS7_ERROR("Failed to allocate memory for sngss7_event!\n");
154 SS7_FUNC_TRACE_EXIT(__FUNCTION__);
155 return;
156 }
157 memset(sngss7_event, 0x0, sizeof(*sngss7_event));
158
159
160 sngss7_event->spInstId = spInstId;
161 sngss7_event->suInstId = suInstId;
162 sngss7_event->circuit = circuit;
163 sngss7_event->evntType = evntType;
164 sngss7_event->event_id = SNGSS7_CON_STA_EVENT;
165 memcpy(&sngss7_event->event.siCnStEvnt, siCnStEvnt, sizeof(*siCnStEvnt));
166
167
168 ftdm_queue_enqueue(((sngss7_span_data_t*)sngss7_info->ftdmchan->span->mod_data)->event_queue, sngss7_event);
169
170 SS7_FUNC_TRACE_EXIT(__FUNCTION__);
171 }
172
173
174 void sngss7_rel_ind(uint32_t suInstId, uint32_t spInstId, uint32_t circuit, SiRelEvnt *siRelEvnt)
175 {
176 SS7_FUNC_TRACE_ENTER(__FUNCTION__);
177
178 sngss7_chan_data_t *sngss7_info = NULL;
179 ftdm_channel_t *ftdmchan = NULL;
180 sngss7_event_data_t *sngss7_event = NULL;
181
182
183 if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
184 SS7_ERROR("Failed to extract channel data for circuit = %d!\n", circuit);
185 SS7_FUNC_TRACE_EXIT(__FUNCTION__);
186 return;
187 }
188
189
190 sngss7_event = ftdm_malloc(sizeof(*sngss7_event));
191 if (sngss7_event == NULL) {
192 SS7_ERROR("Failed to allocate memory for sngss7_event!\n");
193 SS7_FUNC_TRACE_EXIT(__FUNCTION__);
194 return;
195 }
196 memset(sngss7_event, 0x0, sizeof(*sngss7_event));
197
198
199 sngss7_event->spInstId = spInstId;
200 sngss7_event->suInstId = suInstId;
201 sngss7_event->circuit = circuit;
202 sngss7_event->event_id = SNGSS7_REL_IND_EVENT;
203 memcpy(&sngss7_event->event.siRelEvnt, siRelEvnt, sizeof(*siRelEvnt));
204
205
206 ftdm_queue_enqueue(((sngss7_span_data_t*)sngss7_info->ftdmchan->span->mod_data)->event_queue, sngss7_event);
207
208 SS7_FUNC_TRACE_EXIT(__FUNCTION__);
209 }
210
211
212 void sngss7_rel_cfm(uint32_t suInstId, uint32_t spInstId, uint32_t circuit, SiRelEvnt *siRelEvnt)
213 {
214 SS7_FUNC_TRACE_ENTER(__FUNCTION__);
215
216 sngss7_chan_data_t *sngss7_info = NULL;
217 ftdm_channel_t *ftdmchan = NULL;
218 sngss7_event_data_t *sngss7_event = NULL;
219
220
221 if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
222 SS7_ERROR("Failed to extract channel data for circuit = %d!\n", circuit);
223 SS7_FUNC_TRACE_EXIT(__FUNCTION__);
224 return;
225 }
226
227
228 sngss7_event = ftdm_malloc(sizeof(*sngss7_event));
229 if (sngss7_event == NULL) {
230 SS7_ERROR("Failed to allocate memory for sngss7_event!\n");
231 SS7_FUNC_TRACE_EXIT(__FUNCTION__);
232 return;
233 }
234 memset(sngss7_event, 0x0, sizeof(*sngss7_event));
235
236
237 sngss7_event->spInstId = spInstId;
238 sngss7_event->suInstId = suInstId;
239 sngss7_event->circuit = circuit;
240 sngss7_event->event_id = SNGSS7_REL_CFM_EVENT;
241 memcpy(&sngss7_event->event.siRelEvnt, siRelEvnt, sizeof(*siRelEvnt));
242
243
244 ftdm_queue_enqueue(((sngss7_span_data_t*)sngss7_info->ftdmchan->span->mod_data)->event_queue, sngss7_event);
245
246 SS7_FUNC_TRACE_EXIT(__FUNCTION__);
247 }
248
249
250 void sngss7_dat_ind(uint32_t suInstId, uint32_t spInstId, uint32_t circuit, SiInfoEvnt *siInfoEvnt)
251 {
252 SS7_FUNC_TRACE_ENTER(__FUNCTION__);
253
254 sngss7_chan_data_t *sngss7_info = NULL;
255 ftdm_channel_t *ftdmchan = NULL;
256 sngss7_event_data_t *sngss7_event = NULL;
257
258
259 if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
260 SS7_ERROR("Failed to extract channel data for circuit = %d!\n", circuit);
261 SS7_FUNC_TRACE_EXIT(__FUNCTION__);
262 return;
263 }
264
265
266 sngss7_event = ftdm_malloc(sizeof(*sngss7_event));
267 if (sngss7_event == NULL) {
268 SS7_ERROR("Failed to allocate memory for sngss7_event!\n");
269 SS7_FUNC_TRACE_EXIT(__FUNCTION__);
270 return;
271 }
272 memset(sngss7_event, 0x0, sizeof(*sngss7_event));
273
274
275 sngss7_event->spInstId = spInstId;
276 sngss7_event->suInstId = suInstId;
277 sngss7_event->circuit = circuit;
278 sngss7_event->event_id = SNGSS7_DAT_IND_EVENT;
279 memcpy(&sngss7_event->event.siInfoEvnt, siInfoEvnt, sizeof(*siInfoEvnt));
280
281
282 ftdm_queue_enqueue(((sngss7_span_data_t*)sngss7_info->ftdmchan->span->mod_data)->event_queue, sngss7_event);
283
284 SS7_FUNC_TRACE_EXIT(__FUNCTION__);
285 }
286
287
288 void sngss7_fac_ind(uint32_t suInstId, uint32_t spInstId, uint32_t circuit, uint8_t evntType, SiFacEvnt *siFacEvnt)
289 {
290 SS7_FUNC_TRACE_ENTER(__FUNCTION__);
291
292 sngss7_chan_data_t *sngss7_info = NULL;
293 ftdm_channel_t *ftdmchan = NULL;
294 sngss7_event_data_t *sngss7_event = NULL;
295
296
297 if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
298 SS7_ERROR("Failed to extract channel data for circuit = %d!\n", circuit);
299 SS7_FUNC_TRACE_EXIT(__FUNCTION__);
300 return;
301 }
302
303
304 sngss7_event = ftdm_malloc(sizeof(*sngss7_event));
305 if (sngss7_event == NULL) {
306 SS7_ERROR("Failed to allocate memory for sngss7_event!\n");
307 SS7_FUNC_TRACE_EXIT(__FUNCTION__);
308 return;
309 }
310 memset(sngss7_event, 0x0, sizeof(*sngss7_event));
311
312
313 sngss7_event->spInstId = spInstId;
314 sngss7_event->suInstId = suInstId;
315 sngss7_event->circuit = circuit;
316 sngss7_event->evntType = evntType;
317 sngss7_event->event_id = SNGSS7_FAC_IND_EVENT;
318 memcpy(&sngss7_event->event.siFacEvnt, siFacEvnt, sizeof(*siFacEvnt));
319
320
321 ftdm_queue_enqueue(((sngss7_span_data_t*)sngss7_info->ftdmchan->span->mod_data)->event_queue, sngss7_event);
322
323 SS7_FUNC_TRACE_EXIT(__FUNCTION__);
324 }
325
326
327 void sngss7_fac_cfm(uint32_t suInstId, uint32_t spInstId, uint32_t circuit, uint8_t evntType, SiFacEvnt *siFacEvnt)
328 {
329 SS7_FUNC_TRACE_ENTER(__FUNCTION__);
330
331 sngss7_chan_data_t *sngss7_info = NULL;
332 ftdm_channel_t *ftdmchan = NULL;
333 sngss7_event_data_t *sngss7_event = NULL;
334
335
336 if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
337 SS7_ERROR("Failed to extract channel data for circuit = %d!\n", circuit);
338 SS7_FUNC_TRACE_EXIT(__FUNCTION__);
339 return;
340 }
341
342
343 sngss7_event = ftdm_malloc(sizeof(*sngss7_event));
344 if (sngss7_event == NULL) {
345 SS7_ERROR("Failed to allocate memory for sngss7_event!\n");
346 SS7_FUNC_TRACE_EXIT(__FUNCTION__);
347 return;
348 }
349 memset(sngss7_event, 0x0, sizeof(*sngss7_event));
350
351
352 sngss7_event->spInstId = spInstId;
353 sngss7_event->suInstId = suInstId;
354 sngss7_event->circuit = circuit;
355 sngss7_event->evntType = evntType;
356 sngss7_event->event_id = SNGSS7_FAC_CFM_EVENT;
357 memcpy(&sngss7_event->event.siFacEvnt, siFacEvnt, sizeof(*siFacEvnt));
358
359
360 ftdm_queue_enqueue(((sngss7_span_data_t*)sngss7_info->ftdmchan->span->mod_data)->event_queue, sngss7_event);
361
362 SS7_FUNC_TRACE_EXIT(__FUNCTION__);
363 }
364
365
366 void sngss7_umsg_ind(uint32_t suInstId, uint32_t spInstId, uint32_t circuit)
367 {
368 SS7_FUNC_TRACE_ENTER(__FUNCTION__);
369
370 sngss7_chan_data_t *sngss7_info = NULL;
371 ftdm_channel_t *ftdmchan = NULL;
372 sngss7_event_data_t *sngss7_event = NULL;
373
374
375 if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
376 SS7_ERROR("Failed to extract channel data for circuit = %d!\n", circuit);
377 SS7_FUNC_TRACE_EXIT(__FUNCTION__);
378 return;
379 }
380
381
382 sngss7_event = ftdm_malloc(sizeof(*sngss7_event));
383 if (sngss7_event == NULL) {
384 SS7_ERROR("Failed to allocate memory for sngss7_event!\n");
385 SS7_FUNC_TRACE_EXIT(__FUNCTION__);
386 return;
387 }
388 memset(sngss7_event, 0x0, sizeof(*sngss7_event));
389
390
391 sngss7_event->spInstId = spInstId;
392 sngss7_event->suInstId = suInstId;
393 sngss7_event->circuit = circuit;
394 sngss7_event->event_id = SNGSS7_UMSG_IND_EVENT;
395
396
397 ftdm_queue_enqueue(((sngss7_span_data_t*)sngss7_info->ftdmchan->span->mod_data)->event_queue, sngss7_event);
398
399 SS7_FUNC_TRACE_EXIT(__FUNCTION__);
400
401 }
402
403 void sngss7_sta_ind(uint32_t suInstId, uint32_t spInstId, uint32_t circuit, uint8_t globalFlg, uint8_t evntType, SiStaEvnt *siStaEvnt)
404 {
405 SS7_FUNC_TRACE_ENTER(__FUNCTION__);
406
407 sngss7_chan_data_t *sngss7_info = NULL;
408 ftdm_channel_t *ftdmchan = NULL;
409 sngss7_event_data_t *sngss7_event = NULL;
410
411
412 if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
413 SS7_ERROR("Failed to extract channel data for circuit = %d!\n", circuit);
414 SS7_FUNC_TRACE_EXIT(__FUNCTION__);
415 return;
416 }
417
418
419 sngss7_event = ftdm_malloc(sizeof(*sngss7_event));
420 if (sngss7_event == NULL) {
421 SS7_ERROR("Failed to allocate memory for sngss7_event!\n");
422 SS7_FUNC_TRACE_EXIT(__FUNCTION__);
423 return;
424 }
425 memset(sngss7_event, 0x0, sizeof(*sngss7_event));
426
427
428 sngss7_event->spInstId = spInstId;
429 sngss7_event->suInstId = suInstId;
430 sngss7_event->circuit = circuit;
431 sngss7_event->globalFlg = globalFlg;
432 sngss7_event->evntType = evntType;
433 sngss7_event->event_id = SNGSS7_STA_IND_EVENT;
434 if (siStaEvnt != NULL) {
435 memcpy(&sngss7_event->event.siStaEvnt, siStaEvnt, sizeof(*siStaEvnt));
436 }
437
438
439 ftdm_queue_enqueue(((sngss7_span_data_t*)sngss7_info->ftdmchan->span->mod_data)->event_queue, sngss7_event);
440
441 SS7_FUNC_TRACE_EXIT(__FUNCTION__);
442 }
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458