Index: channels/chan_skinny.c =================================================================== --- channels/chan_skinny.c (revision 89505) +++ channels/chan_skinny.c (working copy) @@ -3960,13 +4271,24 @@ case STIMULUS_CALLPARK: if (skinnydebug) ast_verbose("Received Stimulus: Park Call(%d/%d)\n", instance, callreference); - /* XXX Park the call */ + int extout; + char message[32]; + + 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(s, message, 10); + } else { + transmit_displaynotify(s, "Call Park failed", 10); + } + } else { + transmit_displaynotify(s, "Call Park not available", 10); + } break; @@ -4894,7 +5330,20 @@ case SOFTKEY_PARK: if (skinnydebug) ast_verbose("Received Softkey Event: Park Call(%d/%d)\n", instance, callreference); - /* XXX Park the call */ + int extout; + char message[32]; + + 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(s, message, 10); + } else { + transmit_displaynotify(s, "Call Park failed", 10); + } + } else { + transmit_displaynotify(s, "Call Park not available", 10); + } break; case SOFTKEY_JOIN: if (skinnydebug)