# How determine client session location (internet or local LAN)

**URL:** <https://forum.inductiveautomation.com/t/how-determine-client-session-location-internet-or-local-lan/29616>\
**Category:** Ignition Early Access\
**Created:** [November 2, 2019, 4:56am UTC](https://forum.inductiveautomation.com/t/how-determine-client-session-location-internet-or-local-lan/29616 "2019-11-02T04:56:29Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![nader.chinichian](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nader.chinichian/32/9261_2.png) [@nader.chinichian](https://forum.inductiveautomation.com/u/nader.chinichian)\
**Post date:** [November 2, 2019, 4:56am UTC](https://forum.inductiveautomation.com/t/how-determine-client-session-location-internet-or-local-lan/29616/1 "2019-11-02T04:56:29Z")

</div>

Hello  
I have some IP CCTV in client site and need to view them in perspective by Iframe in both local LAN and internet access. The problem is I have some how determine where client session is connected to gateway so dynamically change URL in Iframe. 192.168.1.3:88 if client connect in local LAN or [mydomain.org:88](http://mydomain.org:88) for internet access. There is no property in session props for that.

---

<div class="post-metadata">

**Author:** ![JordanCClark](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jordancclark/32/83362_2.png) [@JordanCClark](https://forum.inductiveautomation.com/u/JordanCClark)\
**Post date:** [November 2, 2019, 11:46am UTC](https://forum.inductiveautomation.com/t/how-determine-client-session-location-internet-or-local-lan/29616/2 "2019-11-02T11:46:01Z")

</div>

Can that be inferred from session.props.host?

---

<div class="post-metadata">

**Author:** ![nader.chinichian](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nader.chinichian/32/9261_2.png) [@nader.chinichian](https://forum.inductiveautomation.com/u/nader.chinichian)\
**Post date:** [November 2, 2019, 12:10pm UTC](https://forum.inductiveautomation.com/t/how-determine-client-session-location-internet-or-local-lan/29616/3 "2019-11-02T12:10:09Z")

</div>

No if user use his phone in the site and out site the return value is the same.

---

<div class="post-metadata">

**Author:** ![nader.chinichian](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nader.chinichian/32/9261_2.png) [@nader.chinichian](https://forum.inductiveautomation.com/u/nader.chinichian)\
**Post date:** [November 2, 2019, 12:11pm UTC](https://forum.inductiveautomation.com/t/how-determine-client-session-location-internet-or-local-lan/29616/4 "2019-11-02T12:11:46Z")

</div>

Can I force iframe get data from gateway pass the html5 data to client? I mean when I put 192.168._._ it run and get page from gateway.  
If this can happen I can set to local lP for every case.

---

<div class="post-metadata">

**Author:** ![JordanCClark](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jordancclark/32/83362_2.png) [@JordanCClark](https://forum.inductiveautomation.com/u/JordanCClark)\
**Post date:** [November 2, 2019, 12:14pm UTC](https://forum.inductiveautomation.com/t/how-determine-client-session-location-internet-or-local-lan/29616/5 "2019-11-02T12:14:59Z")

</div>

Seems that would make it more complex than it needs to be.

I don’t have any of my servers on a public IP to check this out. Does gateway.address change between LAN and WAN connections?

---

<div class="post-metadata">

**Author:** ![JordanCClark](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jordancclark/32/83362_2.png) [@JordanCClark](https://forum.inductiveautomation.com/u/JordanCClark)\
**Post date:** [November 2, 2019, 12:20pm UTC](https://forum.inductiveautomation.com/t/how-determine-client-session-location-internet-or-local-lan/29616/6 "2019-11-02T12:20:42Z")

</div>

Another thought I had (that I still can’t test out ) might be to use geolocation. It’s more of a spitball idea while sipping my coffee…

---

<div class="post-metadata">

**Author:** ![nader.chinichian](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nader.chinichian/32/9261_2.png) [@nader.chinichian](https://forum.inductiveautomation.com/u/nader.chinichian)\
**Post date:** [November 2, 2019, 1:50pm UTC](https://forum.inductiveautomation.com/t/how-determine-client-session-location-internet-or-local-lan/29616/7 "2019-11-02T13:50:27Z")

</div>

No the gateway address is always fix in both public and private.

---

<div class="post-metadata">

**Author:** ![nader.chinichian](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nader.chinichian/32/9261_2.png) [@nader.chinichian](https://forum.inductiveautomation.com/u/nader.chinichian)\
**Post date:** [November 2, 2019, 5:09pm UTC](https://forum.inductiveautomation.com/t/how-determine-client-session-location-internet-or-local-lan/29616/8 "2019-11-02T17:09:34Z")

</div>

Imagine you connect to gateway via 4G network at your office. The geo location is not useful here.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [November 3, 2019, 7:40pm UTC](https://forum.inductiveautomation.com/t/how-determine-client-session-location-internet-or-local-lan/29616/9 "2019-11-03T19:40:06Z")

</div>

Consider using `mydomain.org` everywhere, and having your local DNS server/forwarder supply the LAN address for queries from inside the LAN. For a simple DNS forwarder like dnsmasq, this is called “localize queries”. (Or just a local override for that host if your local DNS doesn’t serve to multiple subnets.)

---

<div class="post-metadata">

**Author:** ![nader.chinichian](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nader.chinichian/32/9261_2.png) [@nader.chinichian](https://forum.inductiveautomation.com/u/nader.chinichian)\
**Post date:** [November 4, 2019, 5:16am UTC](https://forum.inductiveautomation.com/t/how-determine-client-session-location-internet-or-local-lan/29616/10 "2019-11-04T05:16:17Z")

</div>

Thanks. But if in case I don’t have any local DNS, I believe if I can get the client url use use to access gateway, I can easily use it to access my camera.  
Is not there any way to know what url user use to access gateway?

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [November 4, 2019, 12:37pm UTC](https://forum.inductiveautomation.com/t/how-determine-client-session-location-internet-or-local-lan/29616/11 "2019-11-04T12:37:54Z")

</div>

Perspective doesn’t appear to have the necessary property (yet?). Consider solving it with DNS anyways, as you won’t be able to use SSL without having the name from the certificate used to actually access the server. You absolutely need SSL for any traffic from outside an isolated network.

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [November 4, 2019, 4:26pm UTC](https://forum.inductiveautomation.com/t/how-determine-client-session-location-internet-or-local-lan/29616/12 "2019-11-04T16:26:21Z")

</div>

`session.props.gateway.address` will be whatever address the browser/application/etc connected to the gateway using - specifically, `Window.location.hostname` from JS: [https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/hostname](https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/hostname)
