Giter VIP home page Giter VIP logo

Comments (4)

alfredh avatar alfredh commented on May 18, 2024

thanks for reporting, can you re-test and include the following:

  • output from /sbin/ifconfig
  • enable "ice_debug yes" in ~/.baresip/config and full log

maybe there is something wrong with net_if_apply()..

from baresip.

nshopik avatar nshopik commented on May 18, 2024

Below log output and ip addr and ifconfig output, notice that eth1 in down state.

baresip v0.4.13 Copyright (C) 2010 - 2015 Alfred E. Heggestad et al.
Local network address: IPv4=eth0:192.168.0.23
aucodec: PCMU/8000/1
aucodec: PCMA/8000/1
aufilt: vumeter
dl: mod: /usr/local/lib/baresip/modules/alsa.so (/usr/local/lib/baresip/modules/alsa.so: cannot open shared object file: No such file or directory)
module alsa.so: No such file or directory
medianat: stun
medianat: turn
medianat: ice
[email protected]: Using medianat `ice'
Populated 1 account
Populated 4 contacts
Populated 2 audio codecs
Populated 1 audio filter
Populated 0 video codecs
Populated 0 video filters
baresip is ready.
[email protected]: {0/TCP/v4} 200 OK () [1 binding]
All 1 useragent registered successfully! (394 ms)
>                               50
call: connecting to 'sip:[email protected];transport=tcp'..
ice: audio: Default local candidates: 128.72.212.224:33478 / 128.72.212.224:33479
call: SIP Progress: 100 Trying (/)
call: SIP Progress: 180 Ringing (/)
{      audio.1} Set default remote candidate: srflx:128.72.212.224:58846
{      audio.2} Set default remote candidate: srflx:128.72.212.224:58847
chklist: audio: pruned candidate pairs: 12
{      audio.1}  host <--->  host  FSM:      Frozen ===> Waiting
{      audio.1}  host <--->  host  FSM:      Frozen ===> Waiting
{      audio.1}  host <--->  host  FSM:      Frozen ===> Waiting
{      audio.1}  host <--->  host  FSM:      Frozen ===> Waiting
{      audio.1}  host <---> srflx  FSM:      Frozen ===> Waiting
{      audio.1}  host <---> srflx  FSM:      Frozen ===> Waiting
{      audio.1}  host <---> srflx  FSM:      Frozen ===> Waiting
{      audio.1}  host <---> srflx  FSM:      Frozen ===> Waiting
{      audio.1}  host <---> relay  FSM:      Frozen ===> Waiting
{      audio.1}  host <---> relay  FSM:      Frozen ===> Waiting
{      audio.1}  host <---> relay  FSM:      Frozen ===> Waiting
{      audio.1}  host <---> relay  FSM:      Frozen ===> Waiting
{      audio. } starting connectivity checks with 24 candidate pairs
audio: Set audio decoder: PCMA 8000Hz 1ch
audio: Set audio encoder: PCMA 8000Hz 1ch
audio tx pipeline:         src ---> vumeter ---> PCMA
audio rx pipeline:        play <--- vumeter <--- PCMA
[email protected]: Call established: sip:[email protected];transport=tcp
{      audio.1}  host <--->  host  FSM:     Waiting ===> InProgress
{      audio.1} Tx eth1:host:10.10.10.10:33478 ---> host:192.168.0.19:58846 (InProgress)
{      audio.1} Rx Binding Request from 192.168.0.19:58846 via Socket (candpair=InProgress)
{      audio.1} Rx eth1:host:10.10.10.10:33478 <--- host:192.168.0.19:58846 '0 OK'
{      audio.1} New local candidate for mapped 192.168.0.23:33478
{      audio.1}  host <--->  host  FSM:  InProgress ===> Succeeded
{      audio.1}  host <--->  host  FSM:     Waiting ===> InProgress
{      audio.1} Tx eth0:host:192.168.0.23:33478 ---> host:192.168.0.19:58846 (InProgress)
{      audio.1} Rx Binding Request from 192.168.0.19:58846 via Socket (candpair=InProgress)
{      audio.1} Rx eth0:host:192.168.0.23:33478 <--- host:192.168.0.19:58846 '0 OK'
{      audio.1}  host <--->  host  FSM:  InProgress ===> Succeeded
{      audio.1}  host <--->  host  FSM:     Waiting ===> InProgress
{      audio.1} Tx eth1:host:10.10.10.10:33478 ---> host:10.184.253.53:58846 (InProgress)
{      audio.2}  host <--->  host  FSM:      Frozen ===> InProgress
{      audio.2} Tx eth1:host:10.10.10.10:33479 ---> host:192.168.0.19:58847 (InProgress)  [Trigged]
{      audio.2} Rx Binding Request from 192.168.0.19:58847 via Socket (candpair=InProgress)
{      audio.2} Rx eth1:host:10.10.10.10:33479 <--- host:192.168.0.19:58847 '0 OK'
{      audio.2} New local candidate for mapped 192.168.0.23:33479
{      audio.2}  host <--->  host  FSM:  InProgress ===> Succeeded
{      audio.1}  host <--->  host  FSM:     Waiting ===> InProgress
{      audio.1} Tx eth0:host:192.168.0.23:33478 ---> host:10.184.253.53:58846 (InProgress)
{      audio.1} Rx eth1:host:10.10.10.10:33478 <--- host:10.184.253.53:58846 '0 ' (Connection timed out)
{      audio.1}  host <--->  host  FSM:  InProgress ===> Failed
{      audio.1}  host <---> srflx  FSM:     Waiting ===> InProgress
{      audio.1} Tx eth1:host:10.10.10.10:33478 ---> srflx:128.72.212.224:58846 (InProgress)
{      audio.1} Rx eth0:host:192.168.0.23:33478 <--- host:10.184.253.53:58846 '0 ' (Connection timed out)
{      audio.1}  host <--->  host  FSM:  InProgress ===> Failed
{      audio.1}  host <---> srflx  FSM:     Waiting ===> InProgress
{      audio.1} Tx eth0:host:192.168.0.23:33478 ---> srflx:128.72.212.224:58846 (InProgress)
{      audio.1} Rx eth1:host:10.10.10.10:33478 <--- srflx:128.72.212.224:58846 '0 ' (Connection timed out)
{      audio.1}  host <---> srflx  FSM:  InProgress ===> Failed
{      audio.1}  host <---> srflx  FSM:     Waiting ===> InProgress
{      audio.1} Tx eth1:host:10.10.10.10:33478 ---> srflx:83.149.9.138:8931 (InProgress)
{      audio.1} Rx eth0:host:192.168.0.23:33478 <--- srflx:128.72.212.224:58846 '0 ' (Connection timed out)
{      audio.1}  host <---> srflx  FSM:  InProgress ===> Failed
{      audio.1}  host <---> srflx  FSM:     Waiting ===> InProgress
{      audio.1} Tx eth0:host:192.168.0.23:33478 ---> srflx:83.149.9.138:8931 (InProgress)
{      audio.1} Rx eth1:host:10.10.10.10:33478 <--- srflx:83.149.9.138:8931 '0 OK'               ]
{      audio.1} New local candidate for mapped 128.72.212.224:33478
{      audio.1}  host <---> srflx  FSM:  InProgress ===> Succeeded
{      audio.1}  host <---> relay  FSM:     Waiting ===> InProgress
{      audio.1} Tx eth1:host:10.10.10.10:33478 ---> relay:95.215.44.62:65434 (InProgress)
{      audio.1} Rx Binding Request from 83.149.9.138:8931 via Socket (candpair=InProgress)       ]
{      audio.1} Rx Binding Request from 83.149.9.138:8931 via Socket (candpair=InProgress)       ]
{      audio.1} Rx eth0:host:192.168.0.23:33478 <--- srflx:83.149.9.138:8931 '0 OK'              ]
{      audio.1} New local candidate for mapped 128.72.212.224:33478
{      audio.1}  host <---> srflx  FSM:  InProgress ===> Succeeded
{      audio.1}  host <---> relay  FSM:     Waiting ===> InProgress
{      audio.1} Tx eth0:host:192.168.0.23:33478 ---> relay:95.215.44.62:65434 (InProgress)
{      audio.1} Rx Binding Request from 83.149.9.138:8931 via Socket (candpair=Succeeded)        ]
{      audio.1} Rx Binding Request from 83.149.9.138:8931 via Socket (candpair=Succeeded)        ]
{      audio.1} Rx eth1:host:10.10.10.10:33478 <--- relay:95.215.44.62:65434 '0 ' (Connection timed out)
{      audio.1}  host <---> relay  FSM:  InProgress ===> Failed
{      audio.1}  host <---> relay  FSM:     Waiting ===> InProgress
{      audio.1} Tx eth1:host:10.10.10.10:33478 ---> relay:95.215.44.62:53813 (InProgress)
{      audio.1} Rx eth0:host:192.168.0.23:33478 <--- relay:95.215.44.62:65434 '0 ' (Connection timed out)
{      audio.1}  host <---> relay  FSM:  InProgress ===> Failed
{      audio.1}  host <---> relay  FSM:     Waiting ===> InProgress
{      audio.1} Tx eth0:host:192.168.0.23:33478 ---> relay:95.215.44.62:53813 (InProgress)
{      audio.1} Rx eth1:host:10.10.10.10:33478 <--- relay:95.215.44.62:53813 '0 ' (Connection timed out)
{      audio.1}  host <---> relay  FSM:  InProgress ===> Failed
{      audio.2}  host <--->  host  FSM:      Frozen ===> InProgress
{      audio.2} Tx eth0:host:192.168.0.23:33479 ---> host:192.168.0.19:58847 (InProgress)
{      audio.2} Rx eth0:host:192.168.0.23:33479 <--- host:192.168.0.19:58847 '0 OK'              ]
{      audio.2}  host <--->  host  FSM:  InProgress ===> Succeeded
{      audio.2}  host <--->  host  FSM:      Frozen ===> InProgress
{      audio.2} Tx eth1:host:10.10.10.10:33479 ---> host:10.184.253.53:58847 (InProgress)
{      audio.1} Rx eth0:host:192.168.0.23:33478 <--- relay:95.215.44.62:53813 '0 ' (Connection timed out)
{      audio.1}  host <---> relay  FSM:  InProgress ===> Failed
{      audio.2}  host <--->  host  FSM:      Frozen ===> InProgress
{      audio.2} Tx eth0:host:192.168.0.23:33479 ---> host:10.184.253.53:58847 (InProgress)
{      audio.2} Rx eth1:host:10.10.10.10:33479 <--- host:10.184.253.53:58847 '0 ' (Connection timed out)
{      audio.2}  host <--->  host  FSM:  InProgress ===> Failed
{      audio.2}  host <---> srflx  FSM:      Frozen ===> InProgress
{      audio.2} Tx eth1:host:10.10.10.10:33479 ---> srflx:128.72.212.224:58847 (InProgress)
{      audio.2} Rx eth0:host:192.168.0.23:33479 <--- host:10.184.253.53:58847 '0 ' (Connection timed out)
{      audio.2}  host <--->  host  FSM:  InProgress ===> Failed
{      audio.2}  host <---> srflx  FSM:      Frozen ===> InProgress
{      audio.2} Tx eth0:host:192.168.0.23:33479 ---> srflx:128.72.212.224:58847 (InProgress)
{      audio.2} Rx eth1:host:10.10.10.10:33479 <--- srflx:128.72.212.224:58847 '0 ' (Connection timed out)
{      audio.2}  host <---> srflx  FSM:  InProgress ===> Failed
{      audio.2}  host <---> srflx  FSM:      Frozen ===> InProgress
{      audio.2} Tx eth1:host:10.10.10.10:33479 ---> srflx:83.149.9.138:5067 (InProgress)
{      audio.2} Rx eth0:host:192.168.0.23:33479 <--- srflx:128.72.212.224:58847 '0 ' (Connection timed out)
{      audio.2}  host <---> srflx  FSM:  InProgress ===> Failed
{      audio.2}  host <---> srflx  FSM:      Frozen ===> InProgress
{      audio.2} Tx eth0:host:192.168.0.23:33479 ---> srflx:83.149.9.138:5067 (InProgress)
{      audio.2} Rx eth1:host:10.10.10.10:33479 <--- srflx:83.149.9.138:5067 '0 OK'               ]
{      audio.2} New local candidate for mapped 128.72.212.224:33479
{      audio.2}  host <---> srflx  FSM:  InProgress ===> Succeeded
{      audio.2}  host <---> relay  FSM:      Frozen ===> InProgress
{      audio.2} Tx eth1:host:10.10.10.10:33479 ---> relay:95.215.44.62:55533 (InProgress)
{      audio.2} Rx Binding Request from 83.149.9.138:5067 via Socket (candpair=InProgress)       ]
{      audio.2} Rx eth0:host:192.168.0.23:33479 <--- srflx:83.149.9.138:5067 '0 OK'              ]
{      audio.2} New local candidate for mapped 128.72.212.224:33479
{      audio.2}  host <---> srflx  FSM:  InProgress ===> Succeeded
{      audio.2}  host <---> relay  FSM:      Frozen ===> InProgress
{      audio.2} Tx eth0:host:192.168.0.23:33479 ---> relay:95.215.44.62:55533 (InProgress)
{      audio.2} Rx Binding Request from 83.149.9.138:5067 via Socket (candpair=Succeeded)        ]
{      audio.2} Rx Binding Request from 83.149.9.138:5067 via Socket (candpair=Succeeded)        ]
{      audio.2} Rx Binding Request from 83.149.9.138:5067 via Socket (candpair=Succeeded)        ]
{      audio.2} Rx Binding Request from 83.149.9.138:5067 via Socket (candpair=Succeeded)        ]
{      audio.2} Rx eth1:host:10.10.10.10:33479 <--- relay:95.215.44.62:55533 '0 ' (Connection timed out)
{      audio.2}  host <---> relay  FSM:  InProgress ===> Failed
{      audio.2}  host <---> relay  FSM:      Frozen ===> InProgress
{      audio.2} Tx eth1:host:10.10.10.10:33479 ---> relay:95.215.44.62:50188 (InProgress)
{      audio.2} Rx eth0:host:192.168.0.23:33479 <--- relay:95.215.44.62:55533 '0 ' (Connection timed out)
{      audio.2}  host <---> relay  FSM:  InProgress ===> Failed
{      audio.2}  host <---> relay  FSM:      Frozen ===> InProgress
{      audio.2} Tx eth0:host:192.168.0.23:33479 ---> relay:95.215.44.62:50188 (InProgress)
{      audio.2} Rx eth1:host:10.10.10.10:33479 <--- relay:95.215.44.62:50188 '0 ' (Connection timed out)
{      audio.2}  host <---> relay  FSM:  InProgress ===> Failed
{      audio.2} Rx eth0:host:192.168.0.23:33479 <--- relay:95.215.44.62:50188 '0 ' (Connection timed out)
{      audio.2}  host <---> relay  FSM:  InProgress ===> Failed
{      audio.1} Tx eth0:host:192.168.0.23:33478 ---> host:192.168.0.19:58846 (Succeeded) [USE] [Trigged]
{      audio.2} Tx eth0:host:192.168.0.23:33479 ---> host:192.168.0.19:58847 (Succeeded) [USE] [Trigged]
ice: audio: connectivity check is complete (update=1)
ice: audio: sending Re-INVITE with updated default candidates
call: medianat established -- sending Re-INVITE
{      audio.1} Rx eth0:host:192.168.0.23:33478 <--- host:192.168.0.19:58846 '0 OK'              ]
{      audio.2} Rx eth0:host:192.168.0.23:33479 <--- host:192.168.0.19:58847 '0 OK'
{      audio.1} Set default remote candidate: host:192.168.0.19:58846           [                ]
{      audio.2} Set default remote candidate: host:192.168.0.19:58847
call: terminate call '042f2c6e5eca638a' with sip:[email protected];transport=tcp      [                ]
sip:[email protected]: Call with sip:[email protected];transport=tcp terminated (duration: 1 min 10 secs)
Quit
Stopping 1 useragent..
shopik@shopik-virtual-machine:~$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:bb:4d:0c brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.23/24 brd 192.168.0.255 scope global dynamic eth0
       valid_lft 86083sec preferred_lft 86083sec
    inet6 fe80::20c:29ff:febb:4d0c/64 scope link
       valid_lft forever preferred_lft forever
3: eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
    link/ether 00:0c:29:bb:4d:16 brd ff:ff:ff:ff:ff:ff
    inet 10.10.10.10/24 brd 10.10.10.255 scope global eth1
       valid_lft forever preferred_lft forever
shopik@shopik-virtual-machine:~$ sudo ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0c:29:bb:4d:0c
          inet addr:192.168.0.23  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:febb:4d0c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4681 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2032 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:839768 (839.7 KB)  TX bytes:269329 (269.3 KB)

eth1      Link encap:Ethernet  HWaddr 00:0c:29:bb:4d:16
          inet addr:10.10.10.10  Bcast:10.10.10.255  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:16 Base address:0x2000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:350 errors:0 dropped:0 overruns:0 frame:0
          TX packets:350 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:31005 (31.0 KB)  TX bytes:31005 (31.0 KB)

from baresip.

alfredh avatar alfredh commented on May 18, 2024

thanks for the input

at the moment I am not planning to make any changes here. it would be nice to filter
out interfaces that are "down" but ICE itself will take care of checking this.

perhaps later add a new function to libre to check if an interface is up/down?

from baresip.

nshopik avatar nshopik commented on May 18, 2024

Well I think problem that ICE doesn't try detect peers in parallel, thus several interfaces make not so useful you have to wait about 30 second before you can hear anything.

Even with 1 interface its serial detection when there 3 candidates (host, srflx, turn) it takes about ~20 second

from baresip.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.