[sr-dev] git:master:bac97071: cdp: Evaluate the supported_vendor_id-AVP during CER/CEA

Carsten Bock carsten at ng-voice.com
Thu Jul 2 12:22:48 CEST 2015


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

Author: Carsten Bock <carsten at ng-voice.com>
Committer: Carsten Bock <carsten at ng-voice.com>
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);




More information about the sr-dev mailing list