I provide consulting, development and support related to H.323 and WebRTC VoIP and video conferencing, the GNU Gatekeeper and H323Plus.
๐ฌ Ask me about your next H.323, WebRTC or GStreamer project.
H.323 call generator
Home Page: https://www.h323plus.org
License: Other
hi, I want to use callgen323
to test H.239 feature of h323plus, but it does not seem to work. would you please give me some help? many thanks.
I have a Polycom h323 client with ip:172.25.23.151 on my windows 11, and I build callgen323
on my Manjaro Linux with ip:172.25.1.133.
On Polycom side, I don't see h239 video displayed ("Fake"), only main stream displayed ("Fake/MovingBlocks"), audio is ok.
If I click Polycom's share content
button, Polycom enters desktop sharing, although I don't see anything on callgen323
side.
here's the callgen323
command and output of it:
callgen323> ./obj_linux_x86_64_d_s/callgen323 -n --h239enable -v -P H.264 172.25.23.151
2023/01/04 20:15:27.175 0 (0) Version 2.3.0 by H323Plus on Unix Linux (5.15.76-1-MANJARO-x86_64) with PTLib (v2.10.9 (svn:0)) at 2023/1/4 20:15:27.175
Using outgoing message file: ogm.wav
Not saving incoming audio data.
H.323 listening on: Listener TCP[ip>*:1720]
Enabling H.239
Local capabilities:
Table:
H.264-720{sw} <29>
H.264-CIF{sw} <30>
G.711-ALaw-64k <1>
G.711-uLaw-64k <2>
G.722-64k{sw} <3>
G.722.1-24k{sw} <4>
G.722.1-32k{sw} <5>
G.726-16k{sw} <6>
G.726-24k{sw} <7>
G.726-32k{sw} <8>
G.726-40k{sw} <9>
GSM-06.10{sw} <10>
GSM-AMR{sw} <11>
LPC-10{sw} <12>
MS-GSM{sw} <13>
MS-IMA-ADPCM{sw} <14>
SpeexIETFNarrow-11k{sw} <15>
SpeexIETFNarrow-15k{sw} <16>
SpeexIETFNarrow-18.2k{sw} <17>
SpeexIETFNarrow-24.6k{sw} <18>
SpeexIETFNarrow-5.95k{sw} <19>
SpeexIETFNarrow-8k{sw} <20>
SpeexIETFWide-20.6k{sw} <21>
SpeexWNarrow-8k{sw} <22>
SpeexWide-20.6k{sw} <23>
iLBC-13k3{sw} <24>
iLBC-15k2{sw} <25>
iLBC{sw} <26>
H.261-CIF{sw} <27>
H.261-QCIF{sw} <28>
H.239(H.264{sw} <1>) <31>
H.239 Control <32>
UserInput/hookflash <33>
UserInput/basicString <34>
UserInput/dtmf <35>
UserInput/RFC2833 <36>
Set:
0:
0:
G.711-ALaw-64k <1>
G.711-uLaw-64k <2>
G.722-64k{sw} <3>
G.722.1-24k{sw} <4>
G.722.1-32k{sw} <5>
G.726-16k{sw} <6>
G.726-24k{sw} <7>
G.726-32k{sw} <8>
G.726-40k{sw} <9>
GSM-06.10{sw} <10>
GSM-AMR{sw} <11>
LPC-10{sw} <12>
MS-GSM{sw} <13>
MS-IMA-ADPCM{sw} <14>
SpeexIETFNarrow-11k{sw} <15>
SpeexIETFNarrow-15k{sw} <16>
SpeexIETFNarrow-18.2k{sw} <17>
SpeexIETFNarrow-24.6k{sw} <18>
SpeexIETFNarrow-5.95k{sw} <19>
SpeexIETFNarrow-8k{sw} <20>
SpeexIETFWide-20.6k{sw} <21>
SpeexWNarrow-8k{sw} <22>
SpeexWide-20.6k{sw} <23>
iLBC-13k3{sw} <24>
iLBC-15k2{sw} <25>
iLBC{sw} <26>
1:
H.264-720{sw} <29>
H.264-CIF{sw} <30>
H.261-CIF{sw} <27>
H.261-QCIF{sw} <28>
2:
H.239(H.264{sw} <1>) <31>
3:
H.239 Control <32>
4:
UserInput/hookflash <33>
5:
UserInput/basicString <34>
UserInput/dtmf <35>
UserInput/RFC2833 <36>
Local username: "h"
Per call bandwidth: 768 kbps
Endpoint starting 1 simultaneous call 10 times, grand total of 10 calls.
1: : Initial delay of 0.279 seconds
Press ENTER at any time to quit.1: ip localhost/14872: Making call 1 of 10 (total=1) for 14.438 seconds to 172.25.23.151
: ip localhost/14872: Opened transmitter for G.711-ALaw-64k <19>
: ip localhost/14872: Opened transmitter for H.264-720{sw} <20>
: ip localhost/14872: Established "Polycom_Win11" ip>172.25.23.151:3242 active=1 total=1
: ip localhost/14872: Opened receiver for G.722-64k{sw} <3>
: ip localhost/14872: Opened receiver for H.264-720{sw} <29>
: ip localhost/14872: Opened receiver for H.239(H.264{sw} <1>) <31>
: ip localhost/14872: Received audio
: ip localhost/14872: Received video
: ip localhost/14872: Opened transmitter for H.239(H.264{sw} <1>) <25>
1: ip localhost/14872: Clearing call
: ip localhost/14872: Cleared "Polycom_Win11" ip>172.25.23.151:3242 reason=EndedByLocalUser
1: : Delaying for 22.929 secondsAborting all calls ...
1: : Stopping.
1: : Completed call set.All call sets completed.
Total calls: 1 attempted, 1 established
On Polycom side, I don't see h239 video displayed ("Fake/BouncingBoxes"), only main stream displayed ("Fake/MovingBlocks"), audio is ok.
If I click Polycom's share content
button, Polycom enters desktop sharing, although I don't see anything on callgen323
side.
here's the callgen323
command and output of it:
callgen323> ./obj_linux_x86_64_d_s/callgen323 -n --h239enable --h239delay 5 --h239videopattern Fake/BouncingBoxes -v -l -P H.264
......
Local username: "h"
Per call bandwidth: 768 kbps
Endpoint is listening for incoming calls, press ENTER to exit.
: ip 172.25.23.151:323: Opened transmitter for G.711-ALaw-64k <19>
: ip 172.25.23.151:323: Opened transmitter for H.264-720{sw} <20>
: ip 172.25.23.151:323: Established "ip>172.25.23.151:3230" ip>172.25.23.151:3231 active=1 total=1
: ip 172.25.23.151:323: Opened receiver for G.722-64k{sw} <3>
: ip 172.25.23.151:323: Opened receiver for H.264-720{sw} <29>
: ip 172.25.23.151:323: Opened receiver for H.239(H.264{sw} <1>) <31>
: ip 172.25.23.151:323: Received audio
: ip 172.25.23.151:323: Received video
UPDATE:
I extract the H.239 stream from the tcpdump capture on callgen323 side, so I think Polycom can share its content to callgen323.
~ > uname -a
Linux arch 5.15.76-1-MANJARO #1 SMP PREEMPT Sat Oct 29 14:22:16 UTC 2022 x86_64 GNU/Linux
ptlib > pwd โน
/home/h/ptlib
h323plus> pwd โน โญ
/home/h/h323plus
lib> pwd
/usr/local/lib
lib > ls
libavcodec.a libavdevice.a libavformat.a libavutil.a libx264.a pkgconfig
libavcodec.so libavdevice.so libavformat.so libavutil.so libx264.so vhook
libavcodec.so.52 libavdevice.so.52 libavformat.so.52 libavutil.so.49 libx264.so.138
libavcodec.so.52.20.1 libavdevice.so.52.1.0 libavformat.so.52.31.0 libavutil.so.49.15.0 opal-1.27.2
lib> tree opal-1.27.2
opal-1.27.2
โโโ codecs
โโโ audio
โย ย โโโ g7221_audio_pwplugin.so
โย ย โโโ g7222_audio_pwplugin.so
โย ย โโโ g722_audio_pwplugin.so
โย ย โโโ g726_audio_pwplugin.so
โย ย โโโ gsm0610_audio_pwplugin.so
โย ย โโโ gsmamrcodec_pwplugin.so
โย ย โโโ ilbc_audio_pwplugin.so
โย ย โโโ ima_adpcm_audio_pwplugin.so
โย ย โโโ lpc10_audio_pwplugin.so
โย ย โโโ speex_audio_pwplugin.so
โโโ video
โโโ h261-vic_video_pwplugin.so
โโโ h263-ffmpeg_video_pwplugin.so
โโโ h264_video_pwplugin_helper
โโโ h264_video_pwplugin.so
~ > tail ./.zshrc
export LD_LIBRARY_PATH=/usr/local/lib/
export OPENH323DIR=~/h323plus
export PTLIBDIR=~/ptlib
export PWLIBPLUGINDIR=/usr/local/lib/
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:>PKG_CONFIG_PATH
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.