< Previous by Date Date Index Next by Date >
< Previous in Thread Thread Index Next in Thread >

Re: [reSIProcate-users] Media being initialised early in Recon


I'm curious - what problem is this causing you?

The reason for that implementation decision is described here:  http://www.resiprocate.org/Limitations_with_sipXtapi_media_Integration - first bullet point.

However, there is another mode you can enable when you create the conversation manager (from ConversationManager.hxx):  

   /**
     Note:  sipXtapi Media Interfaces have a finite number of supported endpoints 
          that are allowed in each bridge mixer - by default this value is 10 
          (2 are used for local mic / speaker, 1 for a MediaParticipant, leaving
           7 remaining for RemoteParticipants).  This limit is controlled by the 
          preprocessor define DEFAULT_BRIDGE_MAX_IN_OUTPUTS (see 
          http://www.resiprocate.org/Limitations_with_sipXtapi_media_Integration
          for more details.
   
          sipXGlobalMediaInterfaceMode - uses 1 global sipXtapi media interface  and 
          allows for participants to exist in multiple conversations at the same 
          time and have the bridge mixer properly control their mixing.  In this
          mode, there can only be a single MediaParticipant for all conversations.
          This architecture/mode is appropriate for single user agent devices (ie. 
          sip phones).

          sipXConversationMediaInterfaceMode - uses 1 sipXtapi media interface per
          conversation.  Using this mode, participants cannot exist in multiple
          conversations at the same time, however the limit of 7 participants is
          no longer global, it now applies to each conversation.  A separate 
          media participant for each conversation can also exist.
          This architecture/mode is appropriate for server applications, such as
          multi-party conference servers (up to 7 participants per conference), 
          music on hold servers and call park servers.  Other API's that won't
          function in this mode are:
            -joinConversation
            -addParticipant - only applies to the LocalParticipant
            -moveParticipant - only applies to the LocalParticipant
          Note:  For inbound (UAS) Remote Participant sessions, ensure that you
                 add the Remote Participant to a conversation before you return 
                 call accept() for alert() with early media.
   */
   typedef enum 
   {
      sipXGlobalMediaInterfaceMode,  
      sipXConversationMediaInterfaceMode
   } MediaInterfaceMode;


Scott

On Wed, Apr 11, 2012 at 2:08 PM, Nauman Sulaiman <nauman762-home@xxxxxxxxxxx> wrote:
Hi, 

We have built the latest recon code and have noticed that Media gets initialised as soon as the 
ConversationManager constructor is called which calls the CpTopologyGraphFactoryImpl 
constructor within the SipX library. Here there are calls to enable the MpInputDeviceManager
and the MpOutputDeviceManager. I would have thought this should only be done when making
an outbound call or receiving a call.  

ie   ConversationHandle convHandle = createConversation();
    addParticipant(convHandle, createLocalParticipant());
    ParticipantHandle part = createRemoteParticipant(callId,convHandle,destination,ForkSelectAutomatic );

Is there a way of ensuring media is only enabled when making or receiving calls and not on just initialising the 
Conversation Manager.

Thanks

_______________________________________________
resiprocate-users mailing list
resiprocate-users@xxxxxxxxxxxxxxx
List Archive: http://list.resiprocate.org/archive/resiprocate-users/