diff --git a/ip_addr.h b/ip_addr.h index 9817de41eda..f40d1912e37 100644 --- a/ip_addr.h +++ b/ip_addr.h @@ -57,7 +57,8 @@ enum sip_protos { PROTO_NONE = 0, PROTO_FIRST = 1, PROTO_UDP = 1, \ PROTO_TCP, PROTO_TLS, PROTO_SCTP, PROTO_WS, PROTO_WSS, PROTO_BIN, - PROTO_BINS, PROTO_HEP_UDP, PROTO_HEP_TCP, PROTO_SMPP, PROTO_OTHER }; + PROTO_BINS, PROTO_HEP_UDP, PROTO_HEP_TCP, PROTO_SMPP, PROTO_MSRP, + PROTO_MSRPS, PROTO_OTHER }; #define PROTO_LAST PROTO_OTHER struct ip_addr{ diff --git a/socket_info.h b/socket_info.h index 4aa7a134d40..461e69c0986 100644 --- a/socket_info.h +++ b/socket_info.h @@ -253,6 +253,11 @@ inline static int parse_proto(unsigned char* s, long len, int* proto) *proto=PROTO_SMPP; return 0; } break; + case PROTO2UINT('m', 's', 'r'): + if(len==4 && (s[3]=='p' || s[3]=='P')) { + *proto=PROTO_MSRP; return 0; + } + break; default: if(len==2 && (s[0]|0x20)=='w' && (s[1]|0x20)=='s') { *proto=PROTO_WS; return 0;