summaryrefslogtreecommitdiffstats
path: root/dss1.cpp
diff options
context:
space:
mode:
authorAndreas Eversberg2010-05-23 13:46:26 +0200
committerAndreas Eversberg2010-05-23 13:46:26 +0200
commitbe404a4926ba076c5e2019b88e790e3f14ff11ff (patch)
tree4c2ac7cae02f5def823ac7bbdad5661f3b20d95f /dss1.cpp
parentFixed forwarding of sending-complete information. (diff)
downloadlcr-be404a4926ba076c5e2019b88e790e3f14ff11ff.tar.gz
lcr-be404a4926ba076c5e2019b88e790e3f14ff11ff.tar.xz
lcr-be404a4926ba076c5e2019b88e790e3f14ff11ff.zip
Added Progress messages. (receive only)
Diffstat (limited to 'dss1.cpp')
-rw-r--r--dss1.cpp35
1 files changed, 35 insertions, 0 deletions
diff --git a/dss1.cpp b/dss1.cpp
index d1430dc..c80a672 100644
--- a/dss1.cpp
+++ b/dss1.cpp
@@ -801,6 +801,13 @@ void Pdss1::setup_acknowledge_ind(unsigned int cmd, unsigned int pid, struct l3_
dec_ie_progress(l3m, &coding, &location, &progress);
end_trace();
+ if (progress >= 0) {
+ message = message_create(p_serial, ACTIVE_EPOINT(p_epointlist), PORT_TO_EPOINT, MESSAGE_PROGRESS);
+ message->param.progressinfo.progress = progress;
+ message->param.progressinfo.location = location;
+ message_put(message);
+ }
+
/* process channel */
ret = received_first_reply_to_setup(cmd, channel, exclusive);
if (ret < 0) {
@@ -850,6 +857,13 @@ void Pdss1::proceeding_ind(unsigned int cmd, unsigned int pid, struct l3_msg *l3
dec_ie_redir_dn(l3m, &type, &plan, &present, (unsigned char *)redir, sizeof(redir));
end_trace();
+ if (progress >= 0) {
+ message = message_create(p_serial, ACTIVE_EPOINT(p_epointlist), PORT_TO_EPOINT, MESSAGE_PROGRESS);
+ message->param.progressinfo.progress = progress;
+ message->param.progressinfo.location = location;
+ message_put(message);
+ }
+
ret = received_first_reply_to_setup(cmd, channel, exclusive);
if (ret < 0) {
message = message_create(p_serial, ACTIVE_EPOINT(p_epointlist), PORT_TO_EPOINT, MESSAGE_RELEASE);
@@ -926,6 +940,13 @@ void Pdss1::alerting_ind(unsigned int cmd, unsigned int pid, struct l3_msg *l3m)
dec_ie_redir_dn(l3m, &type, &plan, &present, (unsigned char *)redir, sizeof(redir));
end_trace();
+ if (progress >= 0) {
+ message = message_create(p_serial, ACTIVE_EPOINT(p_epointlist), PORT_TO_EPOINT, MESSAGE_PROGRESS);
+ message->param.progressinfo.progress = progress;
+ message->param.progressinfo.location = location;
+ message_put(message);
+ }
+
/* process channel */
ret = received_first_reply_to_setup(cmd, channel, exclusive);
if (ret < 0) {
@@ -1099,6 +1120,13 @@ void Pdss1::disconnect_ind(unsigned int cmd, unsigned int pid, struct l3_msg *l3
location = LOCATION_PRIVATE_LOCAL;
}
+ if (progress >= 0) {
+ message = message_create(p_serial, ACTIVE_EPOINT(p_epointlist), PORT_TO_EPOINT, MESSAGE_PROGRESS);
+ message->param.progressinfo.progress = progress;
+ message->param.progressinfo.location = proglocation;
+ message_put(message);
+ }
+
/* release if remote sends us no tones */
if (!p_m_mISDNport->earlyb) {
l3_msg *l3m;
@@ -1639,6 +1667,13 @@ void Pdss1::progress_ind(unsigned int cmd, unsigned int pid, struct l3_msg *l3m)
l1l2l3_trace_header(p_m_mISDNport, this, L3_PROGRESS_IND, DIRECTION_IN);
dec_ie_progress(l3m, &coding, &location, &progress);
end_trace();
+
+ if (progress >= 0) {
+ message = message_create(p_serial, ACTIVE_EPOINT(p_epointlist), PORT_TO_EPOINT, MESSAGE_PROGRESS);
+ message->param.progressinfo.progress = progress;
+ message->param.progressinfo.location = location;
+ message_put(message);
+ }
}