ANBF syntax is adopted in defining SDP, MGCP, SIP and other protocols.
This process requires reusable analytical techniques for specialized processing which resulting in
Juphoon ABNF parser. Juphoon has formed its unique ABNF codec techniques based on in-depth research
about ABNF parsing. The extensive application of these techniques in the protocol stack products has greatly
improved the parser performance of the protocol stack. In our comparison test on SIP stack, the protocol codec
performance of Juphoon products is 3-9 times higher than other products of the same type.(refer to performance of SIP protocol stack)。
in the same environment and under the same test case. These ABNF codec techniques have become the core competencies of Juphoon in stack development, which include:
Handling of character set
Ordinary protocol stacks use the special character scanning technique in protocol analysis,
namely, characters such as spaces, semicolons, commas and the like are used as separators of protocol field during the first scanning;
the detailed decoding of each string field is completed in the second scanning. Protocol decoding needs more than one time of scanning
in this way. However, protocol stack of Juphoon adopt unique character set that can analyze stack by scanning once, which increase the
speed of stack analysis effectively.
Character set
Ordinary protocol stacks use string compare to judge whether a word string is
a predefined token, which delay the analyzing speed for containing too many tokens in protocol message.
Protocol stack products of Juphoon take two measures simultaneously in managing token: one is quick search
for token information based on hash table, the other is multiple match based on the initial char,
length and special char of the token. These two techniques solve the problem that the token match is usually
the performance bottleneck in protocol analysis.
Location of syntax error
By applying Dump Stack to ABNF Parser, errors in protocol syntax can locate to as precisely as the character,
and the stack process of protocol analysis will also be provided. As in the example of the sip message, the error is missing forward value,
Dump Stack can clearly point out the syntax error in the message. Besides, Dump Stack, as an independent module, can be applied to other
modules such as dbuf, fsm, etc.