<!-- Kamailio Pull Request Template -->
<!-- IMPORTANT: - for detailed contributing guidelines, read: https://github.com/kamailio/kamailio/blob/master/.github/CONTRIBUTING.md - pull requests must be done to master branch, unless they are backports of fixes from master branch to a stable branch - backports to stable branches must be done with 'git cherry-pick -x ...' - code is contributed under BSD for core and main components (tm, sl, auth, tls) - code is contributed GPLv2 or a compatible license for the other components - GPL code is contributed with OpenSSL licensing exception -->
#### Pre-Submission Checklist <!-- Go over all points below, and after creating the PR, tick all the checkboxes that apply --> <!-- All points should be verified, otherwise, read the CONTRIBUTING guidelines from above--> <!-- If you're unsure about any of these, don't hesitate to ask on sr-dev mailing list --> - [ ] Commit message has the format required by CONTRIBUTING guide - [ ] Commits are split per component (core, individual modules, libs, utils, ...) - [ ] Each component has a single commit (if not, squash them into one commit) - [ ] No commits to README files for modules (changes must be done to docbook files in `doc/` subfolder, the README file is autogenerated)
#### Type Of Change - [ ] Small bug fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds new functionality) - [ ] Breaking change (fix or feature that would change existing functionality)
#### Checklist: <!-- Go over all points below, and after creating the PR, tick the checkboxes that apply --> - [ ] PR should be backported to stable branches - [ ] Tested changes locally - [ ] Related to issue #XXXX (replace XXXX with an open issue number)
#### Description <!-- Describe your changes in detail -->
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/2209
-- Commit Summary --
* add received_in_via function(use it in hiops module) * hiops: new module in Kamailio
-- File Changes --
M src/core/msg_translator.c (25) M src/core/msg_translator.h (3) A src/modules/hiops/Alarm-Indicator.c (153) A src/modules/hiops/Alarm-Indicator.h (57) A src/modules/hiops/BIT_STRING.c (189) A src/modules/hiops/BIT_STRING.h (33) A src/modules/hiops/CMakeLists.txt (92) A src/modules/hiops/Code.c (64) A src/modules/hiops/Code.h (49) A src/modules/hiops/CommunicationIdentifier.c (94) A src/modules/hiops/CommunicationIdentifier.h (43) A src/modules/hiops/GeneralizedTime.c (706) A src/modules/hiops/GeneralizedTime.h (69) A src/modules/hiops/HI1-Operation.c (94) A src/modules/hiops/HI1-Operation.h (61) A src/modules/hiops/IA5String.c (77) A src/modules/hiops/IA5String.h (27) A src/modules/hiops/INTEGER.c (1025) A src/modules/hiops/INTEGER.h (82) A src/modules/hiops/IP-value.c (130) A src/modules/hiops/IP-value.h (55) A src/modules/hiops/IPAddress.c (393) A src/modules/hiops/IPAddress.h (67) A src/modules/hiops/LawfulInterceptionIdentifier.c (126) A src/modules/hiops/LawfulInterceptionIdentifier.h (38) A src/modules/hiops/LocalTimeStamp.c (191) A src/modules/hiops/LocalTimeStamp.h (50) A src/modules/hiops/Makefile (15) A src/modules/hiops/National-HI1-ASN1parameters.c (139) A src/modules/hiops/National-HI1-ASN1parameters.h (43) A src/modules/hiops/NativeEnumerated.c (207) A src/modules/hiops/NativeEnumerated.h (32) A src/modules/hiops/NativeInteger.c (332) A src/modules/hiops/NativeInteger.h (37) A src/modules/hiops/Network-Element-Identifier.c (198) A src/modules/hiops/Network-Element-Identifier.h (60) A src/modules/hiops/Network-Identifier.c (94) A src/modules/hiops/Network-Identifier.h (48) A src/modules/hiops/Notification.c (153) A src/modules/hiops/Notification.h (57) A src/modules/hiops/OBJECT_IDENTIFIER.c (764) A src/modules/hiops/OBJECT_IDENTIFIER.h (139) A src/modules/hiops/OCTET_STRING.c (1807) A src/modules/hiops/OCTET_STRING.h (86) A src/modules/hiops/PrintableString.c (109) A src/modules/hiops/PrintableString.h (24) A src/modules/hiops/Priority.c (125) A src/modules/hiops/Priority.h (38) A src/modules/hiops/TimeStamp.c (64) A src/modules/hiops/TimeStamp.h (49) A src/modules/hiops/UTCTime.c (179) A src/modules/hiops/UTCTime.h (38) A src/modules/hiops/asn_application.h (47) A src/modules/hiops/asn_codecs.h (109) A src/modules/hiops/asn_codecs_prim.c (312) A src/modules/hiops/asn_codecs_prim.h (53) A src/modules/hiops/asn_internal.h (128) A src/modules/hiops/asn_system.h (137) A src/modules/hiops/ber_decoder.c (283) A src/modules/hiops/ber_decoder.h (64) A src/modules/hiops/ber_tlv_length.c (178) A src/modules/hiops/ber_tlv_length.h (50) A src/modules/hiops/ber_tlv_tag.c (144) A src/modules/hiops/ber_tlv_tag.h (60) A src/modules/hiops/constr_CHOICE.c (1114) A src/modules/hiops/constr_CHOICE.h (57) A src/modules/hiops/constr_SEQUENCE.c (1425) A src/modules/hiops/constr_SEQUENCE.h (60) A src/modules/hiops/constr_TYPE.c (77) A src/modules/hiops/constr_TYPE.h (180) A src/modules/hiops/constraints.c (93) A src/modules/hiops/constraints.h (63) A src/modules/hiops/der_encoder.c (201) A src/modules/hiops/der_encoder.h (68) A src/modules/hiops/hi1ops.c (682) A src/modules/hiops/hi1ops.h (102) A src/modules/hiops/hi2ops.c (1319) A src/modules/hiops/hi2ops.h (109) A src/modules/hiops/hiops.c (272) A src/modules/hiops/hiops.h (38) A src/modules/hiops/per_decoder.c (93) A src/modules/hiops/per_decoder.h (56) A src/modules/hiops/per_encoder.c (151) A src/modules/hiops/per_encoder.h (69) A src/modules/hiops/per_opentype.c (378) A src/modules/hiops/per_opentype.h (22) A src/modules/hiops/per_support.c (483) A src/modules/hiops/per_support.h (135) A src/modules/hiops/tcp_socket.c (136) A src/modules/hiops/tcp_socket.h (39) A src/modules/hiops/xer_decoder.c (368) A src/modules/hiops/xer_decoder.h (106) A src/modules/hiops/xer_encoder.c (67) A src/modules/hiops/xer_encoder.h (59) A src/modules/hiops/xer_support.c (227) A src/modules/hiops/xer_support.h (55)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/2209.patch https://github.com/kamailio/kamailio/pull/2209.diff
This module is refer to hiops module #1856
Closed #2209.
Reopened #2209.
Thanks for the contribution. The patch is quite large and given the scope of the module, probably not many can spend time to do a deep review of the code. If nobody adds more, it can be merged, but first it needs the documentation of the module (the docbook xml files in doc/ subfolder and the generated README). Can you push them soon to have the module ready for a potential merge?
A few things to add from my side: - many files are generated from an ASN.1 definition file (e.g. from HI1NotificationOperations.asn), but the asn1 files are missing. It would be great if they could be added, otherwise future extensions are difficult. - there is a CMake file included (CMakeLists.txt), is is still used? We use make as our build system in Kamailio. Otherwise it should be removed. - there are a lot of include files from the asnc1 added (like OBJECT_IDENTIFIER.c/h, BIT_STRING.c/h etc..). These files are all provides as part of the asnc1 package and should not be included as part of the module. - the module also introduce a new function in the core "int received_in_via( struct sip_msg *msg )" @miconda maybe you can have a look to this
I just did a quick test to use the asn1c system files - the module still compiles with them (after fixing one bug related to a crypto refactoring). So it looks quite good and the module size was reduced from ~19.000 lines to 5600 lines. :-) The only change necessary in the Makefile was to add one include: ``` DEFS+=-DKAMAILIO_MOD_INTERFACE \ -I/usr/share/asn1c/ ```
There are a couple of warnings related to the use of BSD_SOURCE, but they could be fixed also later.
After you added the documentation it can be merged, with the asn1c files removed of course. It probably makes sense to merge it manually, to prevent the whole files to be introduced into the repository and then deleted again. I can do it, no problem.
As @henningw mentioned, I should remove asn1c system files from the main module source. Another way that i am thinking about it is using asn1c system file just during compiling the module and remove all them after that. It's documents is ready now, So i should get time to publish it. I'll get do that. Also some function was completely changed, for getting more compatibility with other codes, They should be published, too. I had the same thought about this function "received_in_via" , It could be a new function in core source files.
As mentioned, you can finish the module docs and I can merge it manually, also removing the discussed files and adapting the Makefile. Any comment about the question related to the asn definition files?
The basic asn definition file erlated to Lawful Interception is available in below link: https://www.etsi.org/deliver/etsi_ts/101600_101699/101671/03.15.01_60/ But based on Table 7.1 and 7.3 in TS.133.108 for IMS networks, Just some of hiX-parameters (The X parameter is refered to 1,2,3 interfaces)would be used. So we might have to change some of asn file before compiling or we could use them with no changing and just focused on mandatory parameters.
@mojtabaesfandiari - any update on this pull request? I think the still open topics are related to docs and the asn1 definitions. If you can't provie the asn1 definitions for some reasons, let us know.
@henningw - because of developing lreproxy engine, i had not more time. Now, i could come back to hiops module developing and completing it. I will update it next days.
Short note to say that probably branching of 5.4 will happen soon, if you want this merged for 5.4.x release series, then it has to be made ready during the next days.
@miconda I had a conversation with the author of the pull request, he wants to rework the code substancially. I don't think this should be merged in this form.
Yes, As @henningw is mentioned, some rework substancially is doing right now, I don't think it's over for this branching.
Because of there are a lot of changes in source code, i have to close this PR and create new one later.
Closed #2209.
@mojtabaesfandiari Where is the new branch? please link them to this
Unfortunatly the latest development of hiops module dose not published Becuase of some issue
On Fri, Feb 24, 2023, 20:01 soroshsabz ***@***.***> wrote:
@mojtabaesfandiari https://github.com/mojtabaesfandiari Where is the new branch? please link them to this
— Reply to this email directly, view it on GitHub https://github.com/kamailio/kamailio/pull/2209#issuecomment-1443964976, or unsubscribe https://github.com/notifications/unsubscribe-auth/AKYTNLC2IEQVZ6TIUCV2GGDWZDO5VANCNFSM4KMZIZVQ . You are receiving this because you were mentioned.Message ID: ***@***.***>