<div dir="ltr"><div>i am building a proof of concept for a new module, </div><div><br></div><div>my first step was to create a socket to listen to, accept connections,</div><div>show remote IP, accept data and print it in asterisk console.</div><div><br></div><div>so far i am able to load, unload, setup the socket with a few lines of code.</div><div>then i got stuck. any pointers?</div><div><br></div><div>here is what i have so far:</div><div><br></div><div><div>static struct ast_tcptls_session_args desc = {</div><div>        .accept_fd = -1,</div><div>        .master = AST_PTHREADT_NULL,</div><div>        .tls_cfg = NULL,</div><div>        .poll_timeout = 5000,   /* wake up every 5 seconds */</div><div>        .periodic_fn = cleanup,</div><div>        .name = "Control Module",</div><div>        .accept_fn = ast_tcptls_server_root,    /* thread doing the accept() */</div><div>        .worker_fn = session_do,        /* thread handling the session */</div><div>};</div></div><div><br></div><div><div>static int load_module(void)</div><div>{</div><div>        struct ast_sockaddr bindaddr;</div><div>        ast_sockaddr_parse(&bindaddr, "<a href="http://0.0.0.0:2223">0.0.0.0:2223</a>", 0);</div><div>        ast_sockaddr_copy(&desc.local_address, &bindaddr);</div><div>        ast_tcptls_server_start(&desc);</div><div><br></div><div>        return AST_MODULE_LOAD_SUCCESS;</div><div>}</div></div><div><br></div><div>question:</div><div>what would be the general flow of session_do() in this scenario?</div><div><br></div><div><br></div><br clear="all"><div><div class="gmail_signature">Kelvin Chua</div></div>
</div>