Merged revisions 287643 via svnmerge from

https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r287643 | qwell | 2010-09-20 16:29:46 -0500 (Mon, 20 Sep 2010) | 15 lines
  
  Merged revisions 287642 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ........
    r287642 | qwell | 2010-09-20 16:28:32 -0500 (Mon, 20 Sep 2010) | 8 lines
    
    Don't crash when parking a non-bridged call.
    
    (closes issue #17680)
    Reported by: jmhunter
    Patches: 
          chan_skinny-park-v1.txt uploaded by DEA (license 3)
    Tested by: jmhunter, DEA
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@287644 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Jason Parker
2010-09-20 21:30:12 +00:00
parent 2b1b1c9693
commit 27fbd5e156

View File

@@ -5164,17 +5164,21 @@ static int handle_stimulus_message(struct skinny_req *req, struct skinnysession
if ((sub && sub->owner) && (sub->owner->_state == AST_STATE_UP)){
c = sub->owner;
if (!ast_masq_park_call(ast_bridged_channel(c), c, 0, &extout)) {
snprintf(message, sizeof(message), "Call Parked at: %d", extout);
transmit_displaynotify(d, message, 10);
if (ast_bridged_channel(c)) {
if (!ast_masq_park_call(ast_bridged_channel(c), c, 0, &extout)) {
snprintf(message, sizeof(message), "Call Parked at: %d", extout);
transmit_displaynotify(d, message, 10);
} else {
transmit_displaynotify(d, "Call Park failed", 10);
}
} else {
transmit_displaynotify(d, "Call Park failed", 10);
transmit_displaynotify(d, "Call Park not available", 10);
}
} else {
transmit_displaynotify(d, "Call Park not available", 10);
}
}
break;
}
case STIMULUS_DND:
if (skinnydebug)
ast_verb(1, "Received Stimulus: DND (%d/%d)\n", instance, callreference);
@@ -6056,17 +6060,21 @@ static int handle_soft_key_event_message(struct skinny_req *req, struct skinnyse
if ((sub && sub->owner) && (sub->owner->_state == AST_STATE_UP)){
c = sub->owner;
if (!ast_masq_park_call(ast_bridged_channel(c), c, 0, &extout)) {
snprintf(message, sizeof(message), "Call Parked at: %d", extout);
transmit_displaynotify(d, message, 10);
if (ast_bridged_channel(c)) {
if (!ast_masq_park_call(ast_bridged_channel(c), c, 0, &extout)) {
snprintf(message, sizeof(message), "Call Parked at: %d", extout);
transmit_displaynotify(d, message, 10);
} else {
transmit_displaynotify(d, "Call Park failed", 10);
}
} else {
transmit_displaynotify(d, "Call Park failed", 10);
transmit_displaynotify(d, "Call Park not available", 10);
}
} else {
transmit_displaynotify(d, "Call Park not available", 10);
}
}
break;
}
case SOFTKEY_JOIN:
if (skinnydebug)
ast_verb(1, "Received Softkey Event: Join(%d/%d)\n", instance, callreference);