###########################################################################
# package Net::SIP::Response
# subclass from Net::SIP::Packet for managing the response packets
###########################################################################
use
strict;
use
warnings;
package
Net::SIP::Response;
###########################################################################
# Redefine methods from Net::SIP::Packet, no need to find out dynamically
###########################################################################
sub
is_request {0}
sub
is_response {1}
###########################################################################
# Accessors for numerical code and text
# (e.g. "407 Authorization required" )
###########################################################################
sub
code {
return
(
shift
->as_parts())[0] }
sub
msg {
return
(
shift
->as_parts())[1] }
###########################################################################
# get method of original request by parsing CSeq header
###########################################################################
sub
method {
my
$cseq
=
shift
->cseq ||
return
;
return
$cseq
=~m{\d+\s+(\w+)} && $1;
}
1;