Module: kamailio Branch: master Commit: bac9707163082e7e0ca60c2c02eb1102df8d227b URL: https://github.com/kamailio/kamailio/commit/bac9707163082e7e0ca60c2c02eb1102...
Author: Carsten Bock carsten@ng-voice.com Committer: Carsten Bock carsten@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/bac9707163082e7e0ca60c2c02eb1102... Patch: https://github.com/kamailio/kamailio/commit/bac9707163082e7e0ca60c2c02eb1102...
---
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);