File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -347,9 +347,13 @@ impl SipConnection {
347347 typed_via. params . push ( Param :: Transport ( transport) ) ;
348348 }
349349
350+ let received_str = match addr {
351+ SocketAddr :: V6 ( _) => format ! ( "[{}]" , received. host) ,
352+ _ => received. host . to_string ( ) ,
353+ } ;
350354 * via = typed_via
351355 . with_param ( Param :: Received ( rsip:: param:: Received :: new (
352- received . host . to_string ( ) ,
356+ received_str ,
353357 ) ) )
354358 . with_param ( Param :: Other (
355359 rsip:: param:: OtherParam :: new ( "rport" ) ,
Original file line number Diff line number Diff line change @@ -36,6 +36,10 @@ impl TcpListenerConnection {
3636 transport_layer_inner : TransportLayerInnerRef ,
3737 ) -> Result < ( ) > {
3838 let listener = TcpListener :: bind ( self . inner . local_addr . get_socketaddr ( ) ?) . await ?;
39+ let listener_local_addr = SipAddr {
40+ r#type : Some ( rsip:: transport:: Transport :: Tcp ) ,
41+ addr : listener. local_addr ( ) . unwrap ( ) . into ( ) ,
42+ } ;
3943 tokio:: spawn ( async move {
4044 loop {
4145 let ( stream, remote_addr) = match listener. accept ( ) . await {
@@ -49,10 +53,7 @@ impl TcpListenerConnection {
4953 debug ! ( remote = %remote_addr, "tcp connection rejected by whitelist" ) ;
5054 continue ;
5155 }
52- let local_addr = SipAddr {
53- r#type : Some ( rsip:: transport:: Transport :: Tcp ) ,
54- addr : remote_addr. into ( ) ,
55- } ;
56+ let local_addr = listener_local_addr. clone ( ) ;
5657 let tcp_connection = match TcpConnection :: from_stream (
5758 stream,
5859 local_addr. clone ( ) ,
Original file line number Diff line number Diff line change @@ -431,9 +431,12 @@ impl TransportLayerInner {
431431 }
432432 select ! {
433433 _ = sub_token. cancelled( ) => { }
434- _ = async {
434+ result = async {
435435 transport. serve_loop( sender_clone. clone( ) ) . await
436436 } => {
437+ if let Err ( e) = result {
438+ warn!( addr=%transport. get_addr( ) , error = %e, "serve_loop error" ) ;
439+ }
437440 }
438441 }
439442 info ! ( addr=%transport. get_addr( ) , "transport serve_loop exited" ) ;
You can’t perform that action at this time.
0 commit comments