added licence header to wireshark lua script
[anytun.git] / src / rtpSession.cpp
blobf87a2168ee14cc5160e3c2fc77fa83ef2e91414f
1 /*
2 * anytun
4 * The secure anycast tunneling protocol (satp) defines a protocol used
5 * for communication between any combination of unicast and anycast
6 * tunnel endpoints. It has less protocol overhead than IPSec in Tunnel
7 * mode and allows tunneling of every ETHER TYPE protocol (e.g.
8 * ethernet, ip, arp ...). satp directly includes cryptography and
9 * message authentication based on the methodes used by SRTP. It is
10 * intended to deliver a generic, scaleable and secure solution for
11 * tunneling and relaying of packets of any protocol.
14 * Copyright (C) 2007-2008 Othmar Gsenger, Erwin Nindl,
15 * Christian Pointner <satp@wirdorange.org>
17 * This file is part of Anytun.
19 * Anytun is free software: you can redistribute it and/or modify
20 * it under the terms of the GNU General Public License version 3 as
21 * published by the Free Software Foundation.
23 * Anytun is distributed in the hope that it will be useful,
24 * but WITHOUT ANY WARRANTY; without even the implied warranty of
25 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26 * GNU General Public License for more details.
28 * You should have received a copy of the GNU General Public License
29 * along with anytun. If not, see <http://www.gnu.org/licenses/>.
32 #include "rtpSession.h"
34 #include "anyrtpproxy/callIdQueue.h"
36 RtpSession::RtpSession(const std::string& call_id) : in_sync_(false), call_id_(call_id) , dead_(false), complete_(false),
37 local_addr_("") , local_port1_(0), local_port2_(0),
38 remote_addr1_(""), remote_addr2_(""), remote_port1_(0), remote_port2_(0),seen1_(false), seen2_(false)
42 void RtpSession::reinit()
44 gCallIdQueue.push(call_id_);
47 bool RtpSession::isDead()
49 Lock lock(mutex_);
50 return (dead_ && in_sync_);
53 bool RtpSession::isDead(bool d)
55 Lock Lock(mutex_);
56 return dead_ = d;
59 bool RtpSession::isComplete()
61 Lock lock(mutex_);
62 return complete_;
65 bool RtpSession::isComplete(bool c)
67 Lock lock(mutex_);
68 return complete_ = c;
71 std::string RtpSession::getLocalAddr()
73 Lock lock(mutex_);
74 return local_addr_;
77 RtpSession& RtpSession::setLocalAddr(std::string a)
79 Lock lock(mutex_);
80 in_sync_ = false;
81 local_addr_ = a;
82 return *this;
85 bool RtpSession::getSeen1()
87 Lock lock(mutex_);
88 return seen1_;
91 RtpSession& RtpSession::setSeen1()
93 Lock lock(mutex_);
94 //in_sync_ = false;
95 seen1_ = true;
96 return *this;
99 bool RtpSession::getSeen2()
101 Lock lock(mutex_);
102 return seen2_;
105 RtpSession& RtpSession::setSeen2()
107 Lock lock(mutex_);
108 //in_sync_ = false;
109 seen2_ = true;
110 return *this;
113 u_int16_t RtpSession::getLocalPort1()
115 Lock lock(mutex_);
116 return local_port1_;
119 RtpSession& RtpSession::setLocalPort1(u_int16_t p)
121 Lock lock(mutex_);
122 in_sync_ = false;
123 local_port1_ = p;
124 return *this;
127 u_int16_t RtpSession::getLocalPort2()
129 Lock lock(mutex_);
130 return local_port2_;
133 RtpSession& RtpSession::setLocalPort2(u_int16_t p)
135 Lock lock(mutex_);
136 in_sync_ = false;
137 local_port2_ = p;
138 return *this;
141 u_int16_t RtpSession::getRemotePort1()
143 Lock lock(mutex_);
144 return remote_port1_;
147 RtpSession& RtpSession::setRemotePort1(u_int16_t p)
149 Lock lock(mutex_);
150 in_sync_ = false;
151 remote_port1_ = p;
152 return *this;
155 std::string RtpSession::getRemoteAddr1()
157 Lock lock(mutex_);
158 return remote_addr1_;
161 RtpSession& RtpSession::setRemoteAddr1(std::string a)
163 Lock lock(mutex_);
164 in_sync_ = false;
165 remote_addr1_ = a;
166 return *this;
169 u_int16_t RtpSession::getRemotePort2()
171 Lock lock(mutex_);
172 return remote_port2_;
175 RtpSession& RtpSession::setRemotePort2(u_int16_t p)
177 Lock lock(mutex_);
178 in_sync_ = false;
179 remote_port2_ = p;
180 return *this;
183 std::string RtpSession::getRemoteAddr2()
185 Lock lock(mutex_);
186 return remote_addr2_;
189 RtpSession& RtpSession::setRemoteAddr2(std::string a)
191 Lock lock(mutex_);
192 in_sync_ = false;
193 remote_addr2_ = a;
194 return *this;