#include <fshost.h>
typedef enum {
- FSPHONE_CALL_STATE_RINGING = 0,
- FSPHONE_CALL_STATE_TRYING = 1,
- FSPHONE_CALL_STATE_ANSWERED = 2
-} fsphone_call_state_t;
+ FSCOMM_CALL_STATE_RINGING = 0,
+ FSCOMM_CALL_STATE_TRYING = 1,
+ FSCOMM_CALL_STATE_ANSWERED = 2
+} fscomm_call_state_t;
typedef enum {
- FSPHONE_CALL_DIRECTION_INBOUND = 0,
- FSPHONE_CALL_DIRECTION_OUTBOUND = 1
-} fsphone_call_direction_t;
+ FSCOMM_CALL_DIRECTION_INBOUND = 0,
+ FSCOMM_CALL_DIRECTION_OUTBOUND = 1
+} fscomm_call_direction_t;
class Call
{
public:
Call(void);
- Call(int call_id, QString cid_name, QString cid_number, fsphone_call_direction_t direction, QString uuid);
+ Call(int call_id, QString cid_name, QString cid_number, fscomm_call_direction_t direction, QString uuid);
QString getCidName(void) { return _cid_name; }
QString getCidNumber(void) { return _cid_number; }
int getCallID(void) { return _call_id; }
QString getUUID(void) { return _uuid; }
void setbUUID(QString uuid) { _buuid = uuid; }
- fsphone_call_direction_t getDirection() { return _direction; }
- fsphone_call_state_t getState() { return _state; }
- void setState(fsphone_call_state_t state) { _state = state; }
+ fscomm_call_direction_t getDirection() { return _direction; }
+ fscomm_call_state_t getState() { return _state; }
+ void setState(fscomm_call_state_t state) { _state = state; }
private:
int _call_id;
QString _cid_name;
QString _cid_number;
- fsphone_call_direction_t _direction;
+ fscomm_call_direction_t _direction;
QString _uuid;
QString _buuid;
- fsphone_call_state_t _state;
+ fscomm_call_state_t _state;
};
Q_DECLARE_METATYPE(Call)
/* Create directory structure for softphone with default configs */
QDir conf_dir = QDir(QDir::home());
- if (!conf_dir.exists(".fsphone"))
+ if (!conf_dir.exists(".fscomm"))
{
- conf_dir.mkpath(".fsphone/conf/accounts");
- conf_dir.mkpath(".fsphone/templates");
+ conf_dir.mkpath(".fscomm/conf/accounts");
+ conf_dir.mkpath(".fscomm/templates");
QFile rootXML(":/confs/freeswitch.xml");
- QString dest = QString("%1/.fsphone/conf/freeswitch.xml").arg(conf_dir.absolutePath());
+ QString dest = QString("%1/.fscomm/conf/freeswitch.xml").arg(conf_dir.absolutePath());
rootXML.copy(dest);
QFile defaultAccount(":/confs/example.xml");
- dest = QString("%1/.fsphone/conf/accounts/example.xml").arg(conf_dir.absolutePath());
+ dest = QString("%1/.fscomm/conf/accounts/example.xml").arg(conf_dir.absolutePath());
defaultAccount.copy(dest);
}
/* Set all directories to the home user directory */
- if (conf_dir.cd(".fsphone"))
+ if (conf_dir.cd(".fscomm"))
{
SWITCH_GLOBAL_dirs.conf_dir = (char *) malloc(strlen(QString("%1/conf").arg(conf_dir.absolutePath()).toAscii().constData()) + 1);
if (!SWITCH_GLOBAL_dirs.conf_dir) {
switch_status_t status = SWITCH_STATUS_SUCCESS;
Call * call = _active_calls.value(uuid);
/* Inbound call */
- if (call->getDirection() == FSPHONE_CALL_DIRECTION_INBOUND)
+ if (call->getDirection() == FSCOMM_CALL_DIRECTION_INBOUND)
{
switch(event->event_id) {
case SWITCH_EVENT_CHANNEL_ANSWER:
{
call->setbUUID(switch_event_get_header_nil(event, "Other-Leg-Unique-ID"));
_bleg_uuids.insert(switch_event_get_header_nil(event, "Other-Leg-Unique-ID"), uuid);
- call->setState(FSPHONE_CALL_STATE_ANSWERED);
+ call->setState(FSCOMM_CALL_STATE_ANSWERED);
emit answered(uuid);
break;
}
}
case SWITCH_EVENT_CHANNEL_HANGUP_COMPLETE:
{
- if (call->getState() == FSPHONE_CALL_STATE_TRYING)
+ if (call->getState() == FSCOMM_CALL_STATE_TRYING)
{
emit callFailed(uuid);
_active_calls.take(uuid);
switch_status_t status = SWITCH_STATUS_SUCCESS;
Call * call = _active_calls.value(uuid);
/* Inbound call */
- if (call->getDirection() == FSPHONE_CALL_DIRECTION_INBOUND)
+ if (call->getDirection() == FSCOMM_CALL_DIRECTION_INBOUND)
{
qDebug() << " Inbound call";
}
{
if (QString(switch_event_get_header_nil(event, "Answer-State")) == "early")
{
- call->setState(FSPHONE_CALL_STATE_RINGING);
+ call->setState(FSCOMM_CALL_STATE_RINGING);
emit ringing(uuid);
}
//printEventHeaders(event);
Call *call = new Call(atoi(switch_event_get_header_nil(event, "call_id")),
switch_event_get_header_nil(event, "Caller-Caller-ID-Name"),
switch_event_get_header_nil(event, "Caller-Caller-ID-Number"),
- FSPHONE_CALL_DIRECTION_INBOUND,
+ FSCOMM_CALL_DIRECTION_INBOUND,
uuid);
_active_calls.insert(uuid, call);
- call->setState(FSPHONE_CALL_STATE_RINGING);
+ call->setState(FSCOMM_CALL_STATE_RINGING);
emit ringing(uuid);
}
else if (strcmp(event->subclass_name, "portaudio::makecall") == 0)
{
Call *call = new Call(atoi(switch_event_get_header_nil(event, "call_id")),NULL,
switch_event_get_header_nil(event, "Caller-Destination-Number"),
- FSPHONE_CALL_DIRECTION_OUTBOUND,
+ FSCOMM_CALL_DIRECTION_OUTBOUND,
uuid);
_active_calls.insert(uuid, call);
- call->setState(FSPHONE_CALL_STATE_TRYING);
+ call->setState(FSCOMM_CALL_STATE_TRYING);
emit newOutgoingCall(uuid);
}
else if (strcmp(event->subclass_name, "sofia::gateway_state") == 0)
QString state = switch_event_get_header_nil(event, "State");
QString gw = switch_event_get_header_nil(event, "Gateway");
if (state == "TRYING")
- emit gwStateChange(gw, FSPHONE_GW_STATE_TRYING);
+ emit gwStateChange(gw, FSCOMM_GW_STATE_TRYING);
else if (state == "REGISTER")
- emit gwStateChange(gw, FSPHONE_GW_STATE_REGISTER);
+ emit gwStateChange(gw, FSCOMM_GW_STATE_REGISTER);
else if (state == "REGED")
- emit gwStateChange(gw, FSPHONE_GW_STATE_REGED);
+ emit gwStateChange(gw, FSCOMM_GW_STATE_REGED);
else if (state == "UNREGED")
- emit gwStateChange(gw, FSPHONE_GW_STATE_UNREGED);
+ emit gwStateChange(gw, FSCOMM_GW_STATE_UNREGED);
else if (state == "UNREGISTER")
- emit gwStateChange(gw, FSPHONE_GW_STATE_UNREGISTER);
+ emit gwStateChange(gw, FSCOMM_GW_STATE_UNREGISTER);
else if (state =="FAILED")
- emit gwStateChange(gw, FSPHONE_GW_STATE_FAILED);
+ emit gwStateChange(gw, FSCOMM_GW_STATE_FAILED);
else if (state == "FAIL_WAIT")
- emit gwStateChange(gw, FSPHONE_GW_STATE_FAIL_WAIT);
+ emit gwStateChange(gw, FSCOMM_GW_STATE_FAIL_WAIT);
else if (state == "EXPIRED")
- emit gwStateChange(gw, FSPHONE_GW_STATE_EXPIRED);
+ emit gwStateChange(gw, FSCOMM_GW_STATE_EXPIRED);
else if (state == "NOREG")
- emit gwStateChange(gw, FSPHONE_GW_STATE_NOREG);
+ emit gwStateChange(gw, FSCOMM_GW_STATE_NOREG);
}
else
{
class Call;
-#define FSPHONE_GW_STATE_TRYING 0
-#define FSPHONE_GW_STATE_REGISTER 1
-#define FSPHONE_GW_STATE_REGED 2
-#define FSPHONE_GW_STATE_UNREGED 3
-#define FSPHONE_GW_STATE_UNREGISTER 4
-#define FSPHONE_GW_STATE_FAILED 5
-#define FSPHONE_GW_STATE_FAIL_WAIT 6
-#define FSPHONE_GW_STATE_EXPIRED 7
-#define FSPHONE_GW_STATE_NOREG 8
+#define FSCOMM_GW_STATE_TRYING 0
+#define FSCOMM_GW_STATE_REGISTER 1
+#define FSCOMM_GW_STATE_REGED 2
+#define FSCOMM_GW_STATE_UNREGED 3
+#define FSCOMM_GW_STATE_UNREGISTER 4
+#define FSCOMM_GW_STATE_FAILED 5
+#define FSCOMM_GW_STATE_FAIL_WAIT 6
+#define FSCOMM_GW_STATE_EXPIRED 7
+#define FSCOMM_GW_STATE_NOREG 8
-static const char *fsphone_gw_state_names[] = {
+static const char *fscomm_gw_state_names[] = {
"TRYING",
"REGISTER",
"REGED",
switch_status_t sendCmd(const char *cmd, const char *args, QString *res);
void generalEventHandler(switch_event_t *event);
Call * getCallByUUID(QString uuid) { return _active_calls.value(uuid, NULL); }
- QString getGwStateName(int id) { return fsphone_gw_state_names[id]; }
+ QString getGwStateName(int id) { return fscomm_gw_state_names[id]; }
protected:
void run(void);