View Issue Details

IDProjectCategoryView StatusLast Update
000734610000-014: PubSubSpecpublic2022-09-22 16:29
ReporterMatthias Damm Assigned ToMatthias Damm  
PrioritynormalSeverityminorReproducibilityalways
Status assignedResolutionreopened 
Fixed in Version1.05.01 RC1 
Summary0007346: Need definition for unique PublisherId handling
Description

We need a definition how unique PublisherIds are created e.g. String can use ApplicationUri and UInt64 can use MAC plus local index.
This is especailly important with the recent clarifications for UDP.
We need also a way to expose this information if it is created by the OPC UA application.

TagsNo tags attached.
Commit Version
Fix Due Date

Relationships

related to 0003659 closedMatthias Damm Open issues with OPC UA UDP 

Activities

Matthias Damm

2021-10-08 08:39

developer   ~0015130

Added in OPC 10000-14 - UA Specification Part 14 - PubSub 1.05.1 Draft38.docx

Added definition how default PublisherIds are created and used:

Added to 6.2.6.1 PublisherId
The unique identifier for an OPC UA Application is the ApplicationUri. This ApplicationUri String is used as a default PublisherId for broker based transport protocols.
The default PublisherId for for datagram transport protocols has a DataType of UInt64. If the default PublisherId is created by the OPC UA Application, the first 6 byte are set with the MAC address of one of the network interfaces and the two remaining bytes are set with the OPC UA Server port of the OPC UA Application.
The default PublisherId is used if it is not assigned by a configuration tool.

Added to 9.1.3.2 PublishSubscribeType
Table 174 – PublishSubscribeType definition - added Property DefaultDatagramPublisherId
The default unique PublisherId for datagram transport protocols is provided through the Property DefaultDatagramPublisherId. Further details for the PublisherId are defined in 6.2.6.1.

Jim Luth

2021-10-26 15:13

administrator   ~0015216

Agreed to changes in telecon.

Jouni Aro

2021-10-27 09:18

reporter   ~0015230

I think this needs a bit more clarification.

The first issue concerns the "first 6 bytes". Are they the most or least significant bytes of the UInt64?

If my MacAddress is 14:7d:da:4a:0b:2e, and Server port 52531, what should be the default PublisherId? My default Java implementation gives

PublisherId: 1476576264397442355 / 0x147dda4a0b2ecd33

Loopback adapter does not have a MacAddress, so will the PublisherId be equal to the Server port then?

What should happen if the Network Interface needs to be changed? Should the Publisher keep the original Id or use the new default?

The ApplicationUri can be quite long in practice. At the IOP, I heard there was some Subscriber that could not handle our String PublisherId, which was SamplePublisher@somehost, because it was too long. I guess this was a limitation in regard to the UDP PubSub implementation in a PLC. Should there be some rules on the length of String Ids? Are they still allowed in UDP? If the Subscriber supports MQTT, should it handle strings of any length? Can PLCs support strings of any length?

Jouni Aro

2021-10-27 10:27

reporter   ~0015231

Another mention: The Publisher can be an OPC UA Client instead of a Server. ApplicationUri works fine, but so does MAC address of the Network Interface too. So don't limit the definition to servers.

Jim Luth

2022-09-06 17:08

administrator   ~0017529

Is this already fixed?

Matthias Damm

2022-09-22 16:29

developer   ~0017805

The original issue is fixed and the additions are already in since 1.05.01 but the comment from Jouni is not completely covered yet.

Issue History

Date Modified Username Field Change
2021-10-06 12:30 Matthias Damm New Issue
2021-10-08 06:23 Matthias Damm Relationship added related to 0003659
2021-10-08 08:39 Matthias Damm Assigned To => Matthias Damm
2021-10-08 08:39 Matthias Damm Status new => resolved
2021-10-08 08:39 Matthias Damm Resolution open => fixed
2021-10-08 08:39 Matthias Damm Note Added: 0015130
2021-10-26 15:13 Jim Luth Status resolved => closed
2021-10-26 15:13 Jim Luth Fixed in Version => 1.05.01 RC1
2021-10-26 15:13 Jim Luth Note Added: 0015216
2021-10-27 09:18 Jouni Aro Status closed => feedback
2021-10-27 09:18 Jouni Aro Resolution fixed => reopened
2021-10-27 09:18 Jouni Aro Note Added: 0015230
2021-10-27 10:27 Jouni Aro Note Added: 0015231
2022-09-06 17:08 Jim Luth Status feedback => assigned
2022-09-06 17:08 Jim Luth Note Added: 0017529
2022-09-22 16:29 Matthias Damm Note Added: 0017805