<div dir="ltr">I will try the master branch too. Unfortunately there is a problem with the RPM build procedure. I will try a different approach and update you when I have something. Thank you for your help!<div><br></div><div><br></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div><font face="monospace">In file included from core/ppcfg.c:37:0:</font></div><div><font face="monospace">core/utils/snexpr.h: In function 'snexpr_op':</font></div><div><font face="monospace">core/utils/snexpr.h:272:2: error: 'for' loop initial declarations are only allowed in C99 mode</font></div><div><font face="monospace"> for(unsigned int i = 0; i < sizeof(OPS) / sizeof(OPS[0]); i++) {</font></div><div><font face="monospace"> ^</font></div><div><font face="monospace">core/utils/snexpr.h:272:2: note: use option -std=c99 or -std=gnu99 to compile your code</font></div><div><font face="monospace">core/utils/snexpr.h: In function 'snexpr_parse_number':</font></div><div><font face="monospace">core/utils/snexpr.h:286:2: error: 'for' loop initial declarations are only allowed in C99 mode</font></div><div><font face="monospace"> for(unsigned int i = 0; i < len; i++) {</font></div><div><font face="monospace"> ^</font></div><div><font face="monospace">core/utils/snexpr.h: In function 'snexpr_func_find':</font></div><div><font face="monospace">core/utils/snexpr.h:322:2: error: 'for' loop initial declarations are only allowed in C99 mode</font></div><div><font face="monospace"> for(struct snexpr_func *f = funcs; f->name; f++) {</font></div><div><font face="monospace"> ^</font></div><div><font face="monospace">core/utils/snexpr.h: In function 'snexpr_convert_num':</font></div><div><font face="monospace">core/utils/snexpr.h:398:3: warning: implicit declaration of function 'asprintf' [-Wimplicit-function-declaration]</font></div><div><font face="monospace"> asprintf(&e->param.stz.sval, "%g", value);</font></div><div><font face="monospace"> ^</font></div><div><font face="monospace">core/utils/snexpr.h: In function 'snexpr_create':</font></div><div><font face="monospace">core/utils/snexpr.h:1193:6: error: 'for' loop initial declarations are only allowed in C99 mode</font></div><div><font face="monospace"> for(struct snexpr_var *v = vars->head; v; v = v->next) {</font></div><div><font face="monospace"> ^</font></div><div><font face="monospace">core/utils/snexpr.h:1217:7: error: 'for' loop initial declarations are only allowed in C99 mode</font></div><div><font face="monospace"> for(int j = 0; j < sne_vec_len(&arg.args); j++) {</font></div><div><font face="monospace"> ^</font></div><div><font face="monospace">core/utils/snexpr.h:1231:15: error: redefinition of 'j'</font></div><div><font face="monospace"> for(int j = 1; j < sne_vec_len(&m.body); j++) {</font></div><div><font face="monospace"> ^</font></div><div><font face="monospace">core/utils/snexpr.h:1217:15: note: previous definition of 'j' was here</font></div><div><font face="monospace"> for(int j = 0; j < sne_vec_len(&arg.args); j++) {</font></div><div><font face="monospace"> ^</font></div><div><font face="monospace">core/utils/snexpr.h:1231:7: error: 'for' loop initial declarations are only allowed in C99 mode</font></div><div><font face="monospace"> for(int j = 1; j < sne_vec_len(&m.body); j++) {</font></div><div><font face="monospace"> ^</font></div><div><font face="monospace">core/utils/snexpr.h: In function 'snexpr_destroy':</font></div><div><font face="monospace">core/utils/snexpr.h:1412:3: error: 'for' loop initial declarations are only allowed in C99 mode</font></div><div><font face="monospace"> for(struct snexpr_var *v = vars->head; v;) {</font></div><div><font face="monospace"> ^</font></div><div><font face="monospace">make[1]: Leaving directory `/builddir/build/BUILD/kamailio-5.7.0-dev1/src'</font></div><div><font face="monospace">make[1]: *** [core/ppcfg.o] Error 1</font></div><div><font face="monospace">make: *** [default] Error 2</font></div><div><font face="monospace">error: Bad exit status from /var/tmp/rpm-tmp.I4sU6o (%build)</font></div><div><font face="monospace"> Bad exit status from /var/tmp/rpm-tmp.I4sU6o (%build)</font></div></blockquote><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div><font face="monospace"><br></font></div></blockquote><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div><font face="monospace"><br></font></div><div><font face="monospace">RPM build errors:</font></div><div><font face="monospace">ERROR: Exception(../../kamailio-5.7.0-dev1.0.el7.centos.src.rpm) Config(epel-7-x86_64) 1 minutes 45 seconds</font></div><div><font face="monospace">INFO: Results and/or logs in: /var/lib/mock/epel-7-x86_64/result</font></div><div><font face="monospace">ERROR: Command failed. See logs for output.</font></div><div><font face="monospace"> # bash --login -c /usr/bin/rpmbuild -bb --target x86_64 --nodeps /builddir/build/SPECS/kamailio.spec</font></div><div><font face="monospace">make: *** [rpm] Error 1</font></div></blockquote></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">вт, 27 вер. 2022 р. о 17:50 Daniel-Constantin Mierla <<a href="mailto:miconda@gmail.com">miconda@gmail.com</a>> пише:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<p>Hello,</p>
<p>I just tested with git master branch using:</p>
<p>secsipid_check_identity("");<br>
</p>
<p>and started fine. Maybe is something else wrong in your config.<br>
</p>
<p>Cheers,<br>
Daniel<br>
</p>
<div>On 27.09.22 13:58, Володимир Іванець
wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">Hello Daniel,
<div><br>
</div>
<div>Sorry for the delayed response. I can confirm that I get
the "unknown command, missing loadmodule?" error when using an
empty parameter <i>if (secsipid_check_identity(""))</i>.</div>
<div><br>
</div>
<div>And thank you for the clarification about the file with the
certificate.</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">пн, 26 вер. 2022 р. о 19:50
Daniel-Constantin Mierla <<a href="mailto:miconda@gmail.com" target="_blank">miconda@gmail.com</a>>
пише:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<p>Hello,</p>
<p>secsipid_check_identity("") should be ok, because the
parameter is empty, but secsipid_check_identity() is not
ok, because is no parameter.</p>
<p>Isn't it working when you have
secsipid_check_identity("")?</p>
<p>It has to be one certificate, which corresponds to the
key that was used to generate the identity header. The
function does not expect many certificates and loop to see
if one of them corresponds to the key.<br>
</p>
<p>Cheers,<br>
Daniel<br>
</p>
<div>On 26.09.22 17:53, Володимир Іванець wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">Hello Daniel!
<div><br>
</div>
<div>I started with a simpler configuration: <i>if
(secsipid_check_identity()) {</i> and <i>if
(secsipid_check_identity("")) {</i> - according to
documentation: <i>If the parameter is empty, the
function is downloading the key using the URL from
"info" parameter of the Identity header, using the
value od "timeout" parameter to limit the download
time.</i> If this matters, I did not configure
modparam "expire" and "timeout".</div>
<div><br>
</div>
<div>When I called secsipid_check_identity with a path
to the certificate, Kamailio started as expected.</div>
<div><br>
</div>
<div>Is there something else I need to do or the
function <i>secsipid_check_identity</i> must receive a
path to certificate as parameter? Also, is it safe to
assume that this file can contain multiple
certificates?</div>
<div><br>
</div>
<div>Thank you very much!</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">пн, 26 вер. 2022 р.
о 17:36 Daniel-Constantin Mierla <<a href="mailto:miconda@gmail.com" target="_blank">miconda@gmail.com</a>>
пише:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<p>Hello,</p>
<p>maybe the function is provided with invalid
parameters? What's the line 47 in the file?</p>
<p>Cheers,<br>
Daniel<br>
</p>
<div>On 26.09.22 15:54, Володимир Іванець wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">Hello everyone!
<div><br>
</div>
<div>I'm testing calls with STIR/SHAKEN with a
Secsipid module on a Kamailio version 5.6.1
and ran into a problem. Outbound calls work
fine when the function <i>secsipid_add_identity</i>
with appropriate parameters is called. But
as soon as I add function <i>secsipid_check_identity</i> to
my configuration, Kamilio would not start.
Here is an error message I get:</div>
<blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><i>kamailio:
CRITICAL: <core> [core/cfg.y:3791]:
yyerror_at(): parse error in config file
/etc/kamailio/include/registrar.cfg, line
47, column 39: unknown command, missing
loadmodule?</i></blockquote>
<div><i><br>
</i></div>
<i>loadmodule "secsipid.so"</i> is present and
is above the function <i>secsipid_check_identity</i> call.
Both secsipid.so and secsipid_proc.so
module files are the correct version and
present on the system.
<div><br>
</div>
<div><br>
</div>
<div>Another question is related to the rpm
package build. How do you build additional
modules? I made adjustment to
the pkg/kamailio/Makefile file. In the <b>cfg</b>
section changed <i>$(MAKE) -C ../../src cfg</i>
with <i>$(MAKE) FLAVOUR=kamailio
include_modules="secsipid secsipid_proc"
-C ../../src cfg</i>. Required modules
appeared in the modules.lst file but their
rpm packages were not built.</div>
<div><br>
</div>
<div>Thank you very much!</div>
</div>
<br>
<fieldset></fieldset>
<pre>__________________________________________________________
Kamailio - Users Mailing List - Non Commercial Discussions
* <a href="mailto:sr-users@lists.kamailio.org" target="_blank">sr-users@lists.kamailio.org</a>
Important: keep the mailing list in the recipients, do not reply only to the sender!
Edit mailing list options or unsubscribe:
* <a href="https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users" target="_blank">https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users</a>
</pre>
</blockquote>
<pre cols="72">--
Daniel-Constantin Mierla -- <a href="http://www.asipto.com" target="_blank">www.asipto.com</a>
<a href="http://www.twitter.com/miconda" target="_blank">www.twitter.com/miconda</a> -- <a href="http://www.linkedin.com/in/miconda" target="_blank">www.linkedin.com/in/miconda</a>
Kamailio Advanced Training - Online
Nov 7-10, 2022 (Europe Timezone)
* <a href="https://www.asipto.com/sw/kamailio-advanced-training-online/" target="_blank">https://www.asipto.com/sw/kamailio-advanced-training-online/</a></pre>
</div>
</blockquote>
</div>
</div>
</blockquote>
<pre cols="72">--
Daniel-Constantin Mierla -- <a href="http://www.asipto.com" target="_blank">www.asipto.com</a>
<a href="http://www.twitter.com/miconda" target="_blank">www.twitter.com/miconda</a> -- <a href="http://www.linkedin.com/in/miconda" target="_blank">www.linkedin.com/in/miconda</a>
Kamailio Advanced Training - Online
Nov 7-10, 2022 (Europe Timezone)
* <a href="https://www.asipto.com/sw/kamailio-advanced-training-online/" target="_blank">https://www.asipto.com/sw/kamailio-advanced-training-online/</a></pre>
</div>
</blockquote>
</div>
</blockquote>
<pre cols="72">--
Daniel-Constantin Mierla -- <a href="http://www.asipto.com" target="_blank">www.asipto.com</a>
<a href="http://www.twitter.com/miconda" target="_blank">www.twitter.com/miconda</a> -- <a href="http://www.linkedin.com/in/miconda" target="_blank">www.linkedin.com/in/miconda</a>
Kamailio Advanced Training - Online
Nov 7-10, 2022 (Europe Timezone)
* <a href="https://www.asipto.com/sw/kamailio-advanced-training-online/" target="_blank">https://www.asipto.com/sw/kamailio-advanced-training-online/</a></pre>
</div>
</blockquote></div>