PDA

View Full Version : Tetra PEI AT Commands



gimmythesaint
2014-07-05, 07:19 PM
Hello,

I am trying to use AT commands to read SDS messages from Sepura STP9000.
Some simple commands run OK, others don't, more importantly the AT+CMGS commands and the +CSDS
or any other command related to messaging?
Am I missing something here? Should I put the radio into a specific mode or so?
Can I use the STP9000 to access SDS using AT commands?
Any other option for doing so programmatically? other than AT commands?

Many thanx in advance for any insights

primig
2014-07-05, 09:25 PM
try this?
http://www.finetopix.com/showthread.php?38727-SAIL-V3-2-SEPURA&highlight=sail

gimmythesaint
2014-07-05, 11:25 PM
Thank you for your reply.


Well I checked the SAIL Tool, it worked fine on the Sepura STP9000 radio and managed to logged the activity.


The problem I am trying to solve is to capture GPS SDS messages which I intend to send to a single radio, and use a computer-radio interface to extract
these GPS messages and send them to a vehicle tracking system.


SAIL tool does a good job in logging all air messages for monitoring and debugging purposes.
I hoped that I could have made use of it for my purpose but the log file format is rather complex also
SAIL tool provide an option to work continuously and generate many sub files, the problem is that a new file is are generated after 10000 lines
or based on a 15 minutes period! which is a little bit too much time for our tracking purposes.


Using AT commands to extract messages should be straight forward, but the related commands don't work
on the STP9000, giving me different messages CME Error 3 CME Error 35 CME Error 36! which makes me wonder
if I have to make a specific configuration on the radio to allow these commands?


Any other clues are higly appreciated.


Regards,

saugumas
2014-07-28, 02:02 AM
To route out GPS position data LIP (PID 10 SDS) you must use AT+CTSP=2,3,10 (Both MT and TE) i.a.w this document http://www.etsi.org/deliver/etsi_ts/100300_100399/10039205/02.03.01_60/ts_10039205v020301p.pdf
There was some examples of the same issue covered in this forum some time ago.

gimmythesaint
2014-07-28, 06:27 AM
Yes thank you
I already used commands:
CommandText.Text = "AT+CTSP=1,3,2";
CommandText.Text = "AT+CTSP=1,3,3";
CommandText.Text = "AT+CTSP=1,3,130";
CommandText.Text = "AT+CTSP=1,3,131";

These manged to send various sds to PEI, I'll try the command you sent and see if it works.

Another thing please, when I send an SDS using a radio and receive it via PEI interface of another radio, the receiving radio receives
the message and send it to PEI, but the sending radio keeps displaying sending message on its screen until it displays message failed, although
the receive received it correctly! I tried to send a delivery report back but that didn't and the sending radio keeps displaying sending message until it displays
message failed.
What do I need to do, is it because of the delivery report? may be it is not correctly formatted?

Here is the .Net code I am using to send the message :
SendATCommand("AT+CTSDS=12,0,0,0,0\r\n");


//82 = 130 decimal Complex SDS-TL Text Transfer
//04 = 0100 binary, each bit has a meaning
//FF = Message reference
//01 = Latin Encoding
string controlString = "8204FF01";
string hexaRepresentation = ConvertStringToHexaRepresentation(SDSMessageText.Text);


SendATCommand("AT+CMGS=ReceiverNumber," + ((hexaRepresentation.Length + controlString.Length) * 4) + "\r\n" + controlString + hexaRepresentation + char.ConvertFromUtf32(26));


Here is the code I am using to send a report back to sender:

//82 = PID (130 decimal)
//1 = Message Type (SDS-TRANSFER)
//0 = 0000 binary. The first bit does not request an acknowledgement; the second and third bits are required
//to be fixed at 0; the fourth bit does not request storage in the SwMI
//00 = Receipt Acknowledgement
//XX = Will be added to controlString as the message reference number


SendATCommand("AT+CTSDS=12,0,0,0,0\r\n");
string controlString = "821000";
int messageLength = (controlString.Length + MessageReference.Length) * 4;
string FullCommand = "AT+CMGS=" + CallingParty + "," + messageLength.ToString() + "\r\n" + controlString + MessageReference + char.ConvertFromUtf32(26);
SendATCommand(FullCommand);

Any Advises??

Thank you Gentlemen

saugumas
2014-07-28, 04:28 PM
LIP SDS messages with PID 10 can be sent if your reporting radio has GPS receiver on-board and contains proper configuration of receiving part ISSI. This is common and recommended configuration in most of AVL scenarios as reporting is done by the radio itself.

To explain second problem: your radio is configured to wait for acknowledge of received SDS and it displays "Failed" on timeout. You should specify timeout value "0" to avoid such behavior.

Unfortunately to configure both of these features you will need a radio manager software.

gimmythesaint
2014-07-31, 01:39 AM
What about trying to solve this problem by the receiving radio, the one that is connected via the PEI interface? that it once it receives a message, it can send back a confirmation message.
But the question is should the receiver send a delivery report? or an ACK message?

The way I read in Tetra Air Interface document, once a message is sent, the receiver radio sends a delivery report, then the sender sends back an ACK message, kind of three steps process?

is this correct?

gimmythesaint
2014-08-15, 03:02 AM
Well I've managed to figure out how to program Sepura STP 9000 to send and receive SDS.
ETSI documentation provides good reference, especially the air interface document, lots of information about packets structure (messages), meanings of bits and bytes.
You just connect the serial cable, use the CDM WHQL driver to define the cable and radio on windows 7, then using C# u can access the radio via its PEI using a simple
SerialPort component.
Another thing that was usefull, I had Sepura's PEI developer manual, lots of information related to Sepuras designated commands for sending and receiving SDS.

saugumas
2014-08-15, 05:30 AM
Good to hear about your success! Sepura PEI is far more better documented than ********'s...

tetraIdiot
2014-09-02, 09:30 PM
Well I've managed to figure out how to program Sepura STP 9000 to send and receive SDS.
ETSI documentation provides good reference, especially the air interface document, lots of information about packets structure (messages), meanings of bits and bytes.
You just connect the serial cable, use the CDM WHQL driver to define the cable and radio on windows 7, then using C# u can access the radio via its PEI using a simple
SerialPort component.
Another thing that was usefull, I had Sepura's PEI developer manual, lots of information related to Sepuras designated commands for sending and receiving SDS.

Is there any way to obtain the Sepura PEI developer manual?
I'm having a really hard time figuring out al AT commands.....

gimmythesaint
2014-09-24, 08:45 PM
Is there any way to obtain the Sepura PEI developer manual?
I'm having a really hard time figuring out al AT commands.....


If you are a Sepura customer, you will have to contact their representative and they should provide you with a copy
of their "Limited/Protected" developer document for their PEI interface.

Most of the commands are standard commands as found in ETS documentation (available over the web), some standard commands are not supported in Sepura.

The bottom line, get into contact with Sepura, unless you have a specific command or question I might be able to assist you.

saugumas
2014-09-25, 02:19 AM
Some AT commands examples for sepura you will find there http://www.4shared.com/rar/dODJqvTice/4_Release_Documentation.html look at the folder "Interface Specifications"

gimmythesaint
2014-09-29, 02:09 PM
Dear saugumas (http://www.finetopix.com/member.php?62855-saugumas) ,
I am amazed with the loads of Sepura documentation that you've provided! it has everything and more.

As for ********, do you have any documentation about their PEI interface?

I am having a problem in interpreting some short lip messages that I am receiving via the PEI interface:

some radios send 52 bits rather than 84 bits, with the following payload:
0A4C0040B08C0
if you interpret it with the available documentation, you will find that
0A is the protocol identifier for LIP, 40 hexa == 01000000 which renders to
PDU type 01 which is Long Lip Message ?
PDU extension 0011 which is Long Location Report
Request/Respose 0 = a response??
Why will a radio send such a message?

Also, other radios sends a correct 84 bits lip message with location as 000000s although they have acquired a correct location information:
0A30000000000007FFE00
I suspect this has to do with permissions or something?

Any clues about these messages, the 52-bits and the zeros 84-bit one??

Regards

saugumas
2014-10-01, 01:51 AM
I suggest using ETSI documentation http://www.etsi.org/deliver/etsi_ts/100300_100399/1003921801/01.03.01_60/ts_1003921801v010301p.pdf (page No 41) for debugging. You must convert complete LIP PDU payload (without 0A in front which is LIP PID) from HEX to BIN and group them iaw ETSI to decode. Then you will see a cause :)

Might be useful for LIP modeling as well http://pdu.argos.ws/LIP_PDU_Generator/LIP_PDU_Generator.htm

saugumas
2014-10-02, 02:19 AM
As for zeroes in LIP message payload this means that no GPS is available/acquiring (some ******** terminals do this while others not).
As well you might need to overlook LIP triggers as this might be a clue for 52-bit messages. In example to send position of the terminal you ca use only two basic of them: Periodic reporting or/and Distance reporting all others can be disabled. Of course such settings depends on your operational profile.

tk79_de
2014-11-27, 04:20 AM
Hi,

you can find a small Program to read SDS messages from PEI here: http://www.funkmeldesystem.de/foren/showthread.php?t=58462&highlight=SDS
It's a German forum, but the sourcecode of the first Post is quite easy to understand.