[Asterisk-video] 3G phone -> PRI -> asterisk :: cannot get h324m_loopback to work.

Klaus Darilion klaus.mailinglists at pernau.at
Thu Apr 10 02:35:59 CDT 2008


Hi Leonid!

Could you try if h234m_gw() and echo() works?

regards
klaus

Leonid Berson schrieb:
> 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 <http://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
> 
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> --Bandwidth and Colocation Provided by http://www.api-digital.com--
> 
> asterisk-video mailing list
> To UNSUBSCRIBE or update options visit:
>    http://lists.digium.com/mailman/listinfo/asterisk-video



More information about the asterisk-video mailing list