[Freediameter-devel] Unsupported mandatory AVP found (Vendor-Specific-Application-Id)
Status: Alpha
Brought to you by:
mphunter
|
From: Michael K. <mkl...@go...> - 2017-04-17 15:23:19
|
Hello Dear freeDiameter team! I am trying to make GoDiameter to communicate with freeDiameter respectively. However, received CEA includes three application Ids and one unknown AVP. Despite _DIAMETER_SUCCESS (2001)_ , freeDiameter fails to parse the response correctly. Log: ``` 17:50:47 NOTI SND to 'cgrates-poc.opencloud.com': 17:50:47 NOTI 'Capabilities-Exchange-Request' 17:50:47 NOTI Version: 0x01 17:50:47 NOTI Length: 212 17:50:47 NOTI Flags: 0x80 (R---) 17:50:47 NOTI Command Code: 257 17:50:47 NOTI ApplicationId: 0 17:50:47 NOTI Hop-by-Hop Identifier: 0x312AEFFA 17:50:47 NOTI End-to-End Identifier: 0x6479348B 17:50:47 NOTI {internal data}: src:(nil)(0) rwb:(nil) rt:0 cb:(nil),(nil)((nil)) qry:(nil) asso:0 sess:(nil) 17:50:47 NOTI AVP: 'Origin-Host'(264) l=34 f=-M val=" freediameter.opencloud.com" 17:50:47 NOTI AVP: 'Origin-Realm'(296) l=21 f=-M val=" opencloud.com" 17:50:47 NOTI AVP: 'Origin-State-Id'(278) l=12 f=-M val=1492440647 (0x58f4d647) 17:50:47 NOTI AVP: 'Host-IP-Address'(257) l=14 f=-M val=10.224.228.36 17:50:47 NOTI AVP: 'Vendor-Id'(266) l=12 f=-M val=0 (0x0) 17:50:47 NOTI AVP: 'Product-Name'(269) l=20 f=-- val="freeDiameter" 17:50:47 NOTI AVP: 'Firmware-Revision'(267) l=12 f=-- val=10201 (0x27d9) 17:50:47 NOTI AVP: 'Inband-Security-Id'(299) l=12 f=-M val='NO_INBAND_SECURITY' (0 (0x0)) 17:50:47 NOTI AVP: 'Acct-Application-Id'(259) l=12 f=-M val=3 (0x3) 17:50:47 NOTI AVP: 'Auth-Application-Id'(258) l=12 f=-M val=4294967295 (0xffffffff) 17:50:47 NOTI AVP: 'Supported-Vendor-Id'(265) l=12 f=-M val=5535 (0x159f) 17:50:47 NOTI AVP: 'Supported-Vendor-Id'(265) l=12 f=-M val=10415 (0x28af) 17:50:47 DBG 'STATE_WAITCNXACK' -> 'STATE_WAITCEA' ' cgrates-poc.opencloud.com' 17:50:47 NOTI Unsupported mandatory AVP found 17:50:47 ERROR Unsupported AVP: 0(not searched in dictionary) l=12 f=-M val=(not set) 17:50:47 ERROR ERROR: in '((parsedict_do_avp(dict, ((struct avp *)(avpch->o)), mandatory, error_info)))' : Operation not supported 17:50:47 ERROR ERROR: in '((parsedict_do_avp(dict, ((struct avp *)(avpch->o)), mandatory, error_info)))' : Operation not supported 17:50:47 NOTI RCV from 'cgrates-poc.opencloud.com': 17:50:47 NOTI 'Capabilities-Exchange-Answer' 17:50:47 NOTI Version: 0x01 17:50:47 NOTI Length: 228 17:50:47 NOTI Flags: 0x00 (----) 17:50:47 NOTI Command Code: 257 17:50:47 NOTI ApplicationId: 0 17:50:47 NOTI Hop-by-Hop Identifier: 0x312AEFFA 17:50:47 NOTI End-to-End Identifier: 0x6479348B 17:50:47 NOTI {internal data}: src:cgrates-poc.opencloud.com(25) rwb:0x7fbf68000f10 rt:0 cb:(nil),(nil)((nil)) qry:0x7fbf78000aa0 asso:0 sess:(nil) 17:50:47 NOTI AVP: 'Result-Code'(268) l=12 f=-M val='DIAMETER_SUCCESS' (2001 (0x7d1)) 17:50:47 NOTI AVP: 'Origin-Host'(264) l=19 f=-M val="cgrates-poc" 17:50:47 NOTI AVP: 'Origin-Realm'(296) l=21 f=-M val=" opencloud.com" 17:50:47 NOTI AVP: 'Host-IP-Address'(257) l=14 f=-M val=10.224.228.186 17:50:47 NOTI AVP: 'Vendor-Id'(266) l=12 f=-M val=0 (0x0) 17:50:47 NOTI AVP: 'Product-Name'(269) l=19 f=-- val="Golant-data" 17:50:47 NOTI AVP: 'Origin-State-Id'(278) l=12 f=-M val=1492440647 (0x58f4d647) 17:50:47 NOTI AVP: 'Acct-Application-Id'(259) l=12 f=-M val=3 (0x3) 17:50:47 NOTI AVP: 'Auth-Application-Id'(258) l=12 f=-M val=4 (0x4) 17:50:47 NOTI AVP: 'Auth-Application-Id'(258) l=12 f=-M val=1 (0x1) 17:50:47 NOTI AVP: 'Supported-Vendor-Id'(265) l=12 f=-M val=10415 (0x28af) 17:50:47 NOTI AVP: 'Vendor-Specific-Application-Id'(260) l=32 f=-M val=(grouped) 17:50:47 NOTI AVP: 'Vendor-Id'(266) l=12 f=-M val=10415 (0x28af) 17:50:47 NOTI AVP: 0(not searched in dictionary) l=12 f=-M val=(not set) 17:50:47 NOTI AVP: 267(not searched in dictionary) l=12 f=-- val=(not set) 17:50:47 NOTI Unsupported mandatory AVP found 17:50:47 ERROR ERROR: in '((parsedict_do_avp(dict, ((struct avp *)(avpch->o)), mandatory, error_info)))' : Operation not supported 17:50:47 ERROR ERROR: in '((parsedict_do_avp(dict, ((struct avp *)(avpch->o)), mandatory, error_info)))' : Operation not supported 17:50:47 ERROR ERROR: in '((fd_msg_parse_dict ( object, dict, error_info )))' : Operation not supported 17:50:47 ERROR PARSING ERROR: 'DIAMETER_AVP_UNSUPPORTED' from ' cgrates-poc.opencloud.com': 17:50:47 ERROR 'Capabilities-Exchange-Answer' 17:50:47 ERROR Version: 0x01 17:50:47 ERROR Length: 228 17:50:47 ERROR Flags: 0x00 (----) 17:50:47 ERROR Command Code: 257 17:50:47 ERROR ApplicationId: 0 17:50:47 ERROR Hop-by-Hop Identifier: 0x312AEFFA 17:50:47 ERROR End-to-End Identifier: 0x6479348B 17:50:47 ERROR {internal data}: src:cgrates-poc.opencloud.com(25) rwb:0x7fbf68000f10 rt:2 cb:(nil),(nil)((nil)) qry:0x7fbf78000aa0 asso:0 sess:(nil) 17:50:47 ERROR AVP: 'Result-Code'(268) l=12 f=-M val='DIAMETER_SUCCESS' (2001 (0x7d1)) 17:50:47 ERROR AVP: 'Origin-Host'(264) l=19 f=-M val="cgrates-poc" 17:50:47 ERROR AVP: 'Origin-Realm'(296) l=21 f=-M val=" opencloud.com" 17:50:47 ERROR AVP: 'Host-IP-Address'(257) l=14 f=-M val=10.224.228.186 17:50:47 ERROR AVP: 'Vendor-Id'(266) l=12 f=-M val=0 (0x0) 17:50:47 ERROR AVP: 'Product-Name'(269) l=19 f=-- val="Golant-data" 17:50:47 ERROR AVP: 'Origin-State-Id'(278) l=12 f=-M val=1492440647 (0x58f4d647) 17:50:47 ERROR AVP: 'Acct-Application-Id'(259) l=12 f=-M val=3 (0x3) 17:50:47 ERROR AVP: 'Auth-Application-Id'(258) l=12 f=-M val=4 (0x4) 17:50:47 ERROR AVP: 'Auth-Application-Id'(258) l=12 f=-M val=1 (0x1) 17:50:47 ERROR AVP: 'Supported-Vendor-Id'(265) l=12 f=-M val=10415 (0x28af) 17:50:47 ERROR AVP: 'Vendor-Specific-Application-Id'(260) l=32 f=-M val=(grouped) 17:50:47 ERROR AVP: 'Vendor-Id'(266) l=12 f=-M val=10415 (0x28af) 17:50:47 ERROR AVP: 0(not searched in dictionary) l=12 f=-M val=(not set) 17:50:47 ERROR AVP: 267(not searched in dictionary) l=12 f=-- val=(not set) ``` Trace: ``` Diameter Protocol Version: 0x01 Length: 196 Flags: 0x00 Command Code: 257 Capabilities-Exchange ApplicationId: Diameter Common Messages (0) Hop-by-Hop Identifier: 0x5ff41e87 End-to-End Identifier: 0xc68a0593 [Request In: 124] [Response Time: 0.000189000 seconds] AVP: Result-Code(268) l=12 f=-M- val=DIAMETER_SUCCESS (2001) AVP: Origin-Host(264) l=19 f=-M- val=cgrates-poc AVP: Origin-Realm(296) l=21 f=-M- val=opencloud.com AVP: Host-IP-Address(257) l=14 f=-M- val=10.224.228.186 AVP: Vendor-Id(266) l=12 f=-M- val=10415 AVP: Product-Name(269) l=19 f=--- val=Golant-data AVP: Origin-State-Id(278) l=12 f=-M- val=1492106344 AVP: Acct-Application-Id(259) l=12 f=-M- val=Diameter Base Accounting (3) AVP: Auth-Application-Id(258) l=12 f=-M- val=Diameter Credit Control Application (4) AVP: Auth-Application-Id(258) l=12 f=-M- val=NASREQ Application (1) **AVP: Unknown(0) l=12 f=-M- val=00000004** AVP: Firmware-Revision(267) l=12 f=--- val=918 ``` >From the documentation, I understand that actually four dictionaries (applications) are pre-loaded into goDiameter unit. ``` Embedded dictionaries: - Base Protocol RFC 6733 - Credit Control RFC 4006 - Network Access Server RFC 7155 - 3GPP specific AVPs from TS 32.299 version 12.7.0 ``` I am a newbie in diameter world, but I feel, it could be related to RFC3588 and "Vendor-Specific-Application-Id" grouped AVP, which workaround, I believe, was introduced here https://gitlab.eurecom.fr/oai/freediameter/commit/6208b8d741d5d09d73525c00a0cdf93e7f5440ed . Could you kindly point me which dictionary/way could possibly make freeDiameter understand that? Please assist, Thanks in advance, [image: Golan Telecom] *Michael KlimenkoVAS R&D* Tel: +972-53-6213067 Skype: michael.klimenko |