софт холд отличается от uuid_hold тем что он просто включает одной из сторон музычку...он не "оповещает" сторонучто на удержании что оно удержано ( нет никаких sendonly - recvonly)....вопрос решили исходники поковыряв....добавили в commands uuid_hold_dtmf
на обеих сторонах. Как я понял из изначального поста, у Вас проблема была именно в том, что Вы не могли после постановки клиента на холд принять с этого клиента сигнализацию (DTMF), то есть поставив на холд себя от себя клиент потом ничего сделать не может. Вот с этой позиции soft_hold проблему решает: оба канала отваливаются в music_on_hold, но при этом с обоих можно процессить пришедшее DTMF. оповещение можно отдельно прикрутить при помощи SIP INFO.
Ну такое, в общем, видимо у вас задача оличалась от того, как я её понял.