<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <p>Hello,</p>
    <p>wondering if it wouldn't be better to get the hostname once at
      startup, rather than doing it each time a new cookie is needed.</p>
    <p>On the other hand, note that you can set server_id for each
      kamailio instance to make it uniquely identifiable, which is also
      important for sruid generator (although that uses random and
      startup timestamp as well).</p>
    <p>Also, sometime the local hostname overlaps, seen lots of servers
      using just 'www' or 'debian'. So ensuring the uniqueness was
      shifted to the sysadmins of the network nodes.</p>
    <p>Cheers,<br>
      Daniel<br>
    </p>
    <br>
    <div class="moz-cite-prefix">On 02/06/16 12:54, Lucian Balaceanu
      wrote:<br>
    </div>
    <blockquote cite="mid:E1b8QGf-0004Oe-Ih@www.kamailio.org"
      type="cite">
      <pre wrap="">Module: kamailio
Branch: master
Commit: 69e57b9260c6c09380fdb9cfd074ea67a459230a
URL: <a class="moz-txt-link-freetext" href="https://github.com/kamailio/kamailio/commit/69e57b9260c6c09380fdb9cfd074ea67a459230a">https://github.com/kamailio/kamailio/commit/69e57b9260c6c09380fdb9cfd074ea67a459230a</a>

Author: Lucian Balaceanu <a class="moz-txt-link-rfc2396E" href="mailto:lucian.balaceanu@1and1.ro"><lucian.balaceanu@1and1.ro></a>
Committer: Lucian Balaceanu <a class="moz-txt-link-rfc2396E" href="mailto:lucian.balaceanu@1and1.ro"><lucian.balaceanu@1and1.ro></a>
Date: 2016-06-02T13:50:02+03:00

rtpengine: change cookie to hostname_pid_seqno

- pid_seqno in gencookie() is not a unique identifictor in a multi kamailio setup

---

Modified: modules/rtpengine/rtpengine.c

---

Diff:  <a class="moz-txt-link-freetext" href="https://github.com/kamailio/kamailio/commit/69e57b9260c6c09380fdb9cfd074ea67a459230a.diff">https://github.com/kamailio/kamailio/commit/69e57b9260c6c09380fdb9cfd074ea67a459230a.diff</a>
Patch: <a class="moz-txt-link-freetext" href="https://github.com/kamailio/kamailio/commit/69e57b9260c6c09380fdb9cfd074ea67a459230a.patch">https://github.com/kamailio/kamailio/commit/69e57b9260c6c09380fdb9cfd074ea67a459230a.patch</a>

---

diff --git a/modules/rtpengine/rtpengine.c b/modules/rtpengine/rtpengine.c
index 5481f49..a37ab6f 100644
--- a/modules/rtpengine/rtpengine.c
+++ b/modules/rtpengine/rtpengine.c
@@ -97,6 +97,8 @@ MODULE_VERSION
 #define        NAT_UAC_TEST_S_1918                     0x08
 #define        NAT_UAC_TEST_RPORT                      0x10
 
+#define COOKIE_SIZE                                    128
+#define HOSTNAME_SIZE                          100
 
 #define DEFAULT_RTPP_SET_ID                    0
 #define MAX_RTPP_TRIED_NODES                   50
@@ -2016,12 +2018,15 @@ static void mod_destroy(void)
 }
 
 
-
 static char * gencookie(void)
 {
-       static char cook[34];
+       static char cook[COOKIE_SIZE];
+       char hostname[HOSTNAME_SIZE];
+
+       if (gethostname(hostname, HOSTNAME_SIZE - 1) < 0)
+               strcpy(hostname, "host");
+       snprintf(cook, COOKIE_SIZE, "%s_%d_%u ", hostname, (int)mypid, myseqn);
 
-       sprintf(cook, "%d_%u ", (int)mypid, myseqn);
        myseqn++;
        return cook;
 }


_______________________________________________
sr-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:sr-dev@lists.sip-router.org">sr-dev@lists.sip-router.org</a>
<a class="moz-txt-link-freetext" href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev</a>
</pre>
    </blockquote>
    <br>
    <pre class="moz-signature" cols="72">-- 
Daniel-Constantin Mierla
<a class="moz-txt-link-freetext" href="http://www.asipto.com">http://www.asipto.com</a> - <a class="moz-txt-link-freetext" href="http://www.kamailio.org">http://www.kamailio.org</a>
<a class="moz-txt-link-freetext" href="http://twitter.com/#!/miconda">http://twitter.com/#!/miconda</a> - <a class="moz-txt-link-freetext" href="http://www.linkedin.com/in/miconda">http://www.linkedin.com/in/miconda</a></pre>
  </body>
</html>