Module: kamailio
Branch: master
Commit: bac9707163082e7e0ca60c2c02eb1102df8d227b
URL: 
https://github.com/kamailio/kamailio/commit/bac9707163082e7e0ca60c2c02eb1102df8d227b

Author: Carsten Bock <[email protected]>
Committer: Carsten Bock <[email protected]>
Date: 2015-07-02T12:22:35+02:00

cdp: Evaluate the supported_vendor_id-AVP during CER/CEA

---

Modified: modules/cdp/peerstatemachine.c

---

Diff:  
https://github.com/kamailio/kamailio/commit/bac9707163082e7e0ca60c2c02eb1102df8d227b.diff
Patch: 
https://github.com/kamailio/kamailio/commit/bac9707163082e7e0ca60c2c02eb1102df8d227b.patch

---

diff --git a/modules/cdp/peerstatemachine.c b/modules/cdp/peerstatemachine.c
index 375443b..f7ec548 100644
--- a/modules/cdp/peerstatemachine.c
+++ b/modules/cdp/peerstatemachine.c
@@ -722,11 +722,25 @@ void save_peer_applications(peer *p,AAAMessage *msg)
                switch (avp->code){
                        case AVP_Auth_Application_Id:
                                id = get_4bytes(avp->data.s);   
-                               add_peer_application(p,id,0,DP_AUTHORIZATION);  
+                               add_peer_application(p,id,0,DP_AUTHORIZATION);
+                               avp_vendor = 
AAAFindMatchingAVP(msg,0,AVP_Supported_Vendor_Id,0,0);
+                               while (avp_vendor) {
+                                       vendor = get_4bytes(avp_vendor->data.s);
+                                       LM_DBG("Found Supported Vendor for 
Application %i: %i\n", DP_AUTHORIZATION, vendor);
+                                       
add_peer_application(p,id,vendor,DP_AUTHORIZATION);
+                                       avp_vendor = 
AAAFindMatchingAVP(msg,avp_vendor->next,AVP_Supported_Vendor_Id,0,0);
+                               }
                                break;
                        case AVP_Acct_Application_Id:
                                id = get_4bytes(avp->data.s);   
                                add_peer_application(p,id,0,DP_ACCOUNTING);     
+                               avp_vendor = 
AAAFindMatchingAVP(msg,0,AVP_Supported_Vendor_Id,0,0);
+                               while (avp_vendor) {
+                                       vendor = get_4bytes(avp_vendor->data.s);
+                                       LM_DBG("Found Supported Vendor for 
Application %i: %i\n", DP_ACCOUNTING, vendor);
+                                       
add_peer_application(p,id,vendor,DP_ACCOUNTING);
+                                       avp_vendor = 
AAAFindMatchingAVP(msg,avp_vendor->next,AVP_Supported_Vendor_Id,0,0);
+                               }
                                break;
                        case AVP_Vendor_Specific_Application_Id:
                                group = AAAUngroupAVPS(avp->data);


_______________________________________________
sr-dev mailing list
[email protected]
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev

Reply via email to