public static MyAVSession TakeIncomingSession(MySipStack sipStack, CallSession session, twrap_media_type_t mediaType, SipMessage sipMessage) { MediaType media; lock (MyAVSession.sessions) { switch (mediaType) { case twrap_media_type_t.twrap_media_audio: media = MediaType.Audio; break; case twrap_media_type_t.twrap_media_video: media = MediaType.Video; break; case twrap_media_type_t.twrap_media_audiovideo: media = MediaType.AudioVideo; break; default: return(null); } MyAVSession avSession = new MyAVSession(sipStack, session, media, InviteState.INCOMING); if (sipMessage != null) { avSession.RemotePartyUri = sipMessage.getSipHeaderValue("f"); } MyAVSession.sessions.Add(avSession.Id, avSession); return(avSession); } }
public static MyAVSession CreateOutgoingSession(MySipStack sipStack, MediaType mediaType) { lock (MyAVSession.sessions) { MyAVSession avSession = new MyAVSession(sipStack, null, mediaType, InviteState.INPROGRESS); MyAVSession.sessions.Add(avSession.Id, avSession); return(avSession); } }
public static void ReleaseSession(MyAVSession session) { lock (MyAVSession.sessions) { if (session != null && MyAVSession.sessions.ContainsKey(session.Id)) { long id = session.Id; session.Dispose(); MyAVSession.sessions.Remove(id); } } }
public static void ReleaseSession(MyAVSession session) { if (session != null) { lock (MyMsrpSession.sessions) { long id = session.Id; session.Dispose(); MyMsrpSession.sessions.Remove(id); } } }
public static bool HandleMediaUpdate(long id, twrap_media_type_t newMediaType) { MyAVSession avSession = MyAVSession.GetSession(id); if (avSession != null) { if ((newMediaType & twrap_media_type_t.twrap_media_msrp) == twrap_media_type_t.twrap_media_msrp) { return(false); // For now MSRP update is not suportted } avSession.mMediaType = MediaTypeUtils.ConvertFromNative(newMediaType); return(true); } return(false); }
public static MyAVSession TakeOutgoingTranferSession(MySipStack sipStack, CallSession session, twrap_media_type_t mediaType, SipMessage sipMessage) { MediaType media = MediaTypeUtils.ConvertFromNative(mediaType); if (media == MediaType.None) { return(null); } MyAVSession avSession = MyAVSession.CreateOutgoingSession(sipStack, session, media); if (sipMessage != null) { avSession.RemotePartyUri = sipMessage.getSipHeaderValue("refer-to"); } return(avSession); }
public static MyAVSession TakeIncomingSession(MySipStack sipStack, CallSession session, twrap_media_type_t mediaType, SipMessage sipMessage) { MediaType media = MediaTypeUtils.ConvertFromNative(mediaType); if (media == MediaType.None) { return(null); } lock (MyAVSession.sessions) { MyAVSession avSession = new MyAVSession(sipStack, session, media, InviteState.INCOMING); if (sipMessage != null) { avSession.RemotePartyUri = sipMessage.getSipHeaderValue("f"); } MyAVSession.sessions.Add(avSession.Id, avSession); return(avSession); } }
internal MyT140Callback(MyAVSession session) : base() { mSession = session; }
public static MyAVSession CreateOutgoingSession(MySipStack sipStack, MediaType mediaType) { return(MyAVSession.CreateOutgoingSession(sipStack, null, mediaType)); }
public static MyAVSession CreateOutgoingSession(MySipStack sipStack, MediaType mediaType) { lock (MyAVSession.sessions) { MyAVSession avSession = new MyAVSession(sipStack, null, mediaType, InviteState.INPROGRESS); MyAVSession.sessions.Add(avSession.Id, avSession); return avSession; } }
public static MyAVSession TakeIncomingSession(MySipStack sipStack, CallSession session, twrap_media_type_t mediaType, SipMessage sipMessage) { MediaType media; lock (MyAVSession.sessions) { switch (mediaType) { case twrap_media_type_t.twrap_media_audio: media = MediaType.Audio; break; case twrap_media_type_t.twrap_media_video: media = MediaType.Video; break; case twrap_media_type_t.twrap_media_audiovideo: media = MediaType.AudioVideo; break; default: return null; } MyAVSession avSession = new MyAVSession(sipStack, session, media, InviteState.INCOMING); if (sipMessage != null) { avSession.RemotePartyUri = sipMessage.getSipHeaderValue("f"); } MyAVSession.sessions.Add(avSession.Id, avSession); return avSession; } }
public static MyAVSession TakeIncomingSession(MySipStack sipStack, CallSession session, twrap_media_type_t mediaType, SipMessage sipMessage) { MediaType media = MediaTypeUtils.ConvertFromNative(mediaType); if (media == MediaType.None) { return null; } lock (MyAVSession.sessions) { MyAVSession avSession = new MyAVSession(sipStack, session, media, InviteState.INCOMING); if (sipMessage != null) { avSession.RemotePartyUri = sipMessage.getSipHeaderValue("f"); } MyAVSession.sessions.Add(avSession.Id, avSession); return avSession; } }