xref: /minix3/external/bsd/tcpdump/dist/print-sip.c (revision b636d99d91c3d54204248f643c14627405d4afd1)
1*b636d99dSDavid van Moolenbroek /*
2*b636d99dSDavid van Moolenbroek  * Redistribution and use in source and binary forms, with or without
3*b636d99dSDavid van Moolenbroek  * modification, are permitted provided that: (1) source code
4*b636d99dSDavid van Moolenbroek  * distributions retain the above copyright notice and this paragraph
5*b636d99dSDavid van Moolenbroek  * in its entirety, and (2) distributions including binary code include
6*b636d99dSDavid van Moolenbroek  * the above copyright notice and this paragraph in its entirety in
7*b636d99dSDavid van Moolenbroek  * the documentation or other materials provided with the distribution.
8*b636d99dSDavid van Moolenbroek  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND
9*b636d99dSDavid van Moolenbroek  * WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT
10*b636d99dSDavid van Moolenbroek  * LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
11*b636d99dSDavid van Moolenbroek  * FOR A PARTICULAR PURPOSE.
12*b636d99dSDavid van Moolenbroek  *
13*b636d99dSDavid van Moolenbroek  * Original code by Hannes Gredler (hannes@juniper.net)
14*b636d99dSDavid van Moolenbroek  * Turned into common "text protocol" code, which this uses, by
15*b636d99dSDavid van Moolenbroek  * Guy Harris.
16*b636d99dSDavid van Moolenbroek  */
17*b636d99dSDavid van Moolenbroek 
18*b636d99dSDavid van Moolenbroek #include <sys/cdefs.h>
19*b636d99dSDavid van Moolenbroek #ifndef lint
20*b636d99dSDavid van Moolenbroek __RCSID("$NetBSD: print-sip.c,v 1.5 2015/03/31 21:59:35 christos Exp $");
21*b636d99dSDavid van Moolenbroek #endif
22*b636d99dSDavid van Moolenbroek 
23*b636d99dSDavid van Moolenbroek #define NETDISSECT_REWORKED
24*b636d99dSDavid van Moolenbroek #ifdef HAVE_CONFIG_H
25*b636d99dSDavid van Moolenbroek #include "config.h"
26*b636d99dSDavid van Moolenbroek #endif
27*b636d99dSDavid van Moolenbroek 
28*b636d99dSDavid van Moolenbroek #include <tcpdump-stdinc.h>
29*b636d99dSDavid van Moolenbroek 
30*b636d99dSDavid van Moolenbroek #include "interface.h"
31*b636d99dSDavid van Moolenbroek #include "extract.h"
32*b636d99dSDavid van Moolenbroek 
33*b636d99dSDavid van Moolenbroek static const char *sipcmds[] = {
34*b636d99dSDavid van Moolenbroek 	"ACK",
35*b636d99dSDavid van Moolenbroek 	"BYE",
36*b636d99dSDavid van Moolenbroek 	"CANCEL",
37*b636d99dSDavid van Moolenbroek 	"DO",
38*b636d99dSDavid van Moolenbroek 	"INFO",
39*b636d99dSDavid van Moolenbroek 	"INVITE",
40*b636d99dSDavid van Moolenbroek 	"MESSAGE",
41*b636d99dSDavid van Moolenbroek 	"NOTIFY",
42*b636d99dSDavid van Moolenbroek 	"OPTIONS",
43*b636d99dSDavid van Moolenbroek 	"PRACK",
44*b636d99dSDavid van Moolenbroek 	"QAUTH",
45*b636d99dSDavid van Moolenbroek 	"REFER",
46*b636d99dSDavid van Moolenbroek 	"REGISTER",
47*b636d99dSDavid van Moolenbroek 	"SPRACK",
48*b636d99dSDavid van Moolenbroek 	"SUBSCRIBE",
49*b636d99dSDavid van Moolenbroek 	"UPDATE",
50*b636d99dSDavid van Moolenbroek 	"PUBLISH",
51*b636d99dSDavid van Moolenbroek 	NULL
52*b636d99dSDavid van Moolenbroek };
53*b636d99dSDavid van Moolenbroek 
54*b636d99dSDavid van Moolenbroek void
sip_print(netdissect_options * ndo,const u_char * pptr,u_int len)55*b636d99dSDavid van Moolenbroek sip_print(netdissect_options *ndo, const u_char *pptr, u_int len)
56*b636d99dSDavid van Moolenbroek {
57*b636d99dSDavid van Moolenbroek 	txtproto_print(ndo, pptr, len, "sip", sipcmds, RESP_CODE_SECOND_TOKEN);
58*b636d99dSDavid van Moolenbroek }
59