| 189 | #endif |
| 190 | |
| 191 | void SipDialogMap::dmPeriodicService() |
| 192 | { |
| 193 | try { |
| 194 | #if USE_SCOPED_ITERATORS |
| 195 | DialogMap_t::ScopedIterator it(mDialogMap); |
| 196 | #else |
| 197 | ScopedLock lock(mDialogMap.qGetLock()); |
| 198 | DialogMap_t::iterator it; |
| 199 | #endif |
| 200 | for (it = mDialogMap.begin(); it != mDialogMap.end(); ) { |
| 201 | SipDialog *dialog = it->second; |
| 202 | it++; |
| 203 | if (dialog->dialogPeriodicService()) { |
| 204 | gSipInterface.dmRemoveDialog(dialog); |
| 205 | } |
| 206 | } |
| 207 | } catch(exception &e) { |
| 208 | // We dont expect any throws; just being ultra cautious. |
| 209 | LOG(ERR) << "SIP processing exception "<<e.what() << " " << typeid(&e).name(); |
| 210 | } catch(...) { |
| 211 | LOG(CRIT) << "Unhandled exception attempted to kill OpenBTS SIP processor"; // pat added |
| 212 | devassert(0); |
| 213 | } |
| 214 | //LOG(DEBUG) << "end"; |
| 215 | } |
| 216 | |
| 217 | void SipTUMap::tuMapAdd(SipTransaction*tup) { |
| 218 | LOG(DEBUG) <<LOGVAR(tup); |
no test coverage detected