Please be aware that the SAP SQL Anywhere Forum will be shut down on August 29th, 2024 when all it's content will be migrated to the SAP Community.

I am trying to setup a Relay Server in our DMZ so that MobiLink clients can connect to the server from remote locations without the use of a VPN. We do not have a MobiLink or Relay Server Farm and am struggling with what the parameters should look like in the rs.config file.

[backend_farm] Would we include this section in the file?

[backend_server] enable = yes farm=??? id=??? description = MobiLink Server mac = Use the MAC address of the machine runnign the MobiLink server?

Thanks for any help and advice.

asked 18 Apr '12, 09:29

bgreiman's gravatar image

accept rate: 20%

Here is my rs.config:

start = no
verbosity = 4

[relay_server] enable = yes host = localhost http_port = 80 https_port = 443

[backend_farm] enable=yes id = MobiLink.Server client_security = on backend_security = on

[backend_server] enable=yes description=MobiLink.Server id=MLServer2 mac=A0-36-9F-01-D6-F9 verbosity=1

Here is my oe.txt:

-f MobiLink.Server
-id MLServer2
-cr "host=MRS0101;port=80;https=0;url_suffix=/rs/server/rs_server.dll"

MobiLink Start Line:

mlsrv12.exe -c "dsn=central database;dbn=central01;eng=central01;uid=xxx;pwd=xxx;commlinks=tcpip" -x tcpip{port=2440} -zs "MLServer2" -zf -zu+ -v cnpus -dl -x oe{config=c:bersysoe.txt} -q -w 40 -wu 20 -cm 4g -r 1000000

Getting the following when starting MobiLink with the embedded outbound enabler:

I. 2012-04-19 07:29:35. <main> <oe>: <oehost> 
I. 2012-04-19 07:29:35. <main> <oe>: <oehost> iAnywhere Outbound Enabler Version
I. 2012-04-19 07:29:35. <main> <oe>: <oehost> Machine DB01CENTRAL is running Windows 2008R2 Build 7601 Service Pack 1
I. 2012-04-19 07:29:35. <main> <oe>: <oehost> Software built for X86_64
I. 2012-04-19 07:29:35. <main> <oe>: <oehost> Time zone offset from UTC in munite: -300
I. 2012-04-19 07:29:35. <main> <oe>: <oehost> 
I. 2012-04-19 07:29:35. <main> Notifier stage connection connected
I. 2012-04-19 07:29:35. <main> <oe>: <oehost> Mac address: a0-36-9f-01-d6-f9!!
I. 2012-04-19 07:29:35. <main> ODBC isolation set to: Read Committed
I. 2012-04-19 07:29:35. <main> Started RTNotifier 'RTNotifier1'
E. 2012-04-19 07:29:35. <main> [-10354] <oe>: <oehost> Received an unexpected HTTP error from the web server:HTTP/1.1 404 Relay server is not configured for this backend farm
                        Via: 1.1 TMG0101
                        Connection: Keep-Alive
                        Proxy-Connection: Keep-Alive
                        Transfer-Encoding: chunked
                        Date: Thu, 19 Apr 2012 12:29:32 GMT
                        Content-Type: text/html
                        Server: Microsoft-IIS/7.5
                        IAS-RS-Extension: OE_TempChannel
E. 2012-04-19 07:29:35. <main> [-10354] <oe>: <oehost> doHTTPRequest: read reply failed

I guess I am still not understanding what configuration needs to look like since the MobiLink server is not part of a farm.

Thanks for the help and guidance.


(19 Apr '12, 08:26) bgreiman

It looks like your relay server is running on a machine called MRS0101, and your ML/OE is running on a machine called DB01CENTRAL. However, in the [relay server] section of the relay server config file, your have "host=localhost". I believe what is happening is that the OE is connecting to the relay server running on MRS0101 (since that is on your command line), but the first thing it does it to ask the relay server running on MRS0101 about all the list of relay servers in this farm, so it can make connections to all the relay servers (in this case just one). The OE is returned that the relay server is running on "host=localhost" because that is what is in the config file. I think if you change the [relay server] section of the relay server config file to read "host=MRS0101", you'll be able to connect.

(19 Apr '12, 09:16) Reg Domaratzki

Getting closer, but getting some errors yet. The server MRS0101 is located in the DMZ:

Here is part of the log when starting MobiLink now:

I. 2012-04-19 08:50:21. <main> Started RTNotifier 'RTNotifier1'
I. 2012-04-19 08:50:21. <main> <oe>: <upchannel-0000> Successfully connected to relay server: MRS0101:80
E. 2012-04-19 08:50:32. <main> [-10354] <oe>: <dnchannel-0000> doHTTPRequest: read reply failed
I. 2012-04-19 08:50:38. <main> <oe>: <upchannel-0000> Successfully connected to relay server: MRS0101:80
E. 2012-04-19 08:50:38. <main> [-10354] <oe>: <upchannel-0000> Error: Encountered authentication error with Relay Server, Farm ID or backend server ID could be invalid

oe.txt config file:

-f MobiLink.Farm
-id MLServer2
-cr "host=MRS0101;port=80;https=0;url_suffix=/rs/server/rs_server.dll"

rs.config file:

start = no 
verbosity = 4
shared_mem = 50M

[relay_server] enable = yes host = MRS0101 http_port = 80 https_port = 443

[backend_farm] enable = yes id = MobiLink.Farm verbosity = 4

[backend_server] enable = yes id=MLServer2 farm=MobiLink.Farm mac = A0-36-9F-01-D6-F9

(19 Apr '12, 09:56) bgreiman

You received this error in the outbound enabler running inside the ML Server:

E. 2012-04-19 08:50:38. <main> [-10354] <oe>: <upchannel-0000> Error: Encountered authentication error with Relay Server, Farm ID or backend server ID could be invalid

We'll need to see the Relay Server log now (not the outbound enabler) to figure out what went wrong.

(20 Apr '12, 10:45) Reg Domaratzki

See log below in the answers section. Looking for any insights on how to correct.

(02 May '12, 10:37) bgreiman

Even though you don't really have a farm, you still need to define the farm with a single back end server. It might look something like :




description=ML Server running on rdomarat-pc1001

The MAC address you use for the backend server is the MAC Address of the machine where the RSOE is running that connects the ML Server with the Relay Server. This is typically the same machine where the ML Server runs (particularly if you are using the embedded RSOE in ML v12), but it does not have to be.

permanent link

answered 18 Apr '12, 09:39

Reg%20Domaratzki's gravatar image

Reg Domaratzki
accept rate: 36%

The [backend_server] section illustrated above is missing a typical token property but it is indeed optional. In fact, both the token and the mac are optional in the [backend_server] section. Not specifying them means your rsoe command doesn't need a -t and the implication is anyone with an rsoe can pretend to be your backend server, connect to the RS and hijack your clients and stop your legitimate rsoe from connecting if the offending one gets connected first.

(19 Apr '12, 05:49) Wing Wong

Yes, the token is missing in my configuration, and it typically exists. Security isn't a big concern to me in the internal Sybase network, since Wing is probably the only other person that might use my test relay server. I trust him. :)

(19 Apr '12, 09:19) Reg Domaratzki

link text

Here is one of the errors from the log:

E. 2012-04-23 10:49:55. <2344.3588.F0B0Up> RSE3003: Redundant outbound enabler connection for backend server 'MLServer2' in backend farm 'MobiLink.Farm' was ignored

I tried uploading the log file. Hopefully I did it correct:

permanent link

answered 23 Apr '12, 11:56

bgreiman's gravatar image

accept rate: 20%

edited 25 Apr '12, 13:44

Hello. I found similar error in your log file Communication error [SYS1229: An operation was attempted on a nonexistent network connection...] occurred while writing to up channel of backend server 'mp1package' in backend farm 'Afariapackage' . When we reload our server, after reload our server running without errors some time(30-60 minutes, but later we have this problem) Can you help us?

permanent link

answered 20 Mar '13, 02:21

German%20Artem's gravatar image

German Artem
accept rate: 0%

edited 20 Mar '13, 02:22

We were not able to resolve and have shelved the project for now. Was a little frustrated that this thread died without any additional responses and we could not afford to spend any more time on this effort. We are looking to start working on early in summer if someone from ianywhere can provide any additional insight for us.

(20 Mar '13, 09:27) bgreiman
Replies hidden

Sorry, I'd left on vacation in April after responding to your thread, but nobody jumped in when I left, and I forgot to check back when I returned.

I looked at the log you posted on the 23rd, in context of these errors you were seeing the ML log :

I. 2012-04-19 08:50:21. <main> <oe>: <upchannel-0000> Successfully connected to relay server: MRS0101:80
E. 2012-04-19 08:50:32. <main> [-10354] <oe>: <dnchannel-0000> doHTTPRequest: read reply failed
I. 2012-04-19 08:50:38. <main> <oe>: <upchannel-0000> Successfully connected to relay server: MRS0101:80
E. 2012-04-19 08:50:38. <main> [-10354] <oe>: <upchannel-0000> Error: Encountered authentication error with Relay Server, Farm ID or backend server ID could be invalid

In the Relay Server log, we see the RSOE successfully connect, but then there is no further communication from this RSOE, and we soon see another RSOE instance (from the same MAC Address) attempting to reconnect again. Since it's using the same farm_id and server_id of an RSOE that the Relay Server thinks is still connected, it denies the connection.

The ML/RSOE log shows that there was a read error shortly after connecting, but there is no evidence of any error in the Relay Server. This tells me that the IIS Server returned the error before the read request was ever passed to the Relay Server running on IIS. Looking at the IIS Access logs, as well the HTTPERR logs from the time that the RSOE reported the read error would help us figure out why the read failed.

Best guess : I've seen something similar to this when the IIS configuration does not set the maxAllowedContentLength to 2GB in the location section where the Relay Server ISAPI extensions are located.

<location path="Default Web Site/rs">
        <anonymousauthentication username=""/>
        <requestlimits maxallowedcontentlength="2147483647"/>
    <handlers accesspolicy="Execute, Script"/>

After the RSOE connects, it makes PUT and GET requests to the IIS server with a 2GB size. If you haven't set the maxAllowedContentLength, then the first liveness packet sent by the RSOE gets a read error and IIS kills the connection.

(20 Mar '13, 10:59) Reg Domaratzki
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here



Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text]( "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:


question asked: 18 Apr '12, 09:29

question was seen: 6,400 times

last updated: 15 Mar '19, 01:38