With CDIP phonesim can tell the Called Line Identification within the
RING comand according to 27.007 section 7.9.
---
src/callmanager.cpp | 21 +++--
src/callmanager.h |8 +---
src/control.cpp |8 ++--
src/control.h |2 +-
src/default.xml | 19 +++
src/hardwaremanipulator.h |2 +-
src/phonesim.cpp |4 ++--
7 files changed, 49 insertions(+), 15 deletions(-)
diff --git a/src/callmanager.cpp b/src/callmanager.cpp
index d746333..be17b83 100644
--- a/src/callmanager.cpp
+++ b/src/callmanager.cpp
@@ -326,6 +326,11 @@ void CallManager::emitRing(const CallInfo info)
else
str += \\n\\n+CLIP: + QAtUtils::encodeNumber( info.number ) +
0;
+if (info.calledNumber.isNull())
+;
+else
+str += \\n\\n+CDIP: + QAtUtils::encodeNumber( info.calledNumber
) + ,,,;
+
if (info.name.isNull())
;
else if (info.name.isEmpty())
@@ -338,7 +343,8 @@ void CallManager::emitRing(const CallInfo info)
}
void CallManager::startIncomingCall( const QString number,
- const QString name, bool dialBack )
+ const QString calledNumber,
+ const QString name, bool dialBack )
{
// Bail out if there is already an incoming call.
if ( idForIncoming() = 0 ) {
@@ -356,6 +362,7 @@ void CallManager::startIncomingCall( const QString number,
info.state = CallState_Incoming;
}
info.number = number;
+info.calledNumber = calledNumber;
info.incoming = true;
info.dialBack = dialBack;
info.name = name;
@@ -371,9 +378,11 @@ void CallManager::startIncomingCall( const QString number,
ringTimer-start(2000);
}
-void CallManager::startIncomingCall( const QString number , const QString
name )
+void CallManager::startIncomingCall( const QString number,
+ const QString calledNumber,
+ const QString name )
{
-startIncomingCall( number, name, false );
+startIncomingCall( number, calledNumber, name, false );
}
void CallManager::hangupAll()
@@ -702,18 +711,18 @@ void CallManager::dialingToAlerting()
void CallManager::dialBack()
{
-startIncomingCall( 1234567, Alice, true );
+startIncomingCall( 1234567, 7654321, Alice, true );
}
void CallManager::dialBackWithHangup5()
{
-startIncomingCall( 1234567, Bob, true );
+startIncomingCall( 1234567, 7654321, Bob, true );
hangupTimer-start( 5000 );
}
void CallManager::dialBackWithHangup4()
{
-startIncomingCall( 1234567, Mallory, true );
+startIncomingCall( 1234567, 7654321, Mallory, true );
hangupTimer-start( 4000 );
}
diff --git a/src/callmanager.h b/src/callmanager.h
index f29bdce..90cb9bd 100644
--- a/src/callmanager.h
+++ b/src/callmanager.h
@@ -39,6 +39,7 @@ struct CallInfo
int id;
CallState state;
QString number;
+QString calledNumber;
boolincoming;
booldialBack;
QString name;
@@ -94,9 +95,10 @@ public:
public slots:
// Start an incoming call simulation.
-void startIncomingCall( const QString number, const QString name,
- bool dialBack );
-void startIncomingCall( const QString number, const QString name );
+void startIncomingCall( const QString number, const QString calledNumber,
+const QString name, bool dialBack );
+void startIncomingCall( const QString number, const QString calledNumber,
+const QString name );
signals:
// Send a response to a command.
diff --git a/src/control.cpp b/src/control.cpp
index 68c5584..b70de30 100644
--- a/src/control.cpp
+++ b/src/control.cpp
@@ -119,7 +119,7 @@ Control::Control(const QString ruleFile, SimRules *sr,
QObject *parent)
SIGNAL(command(QString))
SIGNAL(variableChanged(QString,QString))
SIGNAL(switchTo(QString))
- SIGNAL(startIncomingCall(QString, QString));
+ SIGNAL(startIncomingCall(QString, QString, QString));
foreach (QByteArray sig, proxySignals)
connect(widget, sig, this, sig);
@@ -282,15 +282,19 @@ void ControlWidget::sendSMSDatagram()
void ControlWidget::sendCall()
{
QString number;
+QString calledNumber;
QString name;
if (ui-cbCaller-isChecked())
number = ui-leCaller-text();
+if (ui-cbCalledLine-isChecked())
+calledNumber = ui-leCalledLine-text();
+
if (ui-cbCallerName-isChecked())
name = ui-leCallerName-text();
-emit startIncomingCall( number, name );
+emit startIncomingCall( number, calledNumber, name );
}
void ControlWidget::handleFromData( const QString cmd )
diff --git a/src/control.h b/src/control.h
index 767baa3..2c14863