H.324M, MP4 and AMR
H.324M and MP4
For installation instructions of the applications refer to the respective application in the left menu.
If you want to make outgoing H.324M calls using h324m_call() you need to set the proper Q.931 user information layer 1 value. For this you have to apply these two patches and use the following config snippet:
Patches:
http://bugs.digium.com/view.php?id=10189 and http://bugs.digium.com/view.php?id=10217
Sometimes it is necessary to signal H324M also in Low Layer Comaptiblity IE in Q.931. This can be done by using this patch:
http://bugs.digium.com/view.php?id=11595
Example extensions.conf:
[from_sipphones]
exten => 111,1,h324m_call(666@video-out)
[video-out]
exten => 666,1,Set(CHANNEL(transfercapability)=VIDEO)
exten => 666,n,NoOp(transfer=${CHANNEL(transfercapability)})
exten => 666,n,Set(CHANNEL(userinformationlayer1)=38)
exten => 666,n,NoOp(ul1=${CHANNEL(userinformationlayer1)})
exten => 666,n,Dial(Zap/g1/0699123456)
Note: In some countries you must specify other UL1 values than 38. Simply call into Asterisk and check UL1 in the incoming SETUP message.
If the 3G call is forwarded to SIP it is important that the video stream received from the SIP client does not exceed the bandwidth of H324M. Thus configure the video settings in the SIP client according (e.g. set bandwidth to "DSL, Cable" in xlite). You can also use app_transcoder or signal the maximum bandwidth in the SDP (e.g. by using this patch for xlite: http://bugs.digium.com/view.php?id=12134)
Note: When using mISDN there is a problem - you have to comment TIFFReverseBits() in h324m.cpp (libh324m).
Note: Outgoing calls often do not work as Asterisk is doing transcoding to the digital data. Thus, you should hardcode the used ISDN codec in app_h324m.c. E.g. if you are in Europe then set the codec to AST_FORMAT_ALAW in app_h324m.c - in US set it to AST_FORMAT_ULAW (just grep for AST_FORMAT_ ).
AMR
To patch Asterisk for AMR support refer to its README: http://sip.fontventa.com/trac/asterisk/browser/amr/README
This patch is needed if you need to encode/decode AMR, e.g. for H324M<-->SIP calls.
Make sure to make the proper setting in codec.conf.