Avin,
   
    Thanks again for you answers. They just verified behaivor I was affraid of :-) . However, I easily found workaroud for this. The problem was that I didn't like too may threads running on my machine. Now only the first startReceiveChannel() callback really creates a thread, while the other just add sockets that already running thread should monitor. Since every audio codec has its own OORTPSOCKET structure (see media example), I can smoothly extract the information about it in receive and transmit threads.

    Regards,
       Aleksandar

Avin Patel wrote:
Hi Aleksandar,
  
    What exactly do you mean under "on logical channel
established"? There is
    

  
Search for
"OO_LOGICALCHAN_ESTABLISHED" & add a callback function of logical channel
established.
    

  
    Also, when I register several capabilities for the same endpoint, it
turns out that before a call is established, receive channel callbacks
(caller party side) are triggered for every registered capability. This
was strange for me since I was expecting that only negotiated codec's
channel callback would be triggered. Any remarks on this?

    
This is ok, till the logical channel is established.


  
    My media library mimics the obj-sys media and the logic is
completely the same (though media is compiled as static library
since uCLinux does not support shared libraries). In the attached
file, I register some codecs at line 331:

    /* Add audio capabilities */
    ooH323EpAddG711Capability(OO_G711ALAW64K, 20, 160, OORXANDTX,
        &spcEpStartReceiveChannel, &spcEpStartTransmitChannel,
        &spcEpStopReceiveChannel, &spcEpStopTransmitChannel);
    ooH323EpAddG711Capability(OO_G711ULAW64K, 20, 160, OORXANDTX,
        &spcEpStartReceiveChannel, &spcEpStartTransmitChannel,
        &spcEpStopReceiveChannel, &spcEpStopTransmitChannel);
    ooH323EpAddG7231Capability(OO_G7231, 30, 24, TRUE, OORXANDTX,
        &spcEpStartReceiveChannel, &spcEpStartTransmitChannel,
        &spcEpStopReceiveChannel, &spcEpStopTransmitChannel);
    ooH323EpAddG729Capability(OO_G729, 20, 20, OORXANDTX,
        &spcEpStartReceiveChannel, &spcEpStartTransmitChannel,
        &spcEpStopReceiveChannel, &spcEpStopTransmitChannel);

    Is it legal to register several audio codecs at the same
time?
    
Yes, you can. But only one channel will be used for communication, once call
is established.

  
When I do this, caller party triggers
spcEpStartReceiveChannel() four times, but after the voice
streaming is established, only one transmit channel is started.
    

That is correct behaviour. End Point should be ready to communicate on all
proposed channels. While only channel will be used for communications. Once
channel is established, all other channel will be closed.


Regards,
Avin Patel
Objective Systems, Inc.





  

-- 
Aleksandar Sutic
Design Engineer

ELSYS Eastern Europe, www.elsys-design.com
phone:  +381 11 311 2317
mobile: +381 65 311 2317
e-mail: [EMAIL PROTECTED]
web:    www.sutic.dzaba.com
------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642 _______________________________________________ ooh323c-devel mailing list ooh323c-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ooh323c-devel

Reply via email to