📄 default.cpp
字号:
// Copyright (C) 1999-2000 Open Source Telecom Corporation// // This program is free software; you can redistribute it and/or modify// it under the terms of the GNU General Public License as published by// the Free Software Foundation; either version 2 of the License, or// (at your option) any later version.// // This program is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the// GNU General Public License for more details.// // You should have received a copy of the GNU General Public License// along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.#include <config.h>#include <debug.h>#include "server.h"#include "trunk.h"#include "session.h"#include "vpbapi.h"void Trunk::Default(EventRecord *er){ switch(er->event) { case UM_EVENT_START_LINE: if(er->p1) SendMessage(getVpbTrunk(--er->p1), er); break; case UM_EVENT_ENTER_STATE: endTimer(); break; case UM_EVENT_STOP_STATE: return scrExecute(); case UM_EVENT_MAKE_BUSY: setHandler((handler_t)&Trunk::Busy); break; case VPB_RING: ++rings; break; case VPB_TONEDETECT: if (er->p1 == VPB_BUSY) { if(trap || exeTrap()) return; setHandler((handler_t)&Trunk::Idle); debug(1, "line %d; call terminated", id); } break; case UM_EVENT_MAKE_IDLE: setHandler((handler_t)&Trunk::Idle); break; case UM_EVENT_EXIT_SHELL: exstatus = er->p1; break; case UM_EVENT_ERROR_ABORT: scrError((char *)er->p2); break; case VPB_TIMEREXP: //debug(2,"default: timeout"); return scrTimeout(); case VPB_DTMF: //debug(2,"DTMF in default"); switch(er->p1) { case '0': return scrDigit(0); case '1': return scrDigit(1); case '2': return scrDigit(2); case '3': return scrDigit(3); case '4': return scrDigit(4); case '5': return scrDigit(5); case '6': return scrDigit(6); case '7': return scrDigit(7); case '8': return scrDigit(8); case '9': return scrDigit(9); case '*': return scrDigit(10); case '#': return scrDigit(11); case 'a': case 'A': return scrDigit(12); case 'b': case 'B': return scrDigit(13); case 'c': case 'C': return scrDigit(14); case 'd': case 'D': return scrDigit(15); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -