[Cluster-tech] [Dxspider-support] Talk command

Dirk Koopman djk at tobit.co.uk
Mon Sep 17 12:58:02 CEST 2007


Lee Sawkins wrote:
> Hi Dirk
> 
> I would like to possibly pass PC93 messages from CC Cluster to Spider.
> Could you give me information on this protocol.
> 
> Lee
> 
> 
> Dirk Koopman wrote:
>  
>> Mail me offline for the (as yet unwritten) protocol spec and I will see
>> what I can do. You should know that there was a restriction until 0.110
>> that stopped PC93 being accepted from non-PC9x nodes.
>>
>> Dirk
> 

Hi Lee

How's all going?

Back from holidays and working stupid hours to catch up. I should have a
bit more time now.

PC93 is the generic Talk/Announce/WX replacement. It is designed to be
flood routed, if a direct route cannot be determined.

The Flood routing capability is the same for all PC9x sentences which
all begin:-

PC9x^<node call>^<seconds since last midnight>^

<seconds since last midnight> is the number of seconds since the
beginning of "today" UTC. It *MUST* be unique and increase with each
sentence. It can therefore be a decimal number. The idea being that if
the next sentence is sent in the same second as the last one, then you
append (for instance) '.01' on the end. If there is an other one: .02
etc. But you add any number of decimal points (eg '.1' or '.001') you
like. Look at gen_pc9x_t in DXProtHandle.pm for an example.

At midnight, they all go back to 0.

You need to manage this and dedupe on the (<node call>, <seconds ...>)
tuple for all incoming PC9x sentences. Look at check_pc9x_t in
DXProtHandle.pm, for how to do this. You should not even look at it
further after checking whether it is a dupe, just throw it away.

The full PC93 sentence is:-

PC93^<node call>^<seconds..>^<to>^<from>^<via>^<text>[^<onode>]^H99

NOTES:

  * any ^ characters in <text> MUST be converted to %5E
  * <to> can be a callsign (a talk), if I can route to it, I
         treat it as a talk.
         WX (for weather).
         SYSOP (sysop announcements).
         <string> which is not recognised as a callsign by
                  pattern recognition and is taken as a
                  CHAT group (eg: LOGGER, #9000).
             * (announce/full).
  * <from> is the from users callsign
  * <via> constrains whether it goes via a particular node
          set to * for now.
  * <onode> is optional and is used when passing PC93s o.b.o
            non-PC9x handling nodes. Not currently used.

handle_93 in DXProtHandle.pm is fairly readable...


This is an announce:

PC93^IZ7AUH-6^79200^*^IZ7AUH-6^*^IZ7AUH-6 DX CLUSTER -> dx.iz7auh.net
port 8000^H97^

This a talk:

PC93^GB7TLH^81701^WR3D-2^G1TLH-2^*^wot?^H98^

This is a Chat message:

PC93^GB7TLH^81745^#9000^G1TLH-2^*^#48 anybody on?^H96^

Note that for backwards compatibility all chat <text> sections have a
serial number #1->#999 + a space added to it. The first chat message
sent after restart should be a random no in that range. This is designed
to defeat any de-duping on announces.

Hope that helps...

73 Dirk




More information about the Cluster-tech mailing list