aboutsummaryrefslogtreecommitdiffstats
path: root/addons/ooh323c/src/ooSocket.c
diff options
context:
space:
mode:
authormay <may@f38db490-d61c-443f-a65b-d21fe96a405b>2010-03-14 14:42:59 +0000
committermay <may@f38db490-d61c-443f-a65b-d21fe96a405b>2010-03-14 14:42:59 +0000
commitb13cd7944005fcb4d2a71b489267b1ddf262a816 (patch)
treed32d83fa23c3d5dccbf98b37a0a25256fe550b72 /addons/ooh323c/src/ooSocket.c
parentc85a8686506e39ab038b347052279d09d4a7437e (diff)
generate roundtrip delay requests and responses
added response to roundtrip delay requests from opposite side added roundtrip delay request sending to opposite side after answer, added options for sending request (interval between request and count of unreplied requests before forced call hangup) (closes issue #16976) Reported by: vmikhelson Patches: rtdr-1.6.0-2.patch uploaded by may213 (license 454) Tested by: vmikhelson, may213 git-svn-id: http://svn.digium.com/svn/asterisk/trunk@252277 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'addons/ooh323c/src/ooSocket.c')
-rw-r--r--addons/ooh323c/src/ooSocket.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/addons/ooh323c/src/ooSocket.c b/addons/ooh323c/src/ooSocket.c
index 590536550..7c1b000a4 100644
--- a/addons/ooh323c/src/ooSocket.c
+++ b/addons/ooh323c/src/ooSocket.c
@@ -611,6 +611,7 @@ int ooSocketGetInterfaceList(OOCTXT *pctxt, OOInterface **ifList)
struct ifconf ifc;
int ifNum;
OOInterface *pIf=NULL;
+ struct sockaddr_in sin;
OOTRACEDBGA1("Retrieving local interfaces\n");
if(ooSocketCreateUDP(&sock)!= ASN_OK)
@@ -686,7 +687,8 @@ int ooSocketGetInterfaceList(OOCTXT *pctxt, OOInterface **ifList)
memFreePtr(pctxt, pIf);
continue;
}
- strcpy(addr, ast_inet_ntoa(((struct sockaddr_in*)&ifReq.ifr_addr)->sin_addr));
+ memcpy(&sin, &ifReq.ifr_addr, sizeof(struct sockaddr_in));
+ strcpy(addr, ast_inet_ntoa(sin.sin_addr));
OOTRACEDBGA2("\tIP address is %s\n", addr);
pIf->addr = (char*)memAlloc(pctxt, strlen(addr)+1);
if(!pIf->addr)
@@ -709,7 +711,8 @@ int ooSocketGetInterfaceList(OOCTXT *pctxt, OOInterface **ifList)
memFreePtr(pctxt, pIf);
continue;
}
- strcpy(mask, ast_inet_ntoa(((struct sockaddr_in *)&ifReq.ifr_netmask)->sin_addr));
+ memcpy(&sin, &ifReq.ifr_netmask, sizeof(struct sockaddr_in));
+ strcpy(mask, ast_inet_ntoa(sin.sin_addr));
OOTRACEDBGA2("\tMask is %s\n", mask);
pIf->mask = (char*)memAlloc(pctxt, strlen(mask)+1);
if(!pIf->mask)