Add support for receiving calling party category
[asterisk/asterisk.git] / channels / chan_zap.c
index 81166ee..b726279 100644 (file)
@@ -705,6 +705,7 @@ static struct zt_pvt {
        char lspi_ident[50];
        unsigned int call_ref_ident;
        unsigned int call_ref_pc;
        char lspi_ident[50];
        unsigned int call_ref_ident;
        unsigned int call_ref_pc;
+       unsigned char calling_party_cat;
        int transcap;
        int cic;                                                        /*!< CIC associated with channel */
        unsigned int dpc;                                               /*!< CIC's DPC */
        int transcap;
        int cic;                                                        /*!< CIC associated with channel */
        unsigned int dpc;                                               /*!< CIC's DPC */
@@ -9238,6 +9239,11 @@ static void ss7_start_call(struct zt_pvt *p, struct zt_ss7 *linkset)
        /* Clear this after we set it */
        p->call_ref_pc = 0;
 
        /* Clear this after we set it */
        p->call_ref_pc = 0;
 
+       snprintf(tmp, sizeof(tmp), "%d", p->calling_party_cat);
+       pbx_builtin_setvar_helper(c, "SS7_CALLING_PARTY_CATEGORY", tmp);
+       /* Clear this after we set it */
+       p->call_ref_pc = 0;
+
        if (!ast_strlen_zero(p->redirecting_num)) {
                pbx_builtin_setvar_helper(c, "SS7_REDIRECTING_NUMBER", p->redirecting_num);
                /* Clear this after we set it */
        if (!ast_strlen_zero(p->redirecting_num)) {
                pbx_builtin_setvar_helper(c, "SS7_REDIRECTING_NUMBER", p->redirecting_num);
                /* Clear this after we set it */
@@ -9534,6 +9540,7 @@ static void *ss7_linkset(void *data)
                                ast_copy_string(p->orig_called_num, e->iam.orig_called_num, sizeof(p->orig_called_num));
                                ast_copy_string(p->redirecting_num, e->iam.redirecting_num, sizeof(p->redirecting_num));
                                ast_copy_string(p->generic_name, e->iam.generic_name, sizeof(p->generic_name));
                                ast_copy_string(p->orig_called_num, e->iam.orig_called_num, sizeof(p->orig_called_num));
                                ast_copy_string(p->redirecting_num, e->iam.redirecting_num, sizeof(p->redirecting_num));
                                ast_copy_string(p->generic_name, e->iam.generic_name, sizeof(p->generic_name));
+                               p->calling_party_cat = e->iam.calling_party_cat;
                                        
                                /* Set DNID */
                                if (!ast_strlen_zero(e->iam.called_party_num))
                                        
                                /* Set DNID */
                                if (!ast_strlen_zero(e->iam.called_party_num))