00001 /* 00002 * rfc4103.h 00003 * 00004 * Implementation of RFC 4103 RTP Payload for Text Conversation 00005 * 00006 * Open Phone Abstraction Library (OPAL) 00007 * 00008 * Copyright (c) 2008 Post Increment 00009 * 00010 * The contents of this file are subject to the Mozilla Public License 00011 * Version 1.0 (the "License"); you may not use this file except in 00012 * compliance with the License. You may obtain a copy of the License at 00013 * http://www.mozilla.org/MPL/ 00014 * 00015 * Software distributed under the License is distributed on an "AS IS" 00016 * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See 00017 * the License for the specific language governing rights and limitations 00018 * under the License. 00019 * 00020 * The Original Code is Open Phone Abstraction Library. 00021 * 00022 * The Initial Developer of the Original Code is Post Increment 00023 * 00024 * Contributor(s): ______________________________________. 00025 * 00026 * $Revision: 21293 $ 00027 * $Author: rjongbloed $ 00028 * $Date: 2008-10-13 10:24:41 +1100 (Mon, 13 Oct 2008) $ 00029 */ 00030 00031 #ifndef OPAL_IM_RFC4103_H 00032 #define OPAL_IM_RFC4103_H 00033 00034 #include <ptlib.h> 00035 #include <opal/buildopts.h> 00036 00037 #include <opal/mediafmt.h> 00038 #include <im/t140.h> 00039 #include <rtp/rtp.h> 00040 00041 00042 class RFC4103Frame : public RTP_DataFrame 00043 { 00044 public: 00045 RFC4103Frame(); 00046 RFC4103Frame(const T140String & t140); 00047 void SetPayload(const T140String & t140); 00048 }; 00049 00050 class RFC4103Context : public PObject 00051 { 00052 public: 00053 RFC4103Context(const OpalMediaFormat & fmt); 00054 RTP_DataFrameList ConvertToFrames(const T140String & body); 00055 00056 OpalMediaFormat m_mediaFormat; 00057 PMutex m_mutex; 00058 WORD m_sequence; 00059 DWORD m_baseTimeStamp; 00060 PTime m_baseTime; 00061 }; 00062 00063 #endif // OPAL_IM_RFC4103_H