[asterisk-commits] murf: branch group/newcdr r170497 - in /team/group/newcdr: ./ channels/ main/
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Fri Jan 23 11:25:55 CST 2009
Author: murf
Date: Fri Jan 23 11:25:54 2009
New Revision: 170497
URL: http://svn.digium.com/svn-view/asterisk?view=rev&rev=170497
Log:
Merged revisions 170393,170457,170460,170463 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk
................
r170393 | mmichelson | 2009-01-23 08:44:27 -0700 (Fri, 23 Jan 2009) | 36 lines
Merged revisions 170392 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r170392 | mmichelson | 2009-01-23 09:40:39 -0600 (Fri, 23 Jan 2009) | 28 lines
Fix broken call pickup
There was a subtle change in ast_do_masquerade which
resulted in failed attempts to pickup calls. The problem
was that the value of the AST_FLAG_OUTGOING flag was
copied from the clone to the original channel. In the case
of call pickup, this meant that the AST_FLAG_OUTGOING flag
ended up being cleared on the channel that was attempting
to execute the pickup.
Because this flag was not set, when ast_read came across
an answer frame, it ignored it. The result of this was that
the calling channel was never properly answered.
This fix changes the behavior in ast_do_masquerade to set
the flags on the original channel to the union of the flags
on the clone channel. This way, if the AST_FLAG_OUTGOING
flag is set on either of the two channels involved in the
masquerade, the resulting channel will have the flag set
as well.
(closes issue #14206)
Reported by: francesco_r
Patches:
14206.patch uploaded by putnopvut (license 60)
Tested by: francesco_r, aragon, putnopvut
........
................
r170457 | dbailey | 2009-01-23 09:35:30 -0700 (Fri, 23 Jan 2009) | 5 lines
MWI messages included in CID spill was not being properly handled and prevented the call from being processed
(issue #14313)
Reported by: seandarcy
Tested by: dbailey
................
r170460 | mvanbaak | 2009-01-23 09:57:07 -0700 (Fri, 23 Jan 2009) | 8 lines
Dont clear the display of skinny phones when not needed.
(closes issue #13182)
Reported by: pj
Patches:
2009011901_dontcleardisplay.diff.txt uploaded by mvanbaak (license 7)
Tested by: mvanbaak, pj
................
r170463 | mattf | 2009-01-23 10:03:41 -0700 (Fri, 23 Jan 2009) | 1 line
We should not do restart messages if we're in PTMP mode
................
Modified:
team/group/newcdr/ (props changed)
team/group/newcdr/channels/chan_dahdi.c
team/group/newcdr/channels/chan_skinny.c
team/group/newcdr/main/channel.c
Propchange: team/group/newcdr/
------------------------------------------------------------------------------
Binary property 'branch-1.4-merged' - no diff available.
Propchange: team/group/newcdr/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Fri Jan 23 11:25:54 2009
@@ -1,1 +1,1 @@
-/trunk:1-170361
+/trunk:1-170463
Modified: team/group/newcdr/channels/chan_dahdi.c
URL: http://svn.digium.com/svn-view/asterisk/team/group/newcdr/channels/chan_dahdi.c?view=diff&rev=170497&r1=170496&r2=170497
==============================================================================
--- team/group/newcdr/channels/chan_dahdi.c (original)
+++ team/group/newcdr/channels/chan_dahdi.c Fri Jan 23 11:25:54 2009
@@ -7554,16 +7554,16 @@
/* If generated using Ring Pulse Alert, then ring has been answered as a call and needs to be hungup */
if (p->mwimonitor_rpas) {
ast_hangup(chan);
- }
- return NULL;
+ return NULL;
+ }
} else if (flags & CID_NOMSGWAITING) {
ast_log(LOG_NOTICE, "MWI: Channel %d no message waiting!\n", p->channel);
notify_message(p->mailbox, 0);
/* If generated using Ring Pulse Alert, then ring has been answered as a call and needs to be hungup */
if (p->mwimonitor_rpas) {
ast_hangup(chan);
- }
- return NULL;
+ return NULL;
+ }
}
ast_setstate(chan, AST_STATE_RING);
@@ -10803,7 +10803,7 @@
numdchans = i;
time(&t);
ast_mutex_lock(&pri->lock);
- if (pri->switchtype != PRI_SWITCH_GR303_TMC && (pri->resetinterval > 0)) {
+ if ((pri->switchtype != PRI_SWITCH_GR303_TMC) && (pri->sig != SIG_BRI_PTMP) && (pri->resetinterval > 0)) {
if (pri->resetting && pri_is_up(pri)) {
if (pri->resetpos < 0)
pri_check_restart(pri);
Modified: team/group/newcdr/channels/chan_skinny.c
URL: http://svn.digium.com/svn-view/asterisk/team/group/newcdr/channels/chan_skinny.c?view=diff&rev=170497&r1=170496&r2=170497
==============================================================================
--- team/group/newcdr/channels/chan_skinny.c (original)
+++ team/group/newcdr/channels/chan_skinny.c Fri Jan 23 11:25:54 2009
@@ -2243,6 +2243,9 @@
//req->data.clearpromptstatus.lineInstance = instance;
//req->data.clearpromptstatus.callReference = reference;
+ /* send datetime message. We have to do it here because it will clear the display on the phone if we do it elsewhere */
+ handle_time_date_req_message(NULL, d->session);
+
if (skinnydebug)
ast_verb(1, "Clearing Display\n");
} else {
@@ -2540,12 +2543,6 @@
}
ast_verb(3, "Skinny mwi_event_cb found %d new messages\n", new_msgs);
}
-}
-
-static void do_housekeeping(struct skinnysession *s)
-{
- /* Update time on device */
- handle_time_date_req_message(NULL, s);
}
/* I do not believe skinny can deal with video.
@@ -3492,6 +3489,7 @@
transmit_stopmediatransmission(d, sub);
transmit_speaker_mode(d, SKINNY_SPEAKEROFF);
transmit_ringer_mode(d, SKINNY_RING_OFF);
+ transmit_displaymessage(d, NULL, l->instance, sub->callid); /* clear display */
transmit_tone(d, SKINNY_SILENCE, l->instance, sub->callid);
/* we should check to see if we can start the ringer if another line is ringing */
}
@@ -4155,7 +4153,6 @@
return -1;
transmit_response(s->device, req);
- do_housekeeping(s);
return 1;
}
@@ -4845,10 +4842,6 @@
ast_log(LOG_WARNING, "Skinny(%s@%s-%d) channel already destroyed\n",
l->name, d->name, sub->callid);
}
- }
- /* The bit commented below gives a very occasional core dump. */
- if ((l->hookstate == SKINNY_ONHOOK) && (AST_LIST_NEXT(sub, list) /*&& !AST_LIST_NEXT(sub, list)->rtp*/)) {
- do_housekeeping(s);
}
return 1;
}
@@ -5568,7 +5561,6 @@
}
}
if ((l->hookstate == SKINNY_ONHOOK) && (AST_LIST_NEXT(sub, list) && !AST_LIST_NEXT(sub, list)->rtp)) {
- do_housekeeping(s);
ast_devstate_changed(AST_DEVICE_NOT_INUSE, "Skinny/%s@%s", l->name, d->name);
}
}
Modified: team/group/newcdr/main/channel.c
URL: http://svn.digium.com/svn-view/asterisk/team/group/newcdr/main/channel.c?view=diff&rev=170497&r1=170496&r2=170497
==============================================================================
--- team/group/newcdr/main/channel.c (original)
+++ team/group/newcdr/main/channel.c Fri Jan 23 11:25:54 2009
@@ -4357,8 +4357,6 @@
/* XXX What about blocking, softhangup, blocker, and lock and blockproc? XXX */
/* Application and data remain the same */
/* Clone exception becomes real one, as with fdno */
- ast_copy_flags(original, clone, AST_FLAG_EXCEPTION);
- original->fdno = clone->fdno;
ast_copy_flags(original, clone, AST_FLAG_EXCEPTION | AST_FLAG_OUTGOING);
original->fdno = clone->fdno;
/* Schedule context remains the same */
More information about the asterisk-commits
mailing list