I need to implement a communication protocol with a radio station using a completely new protocol (APCO25 DFSI, if it says something to someone). I have a standard for it and two simple requirements: the protocol must transmit sound and control commands. Naturally in Linux there is no built-in support for this protocol. So, actually, how is this done? Where do they start? Do I need to write a library? And even when the library is written, how will the sound be transmitted? Isn't it better to make two libraries: one for transmitting sound, the other for data. In general, it is necessary to understand how in general I start to make support for one or another protocol, HTTP for example?

  • Is a library needed for something like this ? - avp
  • Well, of course the application layer. - victor_crimea 1 2:51 pm
  • I think your question does not contain some significant points. Who will be the user (final and intermediate, person, application, etc.) of this protocol? Understanding this, it will be possible to answer questions about the organization of the interface. After all, you can write a composite driver that contains sound and TTY devices. - sergw
  • The user of this protocol will be another program that captures the sound and sends it to the radio station for broadcast, and it also receives sound from the radio station and feeds it to the audio output. So basically, you can not make anything in the library, but make a monolithic application. But this is somehow too rude. - victor_crimea 1

1 answer 1

To implement your library to implement the capabilities of a data protocol, it is necessary to carry out preparatory work.

For example, start by reading what data transfer protocol is . Then take some simple known protocol of the same level, for example RTP . View the source code of the library that implements this protocol. Write an example using this library, tests with a certain set of test data. After that, in my opinion, you can start writing a library that complies with the required protocol.

The answer to the part of the question of sharing libraries will be received as soon as some examples are written using other libraries.