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