Operating System - OpenVMS
cancel
Showing results for 
Search instead for 
Did you mean: 

X.25, XOT, programming question

 
Ruslan R. Laishev
Super Advisor

X.25, XOT, programming question

Hi All!

Is there some guy who able to provide some help in the X.25 programming area?

I have tried to configure XOT ... and try to use sys$examples:X25$SEND_C.C to check that TCP connection to TCP-X.25 gateway is established. Unsuccesfully. So, I'm need advice of the high skilled progger. Is there so da man ?!

5 REPLIES 5
Hoff
Honored Contributor

Re: X.25, XOT, programming question

You've not posted a question that can be answered.   We need some description of what problem you're trying to solve, the commands or subroutine calls used, the text of any error messages received, the software product versions and patch levels involved for X.25, and for OpenVMS (presumably) Alpha and TCP/IP Services, and other details relevant to whatever issue or error or misbehavior you've encountered here.

Few folks have access to an X.25 gateway (anymore, if they ever had access), and that example and its referenced include files are part of the X.25 PSI package.   Which is not a package commonly installed on most OpenVMS systems, and is licensed separately from DECnet-Plus.

From what I see of the C source code from the one spot where it's available on the 'net, it's over 20 years old, probably tosses C compiler errors commensurate with its antiquity, and the example requires setup in NCL.   It's also dependent on a second receiver program running on the same host, and a C header file installed by the kit that's only present when X.25 is installed.

In short, somebody is going to have to install and configure X.25 and XOT to help you with this code, if this question goes past a compiler error or related assistance.   That will either involve somebody with a hobbyist license — which means no commercial usage — or an HPE-authorized commercial developer (either working for free, or commercially) , or somebody with the actual X.25 package license on their system or with access to your system.

What's happening with the two examples?    If there's a compiler error, what is it?   If there's a run-time error, what is it, and have you investigated the code using the OpenVMS Debugger?

 

Ruslan R. Laishev
Super Advisor

Re: X.25, XOT, programming question

Hi, Hoff!

You are right as usual ...

So, I have resolved the problem.  The my mistake was in the XOT NCL script ...

and I got :

%%%%%%%%%%% OPCOM 19-FEB-2016 12:35:11.73 %%%%%%%%%%%
Message from user SYSTEM on xx
Event: Port Terminated from: Node LOCAL:.xx X25 Access,
at: 2016-02-19-12:35:11.730+00:00Iinf
Client=Generic Client User Process "Pid=00000446 Device=NWA6:",
Type=Switched,
State=No Communication,
Call Direction=Outgoing,
Call Association=X25 Access Template X25_ZSS_135_OSI,
Target DTE Address=79910009922,
Protocol Identifier='03010100'H,
Channel=0,
Reverse Charging=False,
Redirect Reason=Not Redirected,
Fast Select=Not Specified,
DTE Class=XOT-DTE_CLASS-0,
Reference Time=2016-02-19-12:35:11.730+00:00Iinf,
Data Octets Received=0,
Data Octets Sent=0,
PDUs Received=0,
PDUs Sent=0,


I expected :

 

%%%%%%%%%%% OPCOM 19-FEB-2016 14:38:15.03 %%%%%%%%%%%
Message from user SYSTEM on xx
Event: Port Terminated from: Node LOCAL:.xx X25 Access,
at: 2016-02-19-14:38:05.580+00:00Iinf
Client=Generic Client User Process "Pid=00000448 Device=NWA6:",
Type=Switched,
State=Cleared,
Call Direction=Outgoing,
Call Association=X25 Access Template X25_ZSS_135_OSI,
Target DTE Address=79910009922,
Calling DTE Address=79013163222,
Protocol Identifier='03010100'H,
Channel=16,
Outgoing Packet Size=512,
Incoming Packet Size=512,
Outgoing Window Size=3,
Incoming Window Size=3,
Reverse Charging=False,
Redirect Reason=Not Redirected,
Fast Select=Not Specified,
DTE Class=XOT-DTE_CLASS-0,

 

Now I have a next problem: I use 9910009922 as a X.25 address of the remote DTE,

but I'm need to use a some name, for example ZSS_135. In C code:

Work now:

...

#define REMDTE "79910009922"

} ncb = { { sizeof(struct rem_dte), psi$c_ncb_remdte,
sizeof(ncb.rem_dte.s),
REMDTE },
{ sizeof(struct template), psi$c_ncb_template,
sizeof(ncb.template.s),
TEMPLATE }

...

 

 

When I use :

 

#define REMDTE "ZSS_135"

I got the "%SYSTEM-F-BADPARAM, bad parameter value"

 

26410: status = sys$qiow( 0, x25_channel, IO$_ACCESS, /* funtion is make call */
26411: &iosb, 0, 0, 0, &ncb_desc, /* call NCB descriptor */
26412: 0, 0, 0, 0);
26413: check_status(status);
26414: check_status(iosb.iosb$w_status);

 

 

Highlighted
Hoff
Honored Contributor

Re: X.25, XOT, programming question

So find out whether that call supports a translation.   If it does not — and you have some evidence that either it doesn't, or that something isn't set up correctly within the local X.25 PSI configuration — then do a DNS translation for an X25 record — or for however you're storing your address translations — and then feed that translation into the call.

 

Ruslan R. Laishev
Super Advisor

Re: X.25, XOT, programming question

Thanks @Hoff!

john Dite
Frequent Advisor

Re: X.25, XOT, programming question

As far as logical name translation is concerned, the logical name table OSIT$NAMES can play an important role within the X.25 product. Hopefully you have all the infos.

John