print-sip.c 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. /*
  2. * Redistribution and use in source and binary forms, with or without
  3. * modification, are permitted provided that: (1) source code
  4. * distributions retain the above copyright notice and this paragraph
  5. * in its entirety, and (2) distributions including binary code include
  6. * the above copyright notice and this paragraph in its entirety in
  7. * the documentation or other materials provided with the distribution.
  8. * THIS SOFTWARE IS PROVIDED ``AS IS'' AND
  9. * WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT
  10. * LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
  11. * FOR A PARTICULAR PURPOSE.
  12. *
  13. * Original code by Hannes Gredler (hannes@gredler.at)
  14. * Turned into common "text protocol" code, which this uses, by
  15. * Guy Harris.
  16. */
  17. /* \summary: Session Initiation Protocol (SIP) printer */
  18. #ifdef HAVE_CONFIG_H
  19. #include "config.h"
  20. #endif
  21. #include <netdissect-stdinc.h>
  22. #include "netdissect.h"
  23. #include "extract.h"
  24. static const char *sipcmds[] = {
  25. "ACK",
  26. "BYE",
  27. "CANCEL",
  28. "DO",
  29. "INFO",
  30. "INVITE",
  31. "MESSAGE",
  32. "NOTIFY",
  33. "OPTIONS",
  34. "PRACK",
  35. "QAUTH",
  36. "REFER",
  37. "REGISTER",
  38. "SPRACK",
  39. "SUBSCRIBE",
  40. "UPDATE",
  41. "PUBLISH",
  42. NULL
  43. };
  44. void
  45. sip_print(netdissect_options *ndo, const u_char *pptr, u_int len)
  46. {
  47. txtproto_print(ndo, pptr, len, "sip", sipcmds, RESP_CODE_SECOND_TOKEN);
  48. }