Need ASN.1 specifications for M3UA protocol - ss7

I need to parse the buffer of m3ua protocol. In order to parse the same I will require asn.1 specifications for M3UA.
Kindly could anyone provide me the link for the same.
It will be a great help.
Thanks in advance.

I think you are looking for this one:
RFC 3332: Signaling System 7 (SS7) Message Transfer Part 3 (MTP3) - User
Adaptation Layer (M3UA)
https://www.ietf.org/rfc/rfc3332.txt

SIGTRAN's MTP3-User Adaptation Layer (M3UA) provides for the transport of MTP user protocols such as ISUP and SCCP.
Since you are inquiring about ASN.1 we can assume you are interested in one of the SCCP user protocols. The first step will be to decode the Signaling Connection Control Part (SCCP). See the ITU-T recommendations (http://www.itu.int/itu-t/recommendations/index.aspx?ser=Q) or your national variant (e.g. ANSI):
Q.711-Q.719: Signalling Connection Control Part (SCCP)
In all likelihood the SCCP user protocol you are interested in is TCAP:
Q.770-Q.779: Transaction Capabilities Application Part (TCAP)
The ASN.1 specification for TCAP is contained in Q.773:
Q.773: Transaction Capabilities Formats and Encoding
http://www.itu.int/itu-t/recommendations/rec.aspx?rec=4079
The TC user protocol you are most likely to be interested in is the Mobile Application Part (MAP). The GSM/UMTS specification for MAP contains the ASN.1:
3GPP TS 29.002 Mobile Application Part (MAP) Specification
http://webapp.etsi.org/key/key.asp?GSMSpecPart1=29&GSMSpecPart2=002&Search=search

Related

Configure .eds file to map channels of a CANopen Client PLC

In Order use a PLC as a Client (formerly “Slave”), one has to configure the PDO channels, since the default values of the manufacturer are often not suitable. In my case, I need the PDOs so send INT valued instead of the default UNSIGNED8 (see. Picture).
Therefore my question: What kind of workflow would you recommend, to map the CANopen Client PDO channels?
I found the following workflow suitable, however I appreciate any improvements and recommendations from your side!
Start by locating the .eds file from the manufacturer. The image show this in the B&R Automation Studio Programming Environment
Open the file in a eds. Editor. I found the free Vector CANEds Editor very useful. Delete all RxPODs and RxPDO mappings that you don’t need.
Assign the needed Data Type (e.g. INTEGER16) and Channel Name (“1 Byte In (1)”).
Add the necessary PDOs and PDO mapping from the database. (This might actually be a bug, but if you just edit the PDOs without deleting and recreating them, I always receive error messages)
Map the Date to the Channels
Don't forget to write the number of channels in the first entry (in this image: 1601sub0)
Check the eds file for Errors (press F5) and copy&paste the eds file to the original location point 1.)
Add the PLC Client device in Automation Studio and you should see the correct mappings.
(PS: I couldn't make the images smaller ... any recommendations about formating this question are welcome!)

Is there any object-storage standardized protocol for storing data+metadata?

When it comes to query databases, you can rely on SQL or when exchanging emails you can rely on SMTP.
They are both standards across vendors. We could generalize this to many other "standardized services".
This allows the backing provider of the service to be switched easily. I can change a local MySQL to a managed one, or I can switch an SMTP by another just changing the config of the application without changing the code.
Question:
When it comes to "store binaries", like for example say a company that needs to store photos sent by users, PDFs sent by providers and phone-call recordings from the quality department...
...when it's about "storing binaries over the net" is there any industry-standard in the form of "key-value-metadata" where the value is the binary, the metadata is a free-object (with possibly info about creation time, who is the creator, context of the creation, etc); and the ID is a function of the content (for example a Sha1 or whatever), that ensures anti-duplication measures by design?
When I say industry-standard I mean that I don't care if "behind" my connecting API, the "real" storage is implemented by a redis or a mysql or a plain-file-system or an S3 from AWS... just something "standard" given by multiple parties, to where I connect to and I can "easily change what's behind" by configuration and change from one storage-provider to another with the same simplicity we change our SMTP for example not caring if there's a sendmail or a postfix behind.

TFTP protocol with options negotiation

I have to implement the TFTP protocol in C for a school projet according to the RFC 1782.
When a client send a RRQ paquet with option(s), the serveur reply with a OACK paquet to confirm the recognized option(s). I'm fine with that.
Buf if the client send a RRQ paquet without option, does the server have to send a OACK paquet or does he begin to send the DATA paquet(s) directly?
Thank you.
As specified in the [rfc 1782], you can send the DATA packets directly.
"the server may respond with an Options Acknowledgment "
[rfc 2119]:
5. MAY This word, or the adjective "OPTIONAL", mean that an item is
truly optional. One vendor may choose to include the item because a
particular marketplace requires it or because the vendor feels that
it enhances the product while another vendor may omit the same item.
An implementation which does not include a particular option MUST be
prepared to interoperate with another implementation which does
include the option, though perhaps with reduced functionality. In the
same vein an implementation which does include a particular option
MUST be prepared to interoperate with another implementation which
does not include the option (except, of course, for the feature the
option provides.)
[rfc 1782]: https://www.rfc-editor.org/rfc/rfc1782
[rfc 2119]: https://www.ietf.org/rfc/rfc2119.txt

How to listen for "any speech" in VoCon Hybrid and capture what was said

Part of my task is to make a system that simulates dictating and sending a text message using Vocon.
I tried using the <...> aka "garbage" rule like this:
#BNF+EMV2.1;
!grammar messageInput;
!start <messageInput>;
<messageInput> : cancel | <...>;
Unfortunately that means I don't get what was said, but rather I get the "<...>" as a result.
How can I make Vocon listen to any speech, but report back to me what was said?
(If the changes need to be done in the C code rather than the speech input grammar, I'm also interested in that)
I asked Nuance tech support 5 days ago and finally a couple of hours ago, here's what they answered:
What you described (returning any spoken text) is dictation -- not
grammar-based speech recognition.
To perform dictation with Vocon Hybrid, you use the server-based or
cloud-based service via the NMSP or HTTP interface.
Please search for "dictation" in the Vocon Hybrid 4.8 documentation.
So summarising, it is not possible to do it the way I was intending to; it requires a different mechanism.

Can I have same upnp device with different description/services during run time?

While going through upnp spec I got the following doubts .
Can I define a basic upnp device with all mandatory fields and with no servicelist and
when providing the description xml I will modify my description xml to advertise my service based to different conditions.
eg: services may playmusic OR switch light OR playfootball.
Can i modify the xml per device basis on run time to inlcude completely different and random services?
I hope the description and service xmls are not static .
Just like almost everything else in UPnP Device Arch document this is not 100% clearly defined, but the idea of dynamic device/service descriptions is mentioned:
If a device needs to
change one of these descriptions, it MUST cancel its outstanding
advertisements and re-advertise. Consequently, control points SHOULD
NOT assume that device and service descriptions are unchanged if a
device re-appears on the network, but they can detect whether
descriptions changed if a changed CONFIGID.UPNP.ORG field value is
present in the announcements.
So descriptions are not static, but you do need need to cancel and re-advertize.
That said, abusing this does not sound useful (Why not use separate root devices or at least sub-devices for totally unrelated services) and is bound to lead to compatibility issues.