0

I want to drop the sip packets which have to and contact field empty.

INVITE sip:******************* SIP/2.0

Record-Route:

Via: SIP/2.0/UDP *********;branch=z9hG4bK0e44.f7bd2db2.0

Via: SIP/2.0/UDP ************:5060;received=*********;branch=z9hG4bK78f0df76;rport=1122

Max-Forwards: 69

From: "1014" ;tag=as2fff3730

To:

Contact:

Call-ID: **********@*********

CSeq: 103 INVITE

User-Agent: Asterisk PBX 1.6.2.9-2ubuntu2.1

Date: Wed, 09 Oct 2013 15:16:20 GMT

Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO

Supported: replaces, timer

Content-Type: application/sdp

Content-Length: 311 

I am using opensips(code for handling sip packets is in opensips.cfg file).How can I identify such packets and drop them?

EDIT: corresponding parse message is:

Oct  9 17:16:00 voip /usr/local/sbin/opensips[32325]: ERROR:core:parse_first_line: bad request first line

Oct  9 17:16:00 voip /usr/local/sbin/opensips[32325]: ERROR:core:parse_first_line: at line 0 char 42: 

Oct  9 17:16:00 voip /usr/local/sbin/opensips[32325]: ERROR:core:parse_first_line: parsed so far: INVITE sip:***********************:5060

Oct  9 17:16:00 voip /usr/local/sbin/opensips[32325]: INFO:core:parse_first_line: bad message

 > sendrecv 0-16lephone-event/8000 *************SUBSCRIBE, NOTIFY, INFOg: message=<INVITE sip:*************:5060 SIP/2.0

Oct  9 17:16:00 voip /usr/local/sbin/opensips[32325]: ERROR:core:receive_msg: parse_msg failed

Oct  9 17:16:04 voip /usr/local/sbin/opensips[32303]: ERROR:core:parse_first_line: bad request first line

Oct  9 17:16:04 voip /usr/local/sbin/opensips[32303]: ERROR:core:parse_first_line: at line 0 char 42: 

Oct  9 17:16:04 voip /usr/local/sbin/opensips[32303]: ERROR:core:parse_first_line: parsed so far: INVITE sip:****************:5060

Oct  9 17:16:04 voip /usr/local/sbin/opensips[32303]: INFO:core:parse_first_line: bad message

 > sendrecv 0-16lephone-event/*******************SUBSCRIBE, NOTIFY, INFOg: message=<INVITE sip:*****************:5060 SIP/2.0

Oct  9 17:16:04 voip /usr/local/sbin/opensips[32303]: ERROR:core:receive_msg: parse_msg failed
pratik
  • 46
  • 9

1 Answers1

0

You can identify headers of sip packets using this module

http://www.opensips.org/html/docs/modules/1.6.x/textops.html

OR using core variable hdr

$(hdr(name)[N])

After that just exit route, and packet will not be sent.

arheops
  • 15,544
  • 1
  • 21
  • 27