Writing own telnet server

I am trying to setup a telnet session on port 23

I can Initiate the server and open the port both return success

but the connect callback does nothing. My telnet client connects and that is it

relevant code is:

int ts_connect_session (unsigned int serverSessionId)

{

         TSSendString (serverSessionId,  "Hello");

                    printf("Hello Telnet

>");

                    fflush(stdout);

        return(0);

}

int ts_login_session (unsigned int serverSessionId, int user_id)

{

        return (0);

}

int ts_disconnect_session (unsigned int serverSessionId)

{

        return (0);

}

int ts_receive_data (unsigned serverSessionId, void *buf, int len, int notUsed)

{

        return (0);

}

int ts_get_buffer (unsigned serverSessionId,void **buf,int *buf_size)

{

return (0);

}

void myApplicationStart(void)

{

TS_ICONFIG_TYPE init_config;

init_config.max_entries = SERL_MAX_PORTS; //max number of telnet servers 1

TSInitServer (&init_config); //initialise the telnet server

TS_UCONFIG_TYPE user_config;

user_config.client_options = TS_ECHO;

user_config.server_options = TS_ECHO;

user_config.telnet_port = 23;

user_config.login_retries = 3;

user_config.buffer_timer = 0;

user_config.option_flag = 0;

user_config.login_callback = ts_login_session;

user_config.connect_callback = ts_connect_session;

user_config.disconnect_callback = ts_disconnect_session;

user_config.receive_callback = ts_receive_data;

user_config.getbuf_callback = ts_get_buffer;

user_config.validate_callback = NULL;

TSOpenPort (&ts_port_id, &user_config);

        for (;;)

        {

                    // my application code is here

        }

}