[Freeswitch-users] X-Lite and Video

peter at uringme.com peter at uringme.com
Thu Jan 5 21:20:02 MSK 2012


For anyone who may have the same issue in the future, I did finally get it to work.

I had to not only add the codecs to global_codec_prefs, but add it to outbound_codec_prefs as well (then I restarted FS -- don't know if a reloadxml would have worked or not).  Here's mine now:

 <X-PRE-PROCESS cmd="set" data="global_codec_prefs=G7221 at 32000h,G7221 at 16000h,G722,PCMU,PCMA,GSM,H263,H264,H263-1998"/>
 <X-PRE-PROCESS cmd="set" data="outbound_codec_prefs=PCMU,PCMA,GSM,H263,H264,H263-1998"/>

That got me a video call between registered extensions.  However, the video was blank even though I had full audio.  tcpdump showed that video data was being sent and received, but both video screens said: "Waiting for video".  I tried a couple things like firewalls and NAT ICE/STUN on my own side, then finally tried removing H.263-1998 from both X-Lites to force H.263, and that worked. I had two-way video at that point.  My X-Lite 4 generic doesn't have H.264 support, so I haven't tested that.



--- On Wed, 1/4/12, peter at uringme.com <peter at uringme.com> wrote:

From: peter at uringme.com <peter at uringme.com>
Subject: [Freeswitch-users] X-Lite and Video
To: freeswitch-users at lists.freeswitch.org
Date: Wednesday, January 4, 2012, 2:52 PM

(Apologies to the list owner for originally sending this to the wrong address)


I have two laptops running X-Lite 4.  I have them registered to a 
FreeSwitch server (latest git) as extensions 7777 and 7778.  I have a 
dialplan for each (quick and dirty) that just bridges them when one is 
dialed from the other:

 <extension name="7777">
          <condition field="destination_number" expression="^7777$">
          <action application="bridge" data="sofia/external/7777%test"/>
          </condition>
    </extension>
(and vice-versa for 7778).

I can dial between them just fine for audio calls -- bidirectional audio, etc, no problem.

I'm trying to get video going.  Both X-Lites have H.263 and H.263-1998 enabled in
 their settings.  Freeswitch has the following in vars.xml:
  <X-PRE-PROCESS cmd="set" data="global_codec_prefs=G7221 at 32000h,G7221 at 16000h,G722,PCMU,PCMA,GSM,H263,H264,H263-1998"/>

When
 I try to make a video call from one extension to the other, the calling
 extension seems to think it's in video, but the called extension 
doesn't.

INVITE from freeswitch console:
   ------------------------------------------------------------------------
   INVITE sip:7778 at test SIP/2.0
   Via: SIP/2.0/UDP 192.168.1.7:50350;branch=z9hG4bK-d8754z-9ea3618224c5cf23-1---d8754z-;rport
   Max-Forwards: 70
   Contact: <sip:7777 at 68.202.69.172:50350>
   To: <sip:7778 at test>
   From: "Peter Test"<sip:7777 at test>;tag=a7031d83
   Call-ID: ZDUzZGE1YjUyOTQ2ZGNmZTY0Yjc5ODA5NTE4NDAzMGQ.
   CSeq: 1 INVITE
   Allow:
 INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBE, INFO
   Content-Type: application/sdp
   Supported: replaces
   User-Agent: X-Lite 4 release 4.1 stamp 63214
   Content-Length: 681

   v=0
   o=- 12970176286658638 1 IN IP4 192.168.1.7
   s=CounterPath X-Lite 4.1
   c=IN IP4 192.168.1.7
   t=0 0
   a=ice-ufrag:20fef6
   a=ice-pwd:0a03863684bc5f16a9c862dcdccdd8eb
   m=audio 58632 RTP/AVP 107 0 8 101
   a=rtpmap:107 BV32/16000
   a=rtpmap:101 telephone-event/8000
   a=fmtp:101 0-15
   a=sendrecv
   a=candidate:1 1 UDP 659136 192.168.1.7 58632 typ host
   a=candidate:1 2 UDP 659134 192.168.1.7 58633 typ host
   m=video 50994 RTP/AVP 34 115
   a=rtpmap:34
 H263/90000
   a=fmtp:34 QCIF=2;CIF=2;VGA=2
   a=rtpmap:115 H263-1998/90000
   a=fmtp:115 QCIF=2;CIF=2;VGA=2;I=1;J=1;T=1
   a=sendrecv
   a=candidate:1 1 UDP 659136 192.168.1.7 50994 typ host
   a=candidate:1 2 UDP 659134 192.168.1.7 50995 typ host

I do see freeswitch seeing the audio and video codecs:
2012-01-04 13:44:37.188657 [DEBUG] sofia_glue.c:4683 Audio Codec Compare [PCMU:0:8000:20:64000]/[PCMU:0:8000:20:64000]
2012-01-04 13:44:37.188657 [DEBUG] sofia_glue.c:2800 Set Codec sofia/external/7777 at test PCMU/8000 20 ms 160 samples 64000 bits
2012-01-04 13:44:37.188657 [DEBUG] switch_core_state_machine.c:343 (sofia/external/7777 at test) State NEW
2012-01-04 13:44:37.188657 [DEBUG] sofia_glue.c:4797 Set 2833 dtmf send/recv payload to 101
2012-01-04 13:44:37.188657 [DEBUG] sofia_glue.c:4856 Video Codec Compare [H263:34]/[H263:34]

However, when
 freeswitch starts the bridge and calls the far-end party, it doesn't send along video information in the INVITE:

   INVITE sip:7778 at 68.202.69.172:32834;transport=udp;rinstance=677b87c43ee7970a SIP/2.0
   Via: SIP/2.0/UDP 204.13.175.89:5080;rport;branch=z9hG4bK8jm56tcmZ6p6j2012-01-04 
   Max-Forwards: 69
   From: "Peter Test" <sip:7777 at 204.13.175.89>;tag=ZeZUav5XXat5e
   To: <sip:7778 at 68.202.69.172:32834;transport=udp;rinstance=677b87c43ee7970a>
   Call-ID: fe64b2f5-b1a6-122f-a187-00144f49eecc
   CSeq: 22515274 INVITE
   Contact: <sip:mod_sofia at 204.13.175.89:5080>
   User-Agent: FreeSWITCH-mod_sofia/1.0.head-git-1086cba 2011-05-23 22-51-43 -0500
   Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, UPDATE, INFO, REGISTER, REFER, NOTIFY
   Supported: timer, precondition, path,
 replaces
   Allow-Events: talk, hold, refer
   Content-Type: application/sdp
   Content-Disposition: session
   Content-Length: 207
   X-FS-Support: update_display
   Remote-Party-ID: "Peter Test" <sip:7777 at 204.13.175.89>;party=calling;screen=yes;privacy=off

   v=0
   o=FreeSWITCH 1325690959 1325690960 IN IP4 204.13.175.89
   s=FreeSWITCH
   c=IN IP4 204.13.175.89
   t=0 0
   m=audio 11718 RTP/AVP 0 8 3 101 13
   a=rtpmap:101 telephone-event/8000
   a=fmtp:101 0-16
   a=ptime:20


So,
 am I missing something?  Do I need to use something other than "bridge"
 in the dialplan, or do I need to add some variables to be able to pass 
on the video?  All I'm trying to do is make a video call between two 
X-Lites that are locally SIP registered
 to freeswitch.  Because I want to record the video at some point in the
 future, I don't want to divert the media -- I want it streaming/passing
 through freeswitch.

When the call is connected, the caller shows
 a "Waiting for video", but the called doesn't show this.  When I try to
 start the video, it says "Failed to Start Video".
-----Inline Attachment Follows-----

_________________________________________________________________________
Professional FreeSWITCH Consulting Services:
consulting at freeswitch.org
http://www.freeswitchsolutions.com




Official FreeSWITCH Sites
http://www.freeswitch.org
http://wiki.freeswitch.org
http://www.cluecon.com

FreeSWITCH-users mailing list
FreeSWITCH-users at lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20120105/90421941/attachment-0001.html 


Join us at ClueCon 2011 Aug 9-11, 2011
More information about the FreeSWITCH-users mailing list