How to configure linphone for video calls?

0

I’m trying to enable communications between the following clients:

  1. Nortel IP phone 1535.
  2. Linphone 3.7.0 running on FreeBSD.
  3. Linphone 3.7.0 running on iPhone (Linphone iPhone 2.2.3).

The good part is that audio calls work between all devices, no problem.

The bad part is that video does not work. The symptoms are different, however:

  1. Nortel IP phone placing a video call to Linphone: nothing happens. Linphone does not see anything and the Nortel eventually times out.
  2. Nortel IP phone placing an audio call to Linphone (succeeds) and then trying to enable video: nothing happens. Linphone does not react to “video” button being pressed on Nortel.
  3. Linphone calling Nortel in regular (non-video) mode (succeeds) and then trying to turn on video on Linphone: nothing happens. Linphone's status line starts saying “Modifying call parameters” and that’s it.
  4. Linphone calling Nortel in regular mode and then pressing “video” button on Nortel — Linphone opens up a small new window (presumably, intended for the video), but the new window remains black.

The Nortel phone supports only two video codecs: H.263 and H.264. The latter is not available on Linphone (even though I did build it from source), but the former is available and should be sufficient. Linphone on iPhone has only one video codec (VP8), which is not available on the Nortel phone.

Any ideas on how to address any of the above points?

Update: the port-triggering part of my router's configuration:

Outgoing Trigger Ports  Incoming Ports to Open
----------------------------------------------
UDP Any -> 3478-3479    UDP Any -> 3478-3479
                        UDP Any -> 5000-5100

Mikhail T.

Posted 2014-11-26T04:42:05.727

Reputation: 419

If the video codecs are different between the two devices they will only work if there is an intermediate server to convert them. – DavidPostill – 2014-11-26T08:56:50.820

Thank you, David, but they are not different between Nortel 1535 and Linphone on FreeBSD -- both devices have H.263 for video. – Mikhail T. – 2014-11-26T16:39:01.527

Do you have all the appropriate ports (sip, audio rtp, video rtp) forwarded/triggered at each end? – DavidPostill – 2014-11-26T16:53:01.010

I'd like to think so, but I am not sure, of course. Does not the fact the voice-calls succeed (in both directions) show, the firewall permissions are correct? – Mikhail T. – 2014-11-26T17:17:00.940

No as audio rtp and video rtp are normally different port ranges, eg #Audio RTP (UDP) port audio_rtp_port=7078 #Video RTP (UDP) port video_rtp_port=9078 – DavidPostill – 2014-11-26T17:39:43.210

I updated the question to list the current port-triggering rules. What should I add for video? – Mikhail T. – 2014-11-26T18:23:38.160

Answers

1

What ports do I need to port trigger or forward in my router?**

##SIP settings
[sip]
#SIP port used
sip_port=5060

## RTP settings
[rtp]
#Audio RTP (UDP) port
audio_rtp_port=7078
#Video RTP (UDP) port
video_rtp_port=9078

Source Linphone Dcumentation


Does linphone work behind firewalls? What are the ports used?

Yes it works in most cases. The simplest way to achieve this is to active STUN support from the configuration box. You 'll need to enter the name of a STUN server, for examplestunserver.org. If your firewall or gateway does UDP masquerading, it should work without problem.

You may want to restrict the open ports on the firewall: you need at least to preserve the SIP port (udp/5060), the audio rtp port (udp/7078) and the video rtp port (udp/9078). All those ports are configurable from linphone, but keeping 5060 for SIP is highly recommended.

Customising audio and video ports is recommended when using several linphone behind a same NAT so that they don't share same port numbers on the NAT. They must be even numbers.

Source Linphone FAQ


You can configure the parameters with UDP port values used to transport IP Phone 1535 operational information (Audio, Video, and Local), according to the particulars of your network environment.

From the Main Menu select Settings > VoIP Settings > Misc. > Ports and press OK

Select the port type to configure (Audio, Video, or Local), and press OK.

The following are the acceptable value ranges by port type:

Audio:

Specify the port to be used by the IP Phone 1535 for audio-related VoIP activity. You can configure this with a value between 1024 and 65535 (The default value is 23000).

Video:

Specify the port to be used by the IP Phone 1535 for video-related VoIP activity. You can configure this with a value from 1024 to 65535 (The default value is 24000)

Local:

The Local port is the port used by the IP Phone 1535 in making connections to the proxy server - the port value you assign must be within the range from 1024 to 65535 (The default value is 5060).

Source Nortel IP Phone 1535 Installation and Commissioning

DavidPostill

Posted 2014-11-26T04:42:05.727

Reputation: 118 938

Thanks for the reference, David. However, I just realized, that the machine, which I tried to call (the FreeBSD box running LinPhone) is declared as "DMZ host" -- so it is getting all traffic arriving to the global IP... And yet, the video-calls from Nortel phone would not arouse LinPhone -- only the audio ones... – Mikhail T. – 2014-12-01T04:28:43.590

1Do any of the routers have SIP ALG enabled? "Even though SIP ALG is intended to assist users who have phones on private IP addresses, in many cases it is implemented poorly and actually causes more problems than it solves. Gradwell and other providers often find that the SIP ALG modifies SIP packets in unexpected ways, corrupting them and making them unreadable. This can give you unexpected behaviour, such as phones not registering and incoming calls failing.

Therefore if you are experiencing problems we recommend that you check your router settings and turn SIP ALG off if it is enabled." – DavidPostill – 2014-12-01T05:33:27.013

Wow, didn't even know about "SIP ALG". Yes, my router (Verizon-provided Actiontec) does have the feature, but I never enabled it. I just checked, in fact -- it remains disabled. And there is no other router at the moment -- the devices I'm experimenting with are all on the same LAN (though the SIP-clients aren't aware of it).

Once I figure everything out, I plan to install LinPhone on the relatives' computers, but for now I'm experimenting locally. – Mikhail T. – 2014-12-01T14:17:10.133

There is also "MGCP ALG" option here -- also disabled. No idea, what that means... – Mikhail T. – 2014-12-01T14:23:23.177