Replacement of NRF_SDH library to SoftDevice basic APIs

Hi,

I am using BLE_Blinky_Peripheral example from SDK 15.3.0 with s112 softdevice.
I want to use basic softdevice APIs instead of nrf_sdh libraries for enabling BLE stack and Softdevice.
I have replaced few functions.

Proble-
1. I am able to advertise Peripheral, Not able to connect.
2. Found issue in registering BLE_EVT_HANDLER.
3. Any SoftDevice API to register handler?

Please help me.

1. BLE_STACK_INIT()

{

     nrf_clock_lf_cfg_t const clock_lf_cfg =
    {
       .source = NRF_SDH_CLOCK_LF_SRC,
       .rc_ctiv = NRF_SDH_CLOCK_LF_RC_CTIV,
       .rc_temp_ctiv = NRF_SDH_CLOCK_LF_RC_TEMP_CTIV,
       .accuracy = NRF_SDH_CLOCK_LF_ACCURACY
    };

    err_code = sd_softdevice_enable(&clock_lf_cfg, SoftDeviceAssertHandler);

    //enable BLE radio
   uint32_t ram_start = RAM_ADDRESS;

   err_code = sd_ble_enable(&ram_start);

}

2. Soft Device assert handler

void SoftDeviceAssertHandler(uint32_t programCounter,
uint32_t lineNum,
uint32_t fileName)
{
NRF_LOG_INFO("0x%x %d %s", programCounter, lineNum, fileName);
}

3. Advertising:

static void advertising_start(void)
{
ret_code_t err_code;

err_code = sd_ble_gap_adv_start(m_adv_handle, BLE_CONN_CFG_TAG_DEFAULT);
APP_ERROR_CHECK(err_code);

bsp_board_led_on(ADVERTISING_LED);
}