git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5216 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
Michael Jerris 2007-05-25 16:14:31 +00:00
parent 5f921c6d20
commit aa286db7bd

View File

@ -140,7 +140,7 @@ static int netfd = -1;
/* Max timeouts */
static int maxretries = 10;
/* configurable jitterbuffer options */
/* configurable jitterbuffer options */
static long jb_target_extra = -1;
static int do_shutdown = 0;
@ -948,11 +948,11 @@ int iax_shutdown(void)
return do_shutdown++;
}
void iax_set_jb_target_extra( long value )
{
/* store in jb_target_extra, a static global */
jb_target_extra = value ;
}
void iax_set_jb_target_extra( long value )
{
/* store in jb_target_extra, a static global */
jb_target_extra = value ;
}
int iax_init(char *ip, int preferredportno)
{
@ -979,33 +979,33 @@ int iax_init(char *ip, int preferredportno)
return -1;
}
if (preferredportno == 0) preferredportno = IAX_DEFAULT_PORTNO;
if (preferredportno < 0) preferredportno = 0;
sin.sin_family = AF_INET;
sin.sin_addr.s_addr = 0;
sin.sin_port = htons((short)preferredportno);
if (bind(netfd, (struct sockaddr *) &sin, sizeof(sin)) < 0)
{
#if defined(WIN32) || defined(_WIN32_WCE)
if (WSAGetLastError() == WSAEADDRINUSE)
#else
if (errno == EADDRINUSE)
#endif
{
/*the port is already in use, so bind to a free port chosen by the IP stack*/
DEBU(G "Unable to bind to preferred port - port is in use. Trying to bind to a free one");
sin.sin_port = htons((short)0);
if (bind(netfd, (struct sockaddr *) &sin, sizeof(sin)) < 0)
{
IAXERROR "Unable to bind UDP socket\n");
return -1;
}
} else
{
IAXERROR "Unable to bind UDP socket\n");
return -1;
}
if (preferredportno == 0) preferredportno = IAX_DEFAULT_PORTNO;
if (preferredportno < 0) preferredportno = 0;
sin.sin_family = AF_INET;
sin.sin_addr.s_addr = 0;
sin.sin_port = htons((short)preferredportno);
if (bind(netfd, (struct sockaddr *) &sin, sizeof(sin)) < 0)
{
#if defined(WIN32) || defined(_WIN32_WCE)
if (WSAGetLastError() == WSAEADDRINUSE)
#else
if (errno == EADDRINUSE)
#endif
{
/*the port is already in use, so bind to a free port chosen by the IP stack*/
DEBU(G "Unable to bind to preferred port - port is in use. Trying to bind to a free one");
sin.sin_port = htons((short)0);
if (bind(netfd, (struct sockaddr *) &sin, sizeof(sin)) < 0)
{
IAXERROR "Unable to bind UDP socket\n");
return -1;
}
} else
{
IAXERROR "Unable to bind UDP socket\n");
return -1;
}
}
sinlen = sizeof(sin);
if (getsockname(netfd, (struct sockaddr *) &sin, &sinlen) < 0) {
@ -1587,12 +1587,12 @@ static struct iax_event *handle_event(struct iax_event *event)
iax_send_pong(event->session, event->ts);
iax_event_free(event);
break;
case IAX_EVENT_POKE:
event->etype = IAX_EVENT_PONG;
iax_send_pong(event->session, event->ts);
iax_destroy(event->session);
iax_event_free(event);
break;
case IAX_EVENT_POKE:
event->etype = IAX_EVENT_PONG;
iax_send_pong(event->session, event->ts);
iax_destroy(event->session);
iax_event_free(event);
break;
default:
return event;
}
@ -2702,9 +2702,9 @@ static struct iax_event *iax_header_to_event(struct iax_session *session,
e->ts = ts;
e = schedule_delivery(e, ts, updatehistory);
break;
case IAX_COMMAND_POKE:
e->etype = IAX_EVENT_POKE;
e->ts = ts;
case IAX_COMMAND_POKE:
e->etype = IAX_EVENT_POKE;
e->ts = ts;
break;
case IAX_COMMAND_PING:
/* PINGS and PONGS don't get scheduled; */