<div dir="ltr">Hi Klaus,<div><br></div><div>You are correct. With IPSEC and NAT - the form of IPSEC used is tunneled as opposed to transport.</div><div><br></div><div>Cheers</div><div>Jason</div></div><div class="gmail_extra">
<br><br><div class="gmail_quote">On Wed, Jun 11, 2014 at 5:52 PM, Klaus Darilion <span dir="ltr"><<a href="mailto:klaus.mailinglists@pernau.at" target="_blank">klaus.mailinglists@pernau.at</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Is IMS supposed to work with NAT? AFAIK it uses IPsec and I wonder how it should work with NAT?<br>
<br>
regards<br>
Klaus<br>
<br>
Am <a href="tel:09.06.2014%2000" value="+27906201400" target="_blank">09.06.2014 00</a>:06, schrieb Carsten Bock:<div class="HOEnZb"><div class="h5"><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Absolutely! The current implementation does not work with NAT... :-(<br>
<br>
 From Syslog:<br>
Jun  9 00:02:48 voiceblue-2 /usr/sbin/kamailio[73629]: DEBUG:<br>
ims_usrloc_pcscf [usrloc.c:114]: get_aor_hash(): using host in lookup<br>
[192.168.178.23]<br>
Jun  9 00:02:48 voiceblue-2 /usr/sbin/kamailio[73629]: DEBUG:<br>
ims_usrloc_pcscf [udomain.c:473]: get_pcontact(): Searching for<br>
contact in P-CSCF usrloc<br>
[sip:4989200011250@192.168.<u></u>178.23:1024;alias=92.225.199.<u></u>53~1024~1;line=nnh95z41]<br>
Jun  9 00:02:48 voiceblue-2 /usr/sbin/kamailio[73629]: DEBUG:<br>
ims_usrloc_pcscf [udomain.c:481]: get_pcontact(): Searching for<br>
[sip:4989200011250@192.168.<u></u>178.23:1024;alias=92.225.199.<u></u>53~1024~1;line=nnh95z41]<br>
and comparing to<br>
[sip:4989200011250@192.168.<u></u>178.23:1024;alias=92.225.215.<u></u>38~1024~1;line=nnh95z41]<br>
Jun  9 00:02:48 voiceblue-2 /usr/sbin/kamailio[73629]: DEBUG:<br>
ims_registrar_pcscf [service_routes.c:154]: getContactP(): Received<br>
host len 13 (search 13)<br>
Jun  9 00:02:48 voiceblue-2 /usr/sbin/kamailio[73629]: DEBUG:<br>
ims_registrar_pcscf [service_routes.c:159]: getContactP(): Received<br>
host 92.225.215.38 (search 92.225.199.53)<br>
Jun  9 00:02:48 voiceblue-2 /usr/sbin/kamailio[73629]: WARNING:<br>
ims_registrar_pcscf [service_routes.c:176]: getContactP(): Contact not<br>
found based on Contact-header, trying IP/Port/Proto<br>
Jun  9 00:02:48 voiceblue-2 /usr/sbin/kamailio[73629]: DEBUG:<br>
ims_usrloc_pcscf [usrloc.c:114]: get_aor_hash(): using host in lookup<br>
[92.225.199.53]<br>
Jun  9 00:02:48 voiceblue-2 /usr/sbin/kamailio[73629]: DEBUG:<br>
ims_registrar_pcscf [service_routes.c:180]: getContactP(): No entry in<br>
usrloc for <a href="http://92.225.199.53:1024" target="_blank">92.225.199.53:1024</a> (Proto 1) found!<br>
<br>
I have to find a better way, to deal with NAT. I will continue working<br>
on this on tuesday...<br>
<br>
Thanks,<br>
Carsten<br>
<br>
<br>
2014-06-08 21:30 GMT+02:00 Jason Penton <<a href="mailto:jason.penton@gmail.com" target="_blank">jason.penton@gmail.com</a>>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
You battling with nat?<br>
<br>
On 6 Jun 2014 19:10, "Carsten Bock" <<a href="mailto:carsten@ng-voice.com" target="_blank">carsten@ng-voice.com</a>> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Module: sip-router<br>
Branch: master<br>
Commit: a9155e4c73d533d0837bfd480ff7d8<u></u>38d18dc995<br>
URL:<br>
<a href="http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=a9155e4c73d533d0837bfd480ff7d838d18dc995" target="_blank">http://git.sip-router.org/cgi-<u></u>bin/gitweb.cgi/sip-router/?a=<u></u>commit;h=<u></u>a9155e4c73d533d0837bfd480ff7d8<u></u>38d18dc995</a><br>

<br>
Author: Carsten Bock <<a href="mailto:carsten@ng-voice.com" target="_blank">carsten@ng-voice.com</a>><br>
Committer: Carsten Bock <<a href="mailto:carsten@ng-voice.com" target="_blank">carsten@ng-voice.com</a>><br>
Date:   Fri Jun  6 19:09:55 2014 +0200<br>
<br>
ims_usrloc_pcscf: Add option, to disable the "received check" upon lookup.<br>
<br>
---<br>
<br>
  .../doc/ims_usrloc_pcscf_<u></u>admin.xml                 |   27<br>
++++++++++++++++++++<br>
  modules/ims_usrloc_pcscf/<u></u>udomain.c                 |    3 +-<br>
  modules/ims_usrloc_pcscf/ul_<u></u>mod.c                  |    4 +++<br>
  3 files changed, 33 insertions(+), 1 deletions(-)<br>
<br>
diff --git a/modules/ims_usrloc_pcscf/<u></u>doc/ims_usrloc_pcscf_admin.xml<br>
b/modules/ims_usrloc_pcscf/<u></u>doc/ims_usrloc_pcscf_admin.xml<br>
index 43c91f8..2bdb7c1 100644<br>
--- a/modules/ims_usrloc_pcscf/<u></u>doc/ims_usrloc_pcscf_admin.xml<br>
+++ b/modules/ims_usrloc_pcscf/<u></u>doc/ims_usrloc_pcscf_admin.xml<br>
@@ -204,6 +204,33 @@ modparam("ims_usrloc_pcscf", "hashing_type", 1)<br>
  </programlisting><br>
        </example><br>
      </section><br>
+ <section><br>
+      <title>lookup_check_received (int)</title><br>
+<br>
+      <para>If set to 1 (default), the Host in the contact will be<br>
checked<br>
+       against the Host, from which the request was received.</para><br>
+<br>
+      <itemizedlist><br>
+        <listitem><br>
+          <para>0 - Upon lookup, do not check the host against<br>
received.</para><br>
+        </listitem><br>
+<br>
+        <listitem><br>
+          <para>1 - Compare the host in the contact against the received<br>
info.</para><br>
+        </listitem><br>
+      </itemizedlist><br>
+<br>
+      <para><emphasis>Default value is 1.</emphasis></para><br>
+<br>
+      <example><br>
+        <title>Set lookup_check_received parameter</title><br>
+<br>
+        <programlisting format="linespecific">...<br>
+modparam("ims_usrloc_pcscf", "lookup_check_received", 0)<br>
+...<br>
+</programlisting><br>
+      </example><br>
+    </section><br>
    </section><br>
<br>
    <section><br>
diff --git a/modules/ims_usrloc_pcscf/<u></u>udomain.c<br>
b/modules/ims_usrloc_pcscf/<u></u>udomain.c<br>
index d655dea..e19b0f4 100644<br>
--- a/modules/ims_usrloc_pcscf/<u></u>udomain.c<br>
+++ b/modules/ims_usrloc_pcscf/<u></u>udomain.c<br>
@@ -63,6 +63,7 @@<br>
<br>
  extern int db_mode;<br>
  extern unsigned int hashing_type;<br>
+extern int lookup_check_received;<br>
<br>
  #ifdef STATISTICS<br>
  static char *build_stat_name( str* domain, char *var_name)<br>
@@ -471,7 +472,7 @@ int get_pcontact(udomain_t* _d, str* _contact, struct<br>
pcontact** _c) {<br>
                                 _contact->len,<br>
                                 _contact->s);<br>
<br>
-               if ((c->aorhash == aorhash) && (c->aor.len ==<br>
_contact->len)<br>
+               if (lookup_check_received && (c->aorhash == aorhash) &&<br>
(c->aor.len == _contact->len)<br>
                                 && !memcmp(c->aor.s, _contact->s,<br>
_contact->len)) {<br>
                         *_c = c;<br>
                         return 0;<br>
diff --git a/modules/ims_usrloc_pcscf/ul_<u></u>mod.c<br>
b/modules/ims_usrloc_pcscf/ul_<u></u>mod.c<br>
index 998d4bc..d9e2b08 100644<br>
--- a/modules/ims_usrloc_pcscf/ul_<u></u>mod.c<br>
+++ b/modules/ims_usrloc_pcscf/ul_<u></u>mod.c<br>
@@ -85,6 +85,8 @@ int db_mode         = 0;<br>
/*!< Database sync scheme: 0-no db, 1-write throug<br>
  int ul_fetch_rows      = 2000;<br>
  int hashing_type       = 0;<br>
/*!< has type for storing P-CSCF contacts - 0 - use full contact AOR, 1 -<br>
use IP:PORT only */<br>
<br>
+int lookup_check_received = 1;<br>
/*!< Should we check received on lookup?<br>
+<br>
  db1_con_t* ul_dbh = 0;<br>
  db_func_t ul_dbf;<br>
<br>
@@ -109,6 +111,8 @@ static param_export_t params[] = {<br>
         {"timer_interval",      INT_PARAM, &timer_interval  },<br>
         {"db_mode",             INT_PARAM, &db_mode         },<br>
         {"hashing_type",                INT_PARAM, &hashing_type        },<br>
+       {"lookup_check_received",               INT_PARAM,<br>
&lookup_check_received       },<br>
+<br>
         {0, 0, 0}<br>
  };<br>
<br>
<br>
<br>
______________________________<u></u>_________________<br>
sr-dev mailing list<br>
<a href="mailto:sr-dev@lists.sip-router.org" target="_blank">sr-dev@lists.sip-router.org</a><br>
<a href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev" target="_blank">http://lists.sip-router.org/<u></u>cgi-bin/mailman/listinfo/sr-<u></u>dev</a><br>
</blockquote>
<br>
______________________________<u></u>_________________<br>
sr-dev mailing list<br>
<a href="mailto:sr-dev@lists.sip-router.org" target="_blank">sr-dev@lists.sip-router.org</a><br>
<a href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev" target="_blank">http://lists.sip-router.org/<u></u>cgi-bin/mailman/listinfo/sr-<u></u>dev</a><br>
<br>
</blockquote>
<br>
<br>
</blockquote>
<br>
<br>
______________________________<u></u>_________________<br>
sr-dev mailing list<br>
<a href="mailto:sr-dev@lists.sip-router.org" target="_blank">sr-dev@lists.sip-router.org</a><br>
<a href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev" target="_blank">http://lists.sip-router.org/<u></u>cgi-bin/mailman/listinfo/sr-<u></u>dev</a><br>
</div></div></blockquote></div><br></div>