Dear team, <br>
<br>
I'm a new user on this forum, and I'm tring to test video loopback
from 3G phone -> PRI -> asterisk. I've started with
h324m_loopback() feature of app_h324m from <a href="http://sip.fontventa.com">sip.fontventa.com</a>
intalled in Asterisk SVN-oej-videocaps-r111931M-/trunk ( on Centos 5.1
i386).<br>
<br>
I've successfully compiled libh324m.so and all it's prerequisites. <br>Whenever i
make a 3G call I've get connected but did not get any video/audio back
(the mobile phone is freeses on "getting video.."), and after ~10
seconds get disconnected. On my CentOS box i'm using Sangoma a104d PRI card (wanrouter drives).<br><br>Need you help :)<br><br>Below please find my debug info:<br><br>[root@test2 src]# ldd /usr/local/lib/libh324m.so<br>
linux-gate.so.1 => (0x0074f000)<br> libldap-2.3.so.0 => /usr/lib/libldap-2.3.so.0 (0x00895000)<br> liblber-2.3.so.0 => /usr/lib/liblber-2.3.so.0 (0x00623000)<br> libldap_r-2.3.so.0 => /usr/lib/libldap_r-2.3.so.0 (0x005b0000)<br>
libpthread.so.0 => /lib/libpthread.so.0 (0x00faa000)<br> libsasl2.so.2 => /usr/lib/libsasl2.so.2 (0x002f1000)<br> libssl.so.6 => /lib/libssl.so.6 (0x00110000)<br> libcrypto.so.6 => /lib/libcrypto.so.6 (0x00e10000)<br>
libexpat.so.0 => /lib/libexpat.so.0 (0x00155000)<br> libSDL-1.2.so.0 => /usr/lib/libSDL-1.2.so.0 (0x00176000)<br> libresolv.so.2 => /lib/libresolv.so.2 (0x0021f000)<br> libdl.so.2 => /lib/libdl.so.2 (0x00a79000)<br>
libpt_linux_x86_r.so.1.12.0 => /usr/local/lib/libpt_linux_x86_r.so.1.12.0 (0x0030a000)<br> libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00631000)<br> libm.so.6 => /lib/libm.so.6 (0x00232000)<br>
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00259000)<br> libc.so.6 => /lib/libc.so.6 (0x00750000)<br> /lib/ld-linux.so.2 (0x00aab000)<br> libcrypt.so.1 => /lib/libcrypt.so.1 (0x0027d000)<br>
libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0x002ab000)<br> libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0x008cf000)<br> libcom_err.so.2 => /lib/libcom_err.so.2 (0x00265000)<br> libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0x005f5000)<br>
libz.so.1 => /usr/lib/libz.so.1 (0x00268000)<br> libesd.so.0 => /usr/lib/libesd.so.0 (0x0097f000)<br> libaudiofile.so.0 => /usr/lib/libaudiofile.so.0 (0x0071c000)<br> libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0x002d9000)<br>
libkeyutils.so.1 => /lib/libkeyutils.so.1 (0x002e2000)<br> libasound.so.2 => /lib/libasound.so.2 (0x00989000)<br> libselinux.so.1 => /lib/libselinux.so.1 (0x00962000)<br> libsepol.so.1 => /lib/libsepol.so.1 (0x00ac6000)<br>
<br>and setup a dialplan in extenstions.conf:<br><br> [from-video]<br>exten => _.X,1,Answer<br>exten => _X.,n,h324m_loopback()<br><br><br>In debug i see:<br>*CLI> < Protocol Discriminator: Q.931 (8) len=45<br>
< Call Ref: len= 2 (reference 4330/0x10EA) (Originator)<br>< Message type: SETUP (5)<br>< [04 03 88 90 a6]<br>< Bearer Capability (len= 5) [ Ext: 1 Q.931 Std: 0 Info transfer capability: Unrestricted digital information (8)<br>
< Ext: 1 Trans mode/rate: 64kbps, circuit-mode (16)<br>< Ext: 1 User information layer 1: H.223 and H.245 (38)<br>< [18 03 a1 83 81]<br>< Channel ID (len= 5) [ Ext: 1 IntID: Implicit PRI Spare: 0 Preferred Dchan: 0<br>
< ChanSel: Reserved<br>< Ext: 1 Coding: 0 Number Specified Channel Type: 3<br>< Ext: 1 Channel: 1 ]<br>< [6c 0c 01 83 30 35 34 36 33 39 34 33 39 30]<br>
< Calling Number (len=14) [ Ext: 0 TON: Unknown Number Type (0) NPI: ISDN/Telephony Numbering Plan (E.164/E.163) (1)<br>< Presentation: Presentation allowed of network provided number (3) '0546394390' ]<br>
< [70 08 c1 35 36 35 30 32 30 30]<br>< Called Number (len=10) [ Ext: 1 TON: Subscriber Number (4) NPI: ISDN/Telephony Numbering Plan (E.164/E.163) (1) '5650200' ]<br>< [7c 03 88 90 a6]<br>< IE: Low-layer Compatibility (len = 5)<br>
< [a1]<br>< Sending Complete (len= 1)<br>-- Making new call for cr 4330<br>-- Processing Q.931 Call Setup<br>-- Processing IE 4 (cs0, Bearer Capability)<br>-- Processing IE 24 (cs0, Channel Identification)<br>-- Processing IE 108 (cs0, Calling Party Number)<br>
-- Processing IE 112 (cs0, Called Party Number)<br>-- Processing IE 124 (cs0, Low-layer Compatibility)<br>-- Processing IE 161 (cs0, Sending Complete)<br>q931.c:3353 q931_receive: call 4330 on channel 1 enters state 6 (Call Present)<br>
q931.c:2620 q931_call_proceeding: call 4330 on channel 1 enters state 9 (Incoming Call Proceeding)<br>> Protocol Discriminator: Q.931 (8) len=10<br>> Call Ref: len= 2 (reference 4330/0x10EA) (Terminator)<br>> Message type: CALL PROCEEDING (2)<br>
> [18 03 a9 83 81]<br>> Channel ID (len= 5) [ Ext: 1 IntID: Implicit PRI Spare: 0 Exclusive Dchan: 0<br>> ChanSel: Reserved<br>> Ext: 1 Coding: 0 Number Specified Channel Type: 3<br>
> Ext: 1 Channel: 1 ]<br> -- Accepting call from '0546394390' to '5650200' on channel 0/1, span 1<br> -- Executing [5650200@from-video:1] Answer("Zap/1-1", "") in new stack<br>
q931.c:2755 q931_connect: call 4330 on channel 1 enters state 8 (Connect Request)<br>> Protocol Discriminator: Q.931 (8) len=10<br>> Call Ref: len= 2 (reference 4330/0x10EA) (Terminator)<br>> Message type: CONNECT (7)<br>
> [18 03 a9 83 81]<br>> Channel ID (len= 5) [ Ext: 1 IntID: Implicit PRI Spare: 0 Exclusive Dchan: 0<br>> ChanSel: Reserved<br>> Ext: 1 Coding: 0 Number Specified Channel Type: 3<br>
> Ext: 1 Channel: 1 ]<br> -- Executing [5650200@from-video:2] h324m_loopback("Zap/1-1", "") in new stack<br>< Protocol Discriminator: Q.931 (8) len=5<br>< Call Ref: len= 2 (reference 4330/0x10EA) (Originator)<br>
< Message type: CONNECT ACKNOWLEDGE (15)<br>q931.c:3513 q931_receive: call 4330 on channel 1 enters state 10 (Active)<br>< Protocol Discriminator: Q.931 (8) len=9<br>< Call Ref: len= 2 (reference 4330/0x10EA) (Originator)<br>
< Message type: DISCONNECT (69)<br>< [08 02 80 90]<br>< Cause (len= 4) [ Ext: 1 Coding: CCITT (ITU) standard (0) Spare: 0 Location: User (0)<br>< Ext: 1 Cause: Normal Clearing (16), class = Normal Event (1) ]<br>
-- Processing IE 8 (cs0, Cause)<br>q931.c:3620 q931_receive: call 4330 on channel 1 enters state 12 (Disconnect Indication)<br><br><br><br><div class="gmail_quote"><br><br>I've made further debuggings and have found that :<br>
<br>1. Frame* H245ChannelsFactory::GetFrame() in src/H245ChannelsFactory.cpp:298 returns NULL<br>
thus no frame has been procceded by:<br>while ((frame=H324MSessionGetFrame(id))!=NULL) in app_h324m_loopback in app_h324m.c:572.<br><br>this means that: <br><br>chan->remoteChannel is not set in H245ChannelsFactory::OnEstablishIndication<br>
in src/H245ChannelsFactory.cpp.<br><br>I think that somehow connected to that - no h245m event has been triggered on PRI.<br><br>Please, let me know if you find anything on this issue.<br><br>
<br>Thank you in advance.<br><font color="#888888">Leonid<br><br>
</font></div><br>