Если вам нужно это сделать, вам, как правило, лучше изменить значение по умолчанию на какое-то часовое значение (NULL часто хорошо работает в хранимых процедурах в БД), а также добавить некоторую логику в процедуру, чтобы установить старое значение по умолчанию (в данном случае 15), если получен NULL.
Таким образом, вы получаете преимущество от значения по умолчанию и возможность узнать, что было передано.
UPDATE
Если нет никакого возможного дозорного значения - скажем, потому что параметр очень ограничен, где все возможные входные данные являются допустимыми, тогда вам придется либо сделать какой-то внутренний анализ стека, либо изменить сигнатуру функции.
Если вы можете изменить вызывающий код, то сделайте процедуру с параметром по умолчанию фактически другой процедурой , которая затем вызовет вашу оригинальную процедуру с установленным по умолчанию значением.