[asterisk-users] Bridging Video Calls using Zap

Steffen Weinreich steve+asterisk-user at weinreich.org
Tue Oct 31 02:31:12 MST 2006


Hi!

For demonstration purposes I try to bridge an incoming video call from a
3G mobile handset to another 3G mobile handset using asterisk as "switch".

On the incoming call leg I see all expected bearer capabilities
(Digital, 64k Transparent, G.7xx 384k video) but on the outgoing call
leg the bearer capability G.7xx 384k video get lost and therefore the
call is dropped from the mobile operator.

What I have tried so far ist to use SetTransferCapability(VIDEO) but
this does not change the behavior.

Is there a way to set or preserve the bearer capability for the outgoing
call leg?

cheerio
    Steve


--- environment

pbx-test*CLI> show version
Asterisk 1.2.9.1-BRIstuffed-0.3.0-PRE-1q built by root @
pbx-test.bb.ic3s.de on a i686 running Linux on 2006-06-16 10:17:00 UTC

with A Quad ZAP Pri Card

---- dialplan

  ;exten => 297,1,SetTransferCapability(VIDEO)
  exten => 297,1,Noop()
  exten => 297,2,Dial(${TRUNK}/0175234567)
  exten => 297,3,Hangup
  exten => 297,104,SetVar(PRI_CAUSE=17) ; Indicate Busy
  exten => 297,105,Hangup

---- Log
pbx-test*CLI>
  == Primary D-Channel on span 2 down
Oct 31 09:05:03 WARNING[6771]: chan_zap.c:2506 pri_find_dchan: No
D-channels available!  Using Primary channel 47 as D-channel anyway!
1 < Protocol Discriminator: Q.931 (8)  len=45
1 < Call Ref: len= 2 (reference 25880/0x6518) (Originator)
1 < Message type: SETUP (5)
1 < [1 a11 ]
1 < Sending Complete (len= 1)
1 < [1 041  031  881  901  a61 ]
1 < Bearer Capability (len= 5) [ Ext: 1  Q.931 Std: 0  Info transfer
capability: Unrestricted digital information (8)
1 <                              Ext: 1  Trans mode/rate: 64kbps,
circuit-mode (16)
1 <                              Ext: 1  User information layer 1: G.7xx
384k Video (38)
1 < [1 181  031  a11  831  871 ]
1 < Channel ID (len= 5) [ Ext: 1  IntID: Implicit, PRI Spare: 0,
Preferred Dchan: 0
1 <                        ChanSel: Reserved
1 <                       Ext: 1  Coding: 0   Number Specified   Channel
Type: 3
1 <                       Ext: 1  Channel: 7 ]
1 < [1 6c1  0c1  211  831  311  371  351  351  381  361  341  371  381
311 ]
1 < Calling Number (len=14) [ Ext: 0  TON: National Number (2)  NPI:
ISDN/Telephony Numbering Plan (E.164/E.163) (1)
1 <                           Presentation: Presentation allowed of
network provided number (3) '1755864781' ]
1 < [1 701  081  c11  351  351  351  361  321  391  371 ]
1 < Called Number (len=10) [ Ext: 1  TON: Subscriber Number (4)  NPI:
ISDN/Telephony Numbering Plan (E.164/E.163) (1) '5556297' ]
1 < [1 7c1  031  881  901  a61 ]
1 < Low-layer compatibilty (len= 5) [ 1 0x88 1 0x90 1 0xA6 1  ]
1 -- Making new call for cr 25880
1 -- Processing Q.931 Call Setup
1 -- Processing IE 161 (cs0, Sending Complete)
1 -- Processing IE 4 (cs0, Bearer Capability)
1 -- Processing IE 24 (cs0, Channel Identification)
1 -- Processing IE 108 (cs0, Calling Party Number)
1 -- Processing IE 112 (cs0, Called Party Number)
1 -- Processing IE 124 (cs0, Low-layer Compatibility)
Oct 31 09:05:07 WARNING[6770]: chan_zap.c:8503 zt_pri_error: 1 copying 5
bytes LLC
1 > Protocol Discriminator: Q.931 (8)  len=10
1 > Call Ref: len= 2 (reference 25880/0x6518) (Terminator)
1 > Message type: CALL PROCEEDING (2)
1 > [1 181  031  a91  831  871 ]
1 > Channel ID (len= 5) [ Ext: 1  IntID: Implicit, PRI Spare: 0,
Exclusive Dchan: 0
1 >                        ChanSel: Reserved
1 >                       Ext: 1  Coding: 0   Number Specified   Channel
Type: 3
1 >                       Ext: 1  Channel: 7 ]
    -- Accepting data call from '1755864781' to '5556297' on channel
0/7, span 1
    -- Executing Macro("Zap/7-1", "handle-callerid") in new stack
    -- Executing NoOp("Zap/7-1", ""01751234567"") in new stack
    -- Executing GotoIf("Zap/7-1", "0?3:5") in new stack
    -- Goto (macro-handle-callerid,s,5)
    -- Executing SetCallerID("Zap/7-1", "001751234567") in new stack
    -- Executing LookupCIDName("Zap/7-1", "") in new stack
    -- Changed Caller*ID name to Testi Tester
    -- Executing NoOp("Zap/7-1", """Testi Tester" <001751234567> / Testi
Tester / 001751234567"") in new stack
    -- Executing Goto("Zap/7-1", "external-call|297|1") in new stack
    -- Goto (external-call,297,1)
    -- Executing Dial("Zap/7-1", "Zap/r1/01752345678") in new stack
1 -- Making new call for cr 32777
    -- Requested transfer capability: 0x08 - DIGITAL
1 > Protocol Discriminator: Q.931 (8)  len=44
1 > Call Ref: len= 2 (reference 9/0x9) (Originator)
1 > Message type: SETUP (5)
1 > [1 041  021  881  901 ]
1 > Bearer Capability (len= 4) [ Ext: 1  Q.931 Std: 0  Info transfer
capability: Unrestricted digital information (8)
1 >                              Ext: 1  Trans mode/rate: 64kbps,
circuit-mode (16)
1 >                              Ext: 0  User information layer 1:
Unknown (24)
1 > [1 181  031  a91  831  881 ]
1 > Channel ID (len= 5) [ Ext: 1  IntID: Implicit, PRI Spare: 0,
Exclusive Dchan: 0
1 >                        ChanSel: Reserved
1 >                       Ext: 1  Coding: 0   Number Specified   Channel
Type: 3
1 >                       Ext: 1  Channel: 8 ]
1 > [1 6c1  0e1  411  801  301  301  311  371  351  351  381  361  341
371  381  311 ]
1 > Calling Number (len=16) [ Ext: 0  TON: Subscriber Number (4)  NPI:
ISDN/Telephony Numbering Plan (E.164/E.163) (1)
1 >                           Presentation: Presentation permitted, user
number not screened (0) '001751234567' ]
1 > [1 701  0c1  c11  301  311  371  351  321  361  301  391  351  391
381 ]
1 > Called Number (len=14) [ Ext: 1  TON: Subscriber Number (4)  NPI:
ISDN/Telephony Numbering Plan (E.164/E.163) (1) '01752345678' ]
    -- Called r1/01752345678
1 < Protocol Discriminator: Q.931 (8)  len=10
1 < Call Ref: len= 2 (reference 9/0x9) (Terminator)
1 < Message type: SETUP ACKNOWLEDGE (13)
1 < [1 181  031  a91  831  881 ]
1 < Channel ID (len= 5) [ Ext: 1  IntID: Implicit, PRI Spare: 0,
Exclusive Dchan: 0
1 <                        ChanSel: Reserved
1 <                       Ext: 1  Coding: 0   Number Specified   Channel
Type: 3
1 <                       Ext: 1  Channel: 8 ]
1 -- Processing IE 24 (cs0, Channel Identification)
  == Primary D-Channel on span 2 down
Oct 31 09:05:08 WARNING[6771]: chan_zap.c:2506 pri_find_dchan: No
D-channels available!  Using Primary channel 47 as D-channel anyway!
1 < Protocol Discriminator: Q.931 (8)  len=9
1 < Call Ref: len= 2 (reference 9/0x9) (Terminator)
1 < Message type: DISCONNECT (69)
1 < [1 081  021  841  b91 ]
1 < Cause (len= 4) [ Ext: 1  Coding: CCITT (ITU) standard (0) 0: 0
Location: Public network serving the remote user (4)
1 <                  Ext: 1  Cause: Unknown (57), class = Service or
Option not Available (3) ]
1 -- Processing IE 8 (cs0, Cause)
    -- Channel 0/8, span 1 got hangup request
    -- Channel 0/8, span 1 received AOC-E charging 0 units
1 NEW_HANGUP DEBUG: Calling q931_hangup, ourstate Disconnect Indication,
peerstate Disconnect Request
1 > Protocol Discriminator: Q.931 (8)  len=9
1 > Call Ref: len= 2 (reference 9/0x9) (Originator)
1 > Message type: RELEASE (77)
1 > [1 081  021  811  b91 ]
1 > Cause (len= 4) [ Ext: 1  Coding: CCITT (ITU) standard (0) 0: 0
Location: Private network serving the local user (1)
1 >                  Ext: 1  Cause: Unknown (57), class = Service or
Option not Available (3) ]
    -- Hungup 'Zap/8-1'
  == Everyone is busy/congested at this time (1:0/0/1)
    -- Executing SetVar("Zap/7-1", "PRI_CAUSE=17") in new stack
    -- Executing Hangup("Zap/7-1", "") in new stack
  == Spawn extension (external-call, 297, 103) exited non-zero on 'Zap/7-1'
1 NEW_HANGUP DEBUG: Calling q931_hangup, ourstate Incoming Call
Proceeding, peerstate Outgoing call  Proceeding
1 > Protocol Discriminator: Q.931 (8)  len=9
1 > Call Ref: len= 2 (reference 25880/0x6518) (Terminator)
1 > Message type: RELEASE COMPLETE (90)
1 > [1 081  021  801  911 ]
1 > Cause (len= 4) [ Ext: 1  Coding: CCITT (ITU) standard (0) 0: 0
Location: User (0)
1 >                  Ext: 1  Cause: User busy (17), class = Normal Event
(1) ]
1 NEW_HANGUP DEBUG: Calling q931_hangup, ourstate Null, peerstate Null
1 NEW_HANGUP DEBUG: Destroying the call, ourstate Null, peerstate Null
    -- Hungup 'Zap/7-1'
1 < Protocol Discriminator: Q.931 (8)  len=5
1 < Call Ref: len= 2 (reference 9/0x9) (Terminator)
1 < Message type: RELEASE COMPLETE (90)
1 NEW_HANGUP DEBUG: Calling q931_hangup, ourstate Null, peerstate Null
1 NEW_HANGUP DEBUG: Destroying the call, ourstate Null, peerstate Null
  == Primary D-Channel on span 2 down
Oct 31 09:05:13 WARNING[6771]: chan_zap.c:2506 pri_find_dchan: No
D-channels available!  Using Primary channel 47 as D-channel anyway!
  == Primary D-Channel on span 2 down
Oct 31 09:05:18 WARNING[6771]: chan_zap.c:2506 pri_find_dchan: No
D-channels available!  Using Primary channel 47 as D-channel anyway!
pbx-test*CLI> exit
pbx-test:~#




More information about the asterisk-users mailing list