No video feed received in video calls

Hi,
I have a smoothly running Asterisk 18.1.0 configuration working, there is just 1 issue I’m currently stuck with:

When doing a video call, both endpoints are not receiving video feed.
Endpoints are android phones with the Grandstream Wave Lite app.

sip.conf:

[general]
context=default
externip=xxx
localnet=192.168.1.0/255.255.255.0
bindport=5090
transport=udp
language=en
dtmfmode=rfc2833
disallow=all
allow=gsm,alaw,ulaw,h264
qualify=yes
nat=force_rport,comedia
videosupport=yes
canreinvite=yes
mailbox=@default
directmedia=no

[222]
type=friend
context=from-phone
host=dynamic
username=xxx
secret=xxx

[444]
type=friend
context=from-phone
host=dynamic
username=xxx
secret=xxx

Here is an example of a videocall between 2 endpoints within the localnet:

=========================================================================
Connected to Asterisk 18.1.0 currently running on asterisk (pid = 2297)
  == Using SIP VIDEO CoS mark 6
  == Using SIP RTP CoS mark 5
    -- Executing [222@from-phone:1] NoOp("SIP/444-00000018", "#### [Phone -> Phone] ####") in new stack
    -- Executing [222@from-phone:3] Dial("SIP/444-00000018", "SIP/222") in new stack
  == Using SIP VIDEO CoS mark 6
  == Using SIP RTP CoS mark 5
    -- Called SIP/222
    -- SIP/222-00000019 is ringing
    -- SIP/222-00000019 is ringing
    -- SIP/222-00000019 answered SIP/444-00000018
    -- Channel SIP/222-00000019 joined 'simple_bridge' basic-bridge <4ad39730-243e-470a-8ac6-bd8442a4da6d>
    -- Channel SIP/444-00000018 joined 'simple_bridge' basic-bridge <4ad39730-243e-470a-8ac6-bd8442a4da6d>
asterisk*CLI> sip show channels
Peer             User/ANR         Call ID          Format           Hold     Last Message    Expiry     Peer      
192.168.1.12     xxx            1629596132-1695  (h264|alaw)      No       Tx: INFO                   444       
192.168.1.10     xxx             63f5e4cc5ad5889  (alaw|h264)      No       Rx: INFO                   222       
2 active SIP dialogs

Any idea of what might be wrong?
Let me know if I need to provide more information.

Have you examined “rtp set debug on” output to see if video is flowing through there? What does “core show channel” show on each channel? As well chan_sip has not been touched in quite some time, so if there is any issue in it then it will likely not be resolved.

I guess I should consider migrating to res_pjsip, got 0 experience with that yet tho.

The command “rtp set debug on” does not work, do you mean “sip set debug on”?

Here is the result of “core show channel” for the 2 channels:

asterisk*CLI> core show channels
Channel              Location             State   Application(Data)             
SIP/444-00000022     111@from-phone:3     Up      Dial(SIP/111)                 
SIP/111-00000023     (None)               Up      AppDial((Outgoing Line))      
2 active channels
1 active call
18 calls processed
asterisk*CLI> core show channel SIP/444-00000022
 -- General --
           Name: SIP/444-00000022
           Type: SIP
       UniqueID: 1607504773.54
       LinkedID: 1607504773.54
      Caller ID: 444
 Caller ID Name: Test
Connected Line ID: (N/A)
Connected Line ID Name: (N/A)
Eff. Connected Line ID: (N/A)
Eff. Connected Line ID Name: (N/A)
    DNID Digits: 111
       Language: en
          State: Up (6)
  NativeFormats: (h264|alaw)
    WriteFormat: alaw
     ReadFormat: alaw
 WriteTranscode: No 
  ReadTranscode: No 
 Time to Hangup: 0
   Elapsed Time: 0h1m20s
      Bridge ID: 4838e2e4-abd6-44ec-9a2e-17566122c30d
 --   PBX   --
        Context: from-phone
      Extension: 111
       Priority: 3
     Call Group: 0
   Pickup Group: 0
    Application: Dial
           Data: SIP/111
 Call Identifer: [C-00000012]
      Variables:
BRIDGEPVTCALLID=253de1e40cd026ee239891cf524c3de0@xxx:5090
BRIDGEPEER=SIP/111-00000023
DIALEDPEERNUMBER=111
DIALEDPEERNAME=SIP/111-00000023
DIALSTATUS=ANSWER
RINGTIME_MS=119
RINGTIME=0
PROGRESSTIME_MS=
PROGRESSTIME=
DIALEDTIME_MS=
DIALEDTIME=
ANSWEREDTIME_MS=
ANSWEREDTIME=
PLAYBACKSTATUS=SUCCESS
SIPCALLID=1612577594-57120-4@BA.A.C.BF
SIPDOMAIN=192.168.1.xxx
SIPURI=sip:444@10.0.2.15:57120
  CDR Variables:
level 1: dnid=111
level 1: clid="Test" <444>
level 1: src=444
level 1: dst=111
level 1: dcontext=from-phone
level 1: channel=SIP/444-00000022
level 1: dstchannel=SIP/111-00000023
level 1: lastapp=Dial
level 1: lastdata=SIP/111
level 1: start=1607504773.269988
level 1: answer=1607504773.273660
level 1: end=0.000000
level 1: duration=80
level 1: billsec=80
level 1: disposition=8
level 1: amaflags=3
level 1: uniqueid=1607504773.54
level 1: linkedid=1607504773.54
level 1: sequence=37

 -- Streams --
Name: audio-0
    Type: audio
    State: sendrecv
    Group: -1
    Formats: (alaw)
    Metadata:
Name: video-1
    Type: video
    State: sendrecv
    Group: -1
    Formats: (h264)
    Metadata:
asterisk*CLI> core show channel SIP/111-00000023
 -- General --
           Name: SIP/111-00000023
           Type: SIP
       UniqueID: 1607504774.55
       LinkedID: 1607504773.54
      Caller ID: 111
 Caller ID Name: (N/A)
Connected Line ID: 444
Connected Line ID Name: Test
Eff. Connected Line ID: 444
Eff. Connected Line ID Name: Test
    DNID Digits: (N/A)
       Language: en
          State: Up (6)
  NativeFormats: (alaw|h264)
    WriteFormat: alaw
     ReadFormat: alaw
 WriteTranscode: No 
  ReadTranscode: No 
 Time to Hangup: 0
   Elapsed Time: 0h10m29s
      Bridge ID: 4838e2e4-abd6-44ec-9a2e-17566122c30d
 --   PBX   --
        Context: from-phone
      Extension: 
       Priority: 1
     Call Group: 0
   Pickup Group: 0
    Application: AppDial
           Data: (Outgoing Line)
 Call Identifer: [C-00000012]
      Variables:
BRIDGEPVTCALLID=1612577594-57120-4@BA.A.C.BF
BRIDGEPEER=SIP/444-00000022
DIALEDPEERNUMBER=111
SIPCALLID=253de1e40cd026ee239891cf524c3de0@xxx:5090
  CDR Variables:
level 1: clid="" <111>
level 1: src=111
level 1: dcontext=from-phone
level 1: channel=SIP/111-00000023
level 1: lastapp=AppDial
level 1: lastdata=(Outgoing Line)
level 1: start=1607504774.971383
level 1: answer=1607504776.725783
level 1: end=1607504776.730067
level 1: duration=1
level 1: billsec=0
level 1: disposition=8
level 1: amaflags=3
level 1: uniqueid=1607504774.55
level 1: linkedid=1607504773.54
level 1: sequence=38

 -- Streams --
Name: audio-0
    Type: audio
    State: sendrecv
    Group: -1
    Formats: (alaw)
    Metadata:
Name: video-1
    Type: video
    State: sendrecv
    Group: -1
    Formats: (h264)
    Metadata:

The command “rtp set debug on” should work:

*CLI> rtp set debug on
RTP Packet Debugging Enabled

It outputs RTP packet information as they are sent and received. As well the channels look fine, so you’d need to verify the actual passing of media.

Here it is:

Sent RTP P2P packet to 192.168.1.12:53826 (type 08, len 000160)
Got  RTP packet from    xxx:33038 (type 08, seq 000865, ts 1911951570, len 000160)
Sent RTP P2P packet to 192.168.1.12:53826 (type 08, len 000160)
Got  RTP packet from    192.168.1.12:53826 (type 08, seq 001125, ts 1825282365, len 000160)
Sent RTP P2P packet to xxx:33038 (type 08, len 000160)
Got  RTP packet from    192.168.1.12:53826 (type 08, seq 001126, ts 1825282525, len 000160)
Sent RTP P2P packet to xxx:33038 (type 08, len 000160)
Got  RTP packet from    xxx:33038 (type 08, seq 000866, ts 1911951730, len 000160)
Sent RTP P2P packet to 192.168.1.12:53826 (type 08, len 000160)
Got  RTP packet from    xxx:33038 (type 08, seq 000867, ts 1911951890, len 000160)
Sent RTP P2P packet to 192.168.1.12:53826 (type 08, len 000160)
Got  RTP packet from    192.168.1.12:53826 (type 08, seq 001127, ts 1825282685, len 000160)
Sent RTP P2P packet to xxx:33038 (type 08, len 000160)
Got  RTP packet from    xxx:45724 (type 99, seq 008148, ts 3424509506, len 001370)
Sent RTP packet to      10.0.2.15:11790 (type 105, seq 015081, ts 3424509506, len 001370)
Got  RTP packet from    xxx:45724 (type 99, seq 008149, ts 3424509506, len 001370)
Got  RTP packet from    xxx:45724 (type 99, seq 008150, ts 3424509506, len 001370)
Sent RTP packet to      10.0.2.15:11790 (type 105, seq 015082, ts 3424509506, len 001370)
Sent RTP packet to      10.0.2.15:11790 (type 105, seq 015083, ts 3424509506, len 001370)
Got  RTP packet from    xxx:45724 (type 99, seq 008151, ts 3424509506, len 001370)
Got  RTP packet from    xxx:45724 (type 99, seq 008152, ts 3424509506, len 000941)
Sent RTP packet to      10.0.2.15:11790 (type 105, seq 015084, ts 3424509506, len 001370)
Sent RTP packet to      10.0.2.15:11790 (type 105, seq 015085, ts 3424509506, len 000941)
Got  RTP packet from    xxx:33038 (type 08, seq 000868, ts 1911952050, len 000160)
Sent RTP P2P packet to 192.168.1.12:53826 (type 08, len 000160)
Got  RTP packet from    192.168.1.12:53826 (type 08, seq 001128, ts 1825282845, len 000160)
Sent RTP P2P packet to xxx:33038 (type 08, len 000160)
Got  RTP packet from    xxx:33038 (type 08, seq 000869, ts 1911952210, len 000160)
Sent RTP P2P packet to 192.168.1.12:53826 (type 08, len 000160)
Got  RTP packet from    192.168.1.12:53826 (type 08, seq 001129, ts 1825283005, len 000160)
Sent RTP P2P packet to xxx:33038 (type 08, len 000160)
Got  RTP packet from    192.168.1.12:53826 (type 08, seq 001130, ts 1825283165, len 000160)
Sent RTP P2P packet to xxx:33038 (type 08, len 000160)
Got  RTP packet from    192.168.1.12:53826 (type 08, seq 001131, ts 1825283325, len 000160)
Sent RTP P2P packet to xxx:33038 (type 08, len 000160)
Got  RTP packet from    xxx:33038 (type 08, seq 000870, ts 1911952370, len 000160)
Sent RTP P2P packet to 192.168.1.12:53826 (type 08, len 000160)
Got  RTP packet from    xxx:33038 (type 08, seq 000871, ts 1911952530, len 000160)
Sent RTP P2P packet to 192.168.1.12:53826 (type 08, len 000160)
Got  RTP packet from    192.168.1.12:53826 (type 08, seq 001132, ts 1825283485, len 000160)
Sent RTP P2P packet to xxx:33038 (type 08, len 000160)
Got  RTP packet from    xxx:45724 (type 99, seq 008153, ts 3424512566, len 001370)
Sent RTP packet to      10.0.2.15:11790 (type 105, seq 015086, ts 3424512566, len 001370)
Got  RTP packet from    xxx:45724 (type 99, seq 008154, ts 3424512566, len 001370)
Got  RTP packet from    xxx:45724 (type 99, seq 008155, ts 3424512566, len 000013)
Sent RTP packet to      10.0.2.15:11790 (type 105, seq 015087, ts 3424512566, len 001370)
Sent RTP packet to      10.0.2.15:11790 (type 105, seq 015088, ts 3424512566, len 000013)
Got  RTP packet from    xxx:33038 (type 08, seq 000872, ts 1911952690, len 000160)
Sent RTP P2P packet to 192.168.1.12:53826 (type 08, len 000160)
Got  RTP packet from    192.168.1.12:53826 (type 08, seq 001133, ts 1825283645, len 000160)
Sent RTP P2P packet to xxx:33038 (type 08, len 000160)
Got  RTP packet from    xxx:33038 (type 08, seq 000873, ts 1911952850, len 000160)
Sent RTP P2P packet to 192.168.1.12:53826 (type 08, len 000160)
Got  RTP packet from    192.168.1.12:53826 (type 08, seq 001134, ts 1825283805, len 000160)
Sent RTP P2P packet to xxx:33038 (type 08, len 000160)
Got  RTP packet from    xxx:33038 (type 08, seq 000874, ts 1911953010, len 000160)
Sent RTP P2P packet to 192.168.1.12:53826 (type 08, len 000160)
Got  RTP packet from    192.168.1.12:53826 (type 08, seq 001135, ts 1825283965, len 000160)
Sent RTP P2P packet to xxx:33038 (type 08, len 000160)
Got  RTP packet from    192.168.1.12:53826 (type 08, seq 001136, ts 1825284125, len 000160)
Sent RTP P2P packet to xxx:33038 (type 08, len 000160)
Got  RTP packet from    xxx:33038 (type 08, seq 000875, ts 1911953170, len 000160)
Sent RTP P2P packet to 192.168.1.12:53826 (type 08, len 000160)
Got  RTP packet from    xxx:33038 (type 08, seq 000876, ts 1911953330, len 000160)
Sent RTP P2P packet to 192.168.1.12:53826 (type 08, len 000160)
Got  RTP packet from    xxx:45724 (type 99, seq 008156, ts 3424515536, len 001370)
Got  RTP packet from    xxx:45724 (type 99, seq 008157, ts 3424515536, len 001317)
Sent RTP packet to      10.0.2.15:11790 (type 105, seq 015089, ts 3424515536, len 001370)
Sent RTP packet to      10.0.2.15:11790 (type 105, seq 015090, ts 3424515536, len 001317)
Got  RTP packet from    192.168.1.12:53826 (type 08, seq 001137, ts 1825284285, len 000160)
Sent RTP P2P packet to xxx:33038 (type 08, len 000160)
Got  RTP packet from    xxx:33038 (type 08, seq 000877, ts 1911953490, len 000160)
Sent RTP P2P packet to 192.168.1.12:53826 (type 08, len 000160)
Got  RTP packet from    192.168.1.12:53826 (type 08, seq 001138, ts 1825284445, len 000160)
Sent RTP P2P packet to xxx:33038 (type 08, len 000160)
Got  RTP packet from    xxx:33038 (type 08, seq 000878, ts 1911953650, len 000160)
Sent RTP P2P packet to 192.168.1.12:53826 (type 08, len 000160)
Got  RTP packet from    192.168.1.12:53826 (type 08, seq 001139, ts 1825284605, len 000160)
Sent RTP P2P packet to xxx:33038 (type 08, len 000160)

As you can see it sends a packet 2 times to 10.0.2.15 once in a while.
Is there anything interesting you can see in here?

You’re going to need to provide context of what the addresses mean. From a general perspective I see some video packets coming in occasionally, and being forwarded. They would be payloads 99 and 105. I don’t see any incoming video from whatever is at 10.0.2.15. If that IP address is wrong, then it placed that address in the SDP for where they wanted to receive media. We would only switch to source IP address/port upon receiving media from them.

Here is a better one:

Sent RTP P2P packet to 192.168.1.10:59978 (type 08, len 000160)
Got  RTP packet from    192.168.1.10:59978 (type 08, seq 002101, ts 2686529024, len 000160)
Sent RTP P2P packet to 192.168.1.12:56929 (type 08, len 000160)
Got  RTP packet from    192.168.1.10:40318 (type 99, seq 007332, ts 3766274426, len 000940)
Sent RTP packet to      10.0.2.15:35824 (type 105, seq 017399, ts 3766274426, len 000940)
Got  RTP packet from    192.168.1.12:56929 (type 08, seq 002421, ts 1298652640, len 000160)
Sent RTP P2P packet to 192.168.1.10:59978 (type 08, len 000160)
Got  RTP packet from    192.168.1.10:59978 (type 08, seq 002102, ts 2686529184, len 000160)
Sent RTP P2P packet to 192.168.1.12:56929 (type 08, len 000160)
Got  RTP packet from    192.168.1.10:59978 (type 08, seq 002103, ts 2686529344, len 000160)
Sent RTP P2P packet to 192.168.1.12:56929 (type 08, len 000160)
Got  RTP packet from    192.168.1.12:56929 (type 08, seq 002422, ts 1298652800, len 000160)
Sent RTP P2P packet to 192.168.1.10:59978 (type 08, len 000160)
Got  RTP packet from    192.168.1.12:56929 (type 08, seq 002423, ts 1298652960, len 000160)
Sent RTP P2P packet to 192.168.1.10:59978 (type 08, len 000160)
Got  RTP packet from    192.168.1.10:40318 (type 99, seq 007333, ts 3766277396, len 001370)
Got  RTP packet from    192.168.1.10:40318 (type 99, seq 007334, ts 3766277396, len 000037)
Sent RTP packet to      10.0.2.15:35824 (type 105, seq 017400, ts 3766277396, len 001370)
Sent RTP packet to      10.0.2.15:35824 (type 105, seq 017401, ts 3766277396, len 000037)
Got  RTP packet from    192.168.1.10:59978 (type 08, seq 002104, ts 2686529504, len 000160)
Sent RTP P2P packet to 192.168.1.12:56929 (type 08, len 000160)
Got  RTP packet from    192.168.1.10:59978 (type 08, seq 002105, ts 2686529664, len 000160)
Sent RTP P2P packet to 192.168.1.12:56929 (type 08, len 000160)
Got  RTP packet from    192.168.1.10:40318 (type 99, seq 007335, ts 3766280366, len 001148)
Sent RTP packet to      10.0.2.15:35824 (type 105, seq 017402, ts 3766280366, len 001148)
Got  RTP packet from    192.168.1.12:56929 (type 08, seq 002424, ts 1298653120, len 000160)
Sent RTP P2P packet to 192.168.1.10:59978 (type 08, len 000160)
Got  RTP packet from    192.168.1.10:59978 (type 08, seq 002106, ts 2686529824, len 000160)
Sent RTP P2P packet to 192.168.1.12:56929 (type 08, len 000160)
Got  RTP packet from    192.168.1.12:56929 (type 08, seq 002425, ts 1298653280, len 000160)
Sent RTP P2P packet to 192.168.1.10:59978 (type 08, len 000160)
Got  RTP packet from    192.168.1.10:40318 (type 99, seq 007336, ts 3766283426, len 001276)
Sent RTP packet to      10.0.2.15:35824 (type 105, seq 017403, ts 3766283426, len 001276)
Got  RTP packet from    192.168.1.10:59978 (type 08, seq 002107, ts 2686529984, len 000160)
Sent RTP P2P packet to 192.168.1.12:56929 (type 08, len 000160)
Got  RTP packet from    192.168.1.12:56929 (type 08, seq 002426, ts 1298653440, len 000160)
Sent RTP P2P packet to 192.168.1.10:59978 (type 08, len 000160)
Got  RTP packet from    192.168.1.10:40318 (type 99, seq 007337, ts 3766286396, len 001370)
Got  RTP packet from    192.168.1.10:40318 (type 99, seq 007338, ts 3766286396, len 000325)
Sent RTP packet to      10.0.2.15:35824 (type 105, seq 017404, ts 3766286396, len 001370)
Sent RTP packet to      10.0.2.15:35824 (type 105, seq 017405, ts 3766286396, len 000325)
Got  RTP packet from    192.168.1.12:56929 (type 08, seq 002427, ts 1298653600, len 000160)
Sent RTP P2P packet to 192.168.1.10:59978 (type 08, len 000160)
Got  RTP packet from    192.168.1.10:59978 (type 08, seq 002108, ts 2686530144, len 000160)
Sent RTP P2P packet to 192.168.1.12:56929 (type 08, len 000160)
Got  RTP packet from    192.168.1.10:59978 (type 08, seq 002109, ts 2686530304, len 000160)
Sent RTP P2P packet to 192.168.1.12:56929 (type 08, len 000160)

192.168.1.10 is Phone A
192.168.1.12 is Phone B

this is a video call started by Phone A

I don’t know what 10.0.2.15 is.

From an Asterisk perspective we seem to be forwarding any video we do get, except one side is not sending us any. I’d suggest examining the SIP traffic (sip set debug on) to understand the IP addresses being exchanged.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.