Thanks for your help. Well, as you said and as i see, in linux it isn't possible use a port (or same socket) for connect that it is on listening status. :'(
So, now, my problem is another (sorry if i'm been clear on previous email/message, my english isn't so perfect!), not if i can force a dedicated source port for do a connect, but if i can use a tport that is already used... let me try to explain my scenario: 1. ------------------------- Peer A: Listen on port 5060. Peer B: Listen on port 5060 2. ------------------------- Peer A: Do a connect (not from source port 5060 because it isn't possible :'( but from port 10000 for example) to Peer B:5060 for a register sip call. Peer B: Accept connect from Peer A and begin a transaction. 3. -------------------------- Peer A: Send a SIP Register message through NTA calls Peer B: Manage register message .... n. -------------------------------- Peer B: Want send INVITE (sip message) to Peer A (normally this is done by NTA module through a ephimeral port. While i want use same tport transaction (some socket:port) used on previous communication beetween Peer A and B. So, Peer B send INVITE sip message from port 5060 to Peer A (port 10000) through socket (tport) obtained on accept of connection from Peer A. It is this possible? In little words i want use outbounding features describe on this draft http://tools.ietf.org/id/draft-ietf-sip-outbound with NTA and tport modules? I must use nta_incoming_transport function for recover tport_t of accepted connection? Still, thanks. Ge@@ru On Wed, 2007-10-10 at 15:28 +0300, Pekka Pessi wrote: > 2007/10/8, Ge@@ru <[EMAIL PROTECTED]>: > > i have some questions about use of outbound mode. > > Usually when an user agent send a register message open an ephemeral > > port and send message to port 5060. With sofia-sip library it is > > possible use port 5060 (as source port) to send message? > > As I mentioned in IRC that it is not possible to do that currently but > you have to modify the tport module (and then re-compile the library). > > You can try to modify the function tport_tcp_init_secondary() in > tport_type_tcp.c, the function is called after the socket used to make > the connection is created but before connect() is called. So, you > check that accepted is zero and then call bind() with suitable port > number. (Or you can just not to zero susa.su_port before bind in > tport_base_connect() in tport.c, and see what happens).. > > The problem here is that the socket implementations vary on different > platforms, so many simply won't let you bind() a socket to same port > that you are listen()ing. > > > Still, to enable outbound traffic i must use NUTAG_OUTBOUND tag of > > nua_register function? > > ??? > ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ Sofia-sip-devel mailing list Sofia-sip-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sofia-sip-devel