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