]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
freetdm: Added SS7 variables for location number (pending SIP-X header integration)
authorMoises Silva <moy@sangoma.com>
Thu, 6 Oct 2011 16:45:00 +0000 (12:45 -0400)
committerJames Zhang <jzhang@sangoma.com>
Thu, 6 Oct 2011 23:01:34 +0000 (19:01 -0400)
libs/freetdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c

index cacb85437206518089b96234ff722f93ecfe4a3d..bb6f19181b267bda88f4d442484e156fb24798f6 100644 (file)
@@ -223,6 +223,28 @@ ftdm_status_t handle_con_ind(uint32_t suInstId, uint32_t spInstId, uint32_t circ
                                        copy_tknStr_from_sngss7(siConEvnt->cgPtyNum1.addrSig, var, siConEvnt->cgPtyNum1.oddEven);
                                        sngss7_add_var(sngss7_info, "ss7_loc_digits", var);
                                }
+                               if (siConEvnt->cgPtyNum1.scrnInd.pres) {
+                                       /* fill in the screening indication value */
+                                       sprintf(var, "%d", siConEvnt->cgPtyNum1.scrnInd.val);
+                                       sngss7_add_var(sngss7_info, "ss7_loc_screen_ind", var);
+                               }
+
+                               if (siConEvnt->cgPtyNum1.presRest.pres) {
+                                       /* fill in the presentation value */
+                                       sprintf(var, "%d", siConEvnt->cgPtyNum1.presRest.val);
+                                       sngss7_add_var(sngss7_info, "ss7_loc_pres_ind", var);
+                               }
+
+                               if (siConEvnt->cgPtyNum1.natAddrInd.pres) {
+                                       sprintf(var, "%d", siConEvnt->cgPtyNum1.natAddrInd.val);
+                                       sngss7_add_var(sngss7_info, "ss7_loc_nadi", var);
+                               }
+                       } else {
+                               SS7_DEBUG_CHAN(ftdmchan, "No Location Number information in IAM%s\n", " ");
+                       }
+
+                       sprintf(var, "%d", sngss7_info->circuit->cic);
+                       sngss7_add_var(sngss7_info, "ss7_cic", var);
 
                                if (siConEvnt->cgPtyNum1.scrnInd.pres) {
                                        /* fill in the screening indication value */