r26508 - in /trunk/libnet-sip-perl: Changes MANIFEST META.yml debian/changelog lib/Net/SIP.pm lib/Net/SIP/Dispatcher.pm lib/Net/SIP/Simple/RTP.pm lib/Net/SIP/StatelessProxy.pm t/12_maddr.t t/13_maddr_proxy.t

ghostbar-guest at users.alioth.debian.org ghostbar-guest at users.alioth.debian.org
Sun Nov 2 06:40:23 UTC 2008


Author: ghostbar-guest
Date: Sun Nov  2 06:40:19 2008
New Revision: 26508

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=26508
Log:
new upstream release

Added:
    trunk/libnet-sip-perl/t/12_maddr.t
      - copied unchanged from r26507, branches/upstream/libnet-sip-perl/current/t/12_maddr.t
    trunk/libnet-sip-perl/t/13_maddr_proxy.t
      - copied unchanged from r26507, branches/upstream/libnet-sip-perl/current/t/13_maddr_proxy.t
Modified:
    trunk/libnet-sip-perl/Changes
    trunk/libnet-sip-perl/MANIFEST
    trunk/libnet-sip-perl/META.yml
    trunk/libnet-sip-perl/debian/changelog
    trunk/libnet-sip-perl/lib/Net/SIP.pm
    trunk/libnet-sip-perl/lib/Net/SIP/Dispatcher.pm
    trunk/libnet-sip-perl/lib/Net/SIP/Simple/RTP.pm
    trunk/libnet-sip-perl/lib/Net/SIP/StatelessProxy.pm

Modified: trunk/libnet-sip-perl/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libnet-sip-perl/Changes?rev=26508&op=diff
==============================================================================
--- trunk/libnet-sip-perl/Changes (original)
+++ trunk/libnet-sip-perl/Changes Sun Nov  2 06:40:19 2008
@@ -1,10 +1,21 @@
 Revision history for Net::SIP
 
+
+0.50 2008-10-31
+- release 0.49_3 as 0.50
+0.49_3 2008-10-29
+- Net::SIP::StatelessProxy - observe maddr of URI when forwarding
+0.49_2 2008-10-29
+- Net::SIP::Dispatcher - observe maddr and transport parameter of URI
+  when finding peer
+0.49_1 2008-10-23
+- fixed code in Net::SIP::Simple::RTP where it dropped packets
+  (and subsequently terminated the connection due to inactivity)
+  when the 16bit RTP sequence counter overflowed
 
 0.49  2008-09-30
 - fixed Socket6::inet_pton based check for valid IP6 address in 
   Net::SIP::SDP
-
 0.48_1
 - fix bugs reported by gilad[AT]summit-tech[DOT]ca:
   - force Allow and Supported header only on INVITE req and 2xx response

Modified: trunk/libnet-sip-perl/MANIFEST
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libnet-sip-perl/MANIFEST?rev=26508&op=diff
==============================================================================
--- trunk/libnet-sip-perl/MANIFEST (original)
+++ trunk/libnet-sip-perl/MANIFEST Sun Nov  2 06:40:19 2008
@@ -65,6 +65,8 @@
 t/09_fdleak.t
 t/10_fdleak.t
 t/11_invite_timeout.t 
+t/12_maddr.t
+t/13_maddr_proxy.t
 t/testlib.pl
 samples/README
 samples/invite_and_recv.pl

Modified: trunk/libnet-sip-perl/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libnet-sip-perl/META.yml?rev=26508&op=diff
==============================================================================
--- trunk/libnet-sip-perl/META.yml (original)
+++ trunk/libnet-sip-perl/META.yml Sun Nov  2 06:40:19 2008
@@ -1,6 +1,6 @@
 --- #YAML:1.0
 name:                Net-SIP
-version:             0.49
+version:             0.50
 abstract:            ~
 license:             ~
 author:              ~

Modified: trunk/libnet-sip-perl/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libnet-sip-perl/debian/changelog?rev=26508&op=diff
==============================================================================
--- trunk/libnet-sip-perl/debian/changelog (original)
+++ trunk/libnet-sip-perl/debian/changelog Sun Nov  2 06:40:19 2008
@@ -1,3 +1,9 @@
+libnet-sip-perl (0.50-1) UNRELEASED; urgency=low
+
+  * (NOT RELEASED YET) New upstream release
+
+ -- Jose Luis Rivas <ghostbar38 at gmail.com>  Sun, 02 Nov 2008 02:05:05 -0430
+
 libnet-sip-perl (0.49-1) unstable; urgency=low
 
   * New upstream release.

Modified: trunk/libnet-sip-perl/lib/Net/SIP.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libnet-sip-perl/lib/Net/SIP.pm?rev=26508&op=diff
==============================================================================
--- trunk/libnet-sip-perl/lib/Net/SIP.pm (original)
+++ trunk/libnet-sip-perl/lib/Net/SIP.pm Sun Nov  2 06:40:19 2008
@@ -4,7 +4,7 @@
 require 5.008;
 
 package Net::SIP;
-our $VERSION = '0.49';
+our $VERSION = '0.50';
 
 # this includes nearly everything else
 use Net::SIP::Simple ();

Modified: trunk/libnet-sip-perl/lib/Net/SIP/Dispatcher.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libnet-sip-perl/lib/Net/SIP/Dispatcher.pm?rev=26508&op=diff
==============================================================================
--- trunk/libnet-sip-perl/lib/Net/SIP/Dispatcher.pm (original)
+++ trunk/libnet-sip-perl/lib/Net/SIP/Dispatcher.pm Sun Nov  2 06:40:19 2008
@@ -653,6 +653,12 @@
 		@$dst_addr = ( $ip_addr );
 	}
 
+	# is param maddr set?
+	if ( my $ip = $param->{maddr} ) {
+		@$dst_addr = ( $ip ) 	
+			if $ip =~m{^[\d\.]+$} && eval { inet_aton($ip) };
+	}
+
 	# entries in form [ prio,proto,ip,port ]
 	my @resp;
 	foreach my $addr ( @$dst_addr ) {
@@ -665,6 +671,11 @@
 			my $port = $3 ? $3 : $default_port;
 			push @resp, map { [ -1,$_,$host,$port ] } @$proto;
 		}
+	}
+
+	# should we use a fixed transport?
+	if ( my $proto = $param->{transport} ) {
+		@resp = grep { lc($_->[1]) eq lc($proto) } @resp;
 	}
 
 	my @param = ( $dst_addr,$legs,$allowed_legs,$default_port,$callback );

Modified: trunk/libnet-sip-perl/lib/Net/SIP/Simple/RTP.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libnet-sip-perl/lib/Net/SIP/Simple/RTP.pm?rev=26508&op=diff
==============================================================================
--- trunk/libnet-sip-perl/lib/Net/SIP/Simple/RTP.pm (original)
+++ trunk/libnet-sip-perl/lib/Net/SIP/Simple/RTP.pm Sun Nov  2 06:40:19 2008
@@ -241,7 +241,8 @@
 	my $payload = $padding ? substr( $buf,0,length($buf)-$padding ): $buf;
 
 	DEBUG( 100,"payload=$seq/%d xh=%d padding=%d cc=%d", length($payload),$xh,$padding,$cc );
-	if ( $targs->{rseq} && $seq<= $targs->{rseq} ) {
+	if ( $targs->{rseq} && $seq<= $targs->{rseq} 
+		&& $targs->{rseq} - $seq < 60000 ) {
 		DEBUG( 10,"seq=$seq last=$targs->{rseq} - dropped" );
 		return;
 	}

Modified: trunk/libnet-sip-perl/lib/Net/SIP/StatelessProxy.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libnet-sip-perl/lib/Net/SIP/StatelessProxy.pm?rev=26508&op=diff
==============================================================================
--- trunk/libnet-sip-perl/lib/Net/SIP/StatelessProxy.pm (original)
+++ trunk/libnet-sip-perl/lib/Net/SIP/StatelessProxy.pm Sun Nov  2 06:40:19 2008
@@ -155,6 +155,7 @@
 	my ($first,$param) = sip_hdrval2parts( via => $via );
 	my ($addr,$port) = $first =~m{([\w\-\.]+)(?::(\d+))?\s*$};
 	$port ||= 5060; # FIXME default for sip, not sips!
+	$addr = $param->{maddr} if $param->{maddr};
 	@{ $entry->{dst_addr}} = ( "$addr:$port" );
 	DEBUG( 50,"get dst_addr from via header: $first -> $addr:$port" );
 
@@ -170,7 +171,7 @@
 }
 
 ###########################################################################
-# Called from _forward_response directly or inderectly after resolving
+# Called from _forward_response directly or indirectly after resolving
 # hostname of destination.
 # If received parameter was in Via header it will try to find the leg
 # based on it.
@@ -233,10 +234,14 @@
 	# if the top route header points to a local leg we use this as outgoing leg
 	if ( my @route = $packet->get_header( 'route' ) ) {
 		$route[0] =~s{.*<}{} && $route[0] =~s{>.*}{};
-		my ($data) = sip_hdrval2parts( route => $route[0] );
+		my ($data,$param) = sip_hdrval2parts( route => $route[0] );
 		my ($addr,$port) = $data =~m{([\w\-\.]+)(?::(\d+))?\s*$};
 		$port ||= 5060; # FIXME sips
 		my @legs = $disp->get_legs( addr => $addr, port => $port );
+		if ( ! @legs ) {
+			$addr = $param->{maddr} if $param->{maddr};
+			@legs = $disp->get_legs( addr => $addr, port => $port );
+		}
 		if ( @legs ) {
 			DEBUG( 50,"setting leg from our route header: $data -> ".$legs[0]->dump );
 			$entry->{outgoing_leg} = \@legs;
@@ -247,11 +252,16 @@
 		if ( @route ) {
 			# still routing infos. Use next route as dst_addr
 			$route[0] =~s{.*<}{} && $route[0] =~s{>.*}{};
-			my ($data) = sip_hdrval2parts( route => $route[0] );
+			my ($data,$param) = sip_hdrval2parts( route => $route[0] );
 			my ($addr,$port) = $data =~m{([\w\-\.]+)(?::(\d+))?\s*$};
 			$port ||= 5060; # FIXME sips
+			if ( my $m = $param->{maddr} ) {
+				$addr = $m;
+				DEBUG( 50, "setting dst_addr from route $data;maddr=$m to $addr:$port" );
+			} else {
+				DEBUG( 50, "setting dst_addr from route $data to $addr:$port" );
+			}
 			@{ $entry->{dst_addr} } = ( "$addr:$port" );
-			DEBUG( 50, "setting dst_addr from route $data to $addr:$port" );
 		}
 	} else {
 		DEBUG( 50,'no route header' );




More information about the Pkg-perl-cvs-commits mailing list