📄 voipcfg.c
字号:
#include<sys/types.h>#include<stdio.h>#include <string.h>#define PATH "/config/sip/"char AUDIO_CODEC_CURRENT[8];char DEFAULT_SIP_SERVER_PORT[8]; char OUTBOUND_PROXY_SERVER_PORT[8];char DEFAULT_RTP_RECEIVING_PORT[8]; char LOCAL_PHONE_NUMBER[20];char LOCAL_USER_NAME[20];char LOCAL_USER_PASSWORD[20]; char SIP_SERVER_NAME[20];void read_sipWebconf( void ); main(){ read_sipWebconf( ); printf("Contenttype:text/html\n\n");printf("<html><head>\n");
printf("<title>voip configure</title>\n");
printf("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\">\n");
printf("<meta http-equiv=\"pragma\" content=\"no-cache\" >\n");
printf("<style>\n");
printf("<!--\n");
printf("body { font-size: 75%; color: #003399; background-color: #FFFFFF; padding-top: 10px; padding-left: 10px; font-family: \"宋体\", \"Times New Roman\"; } \n");
printf("td { font-size: 12px; line-height: 18px; text-decoration: none; }\n");
printf("input.button { font-size: 12px; font-style: normal; font-weight: normal; font-variant: normal; border: 1px solid #183ead; line-height: normal; background-color: #ddddff; color: #000000; height: 18px; } \n");
printf("input.text { font-size: 12px; font-style: normal; line-height: normal; font-weight: normal; font-variant: normal; height: 18px; border: 1px solid #183ead; color: #000000; padding-right: 3px; padding-left: 3px; } \n");
printf("td.title { font-size: 12px; color: #FFFFFF; background-color: #336D2B; height: 24px; }\n");
printf("td.tail { font-size: 12px; height: 25px; }\n");
printf("td.hline { background-color: #FF9933; height: 1px; color: #FF9933; } \n");
printf("td.vline { color: #FF9933; background-color: #FF9933; width: 1px; } \n");
printf(".space { margin-top: 10px; margin-bottom: 10px; }\n");
printf("table { background-color: #CCCCFF; }\n");
printf("select.list { font-size: 12px; font-style: normal; line-height: normal; font-weight: normal; font-variant: normal; height: 18px; color: #000000; border: 1px solid #183ead; }\n");
printf("input.buttonface { font-size: 12px; font-style: normal; font-weight: normal; font-variant: normal; border: 1px solid #183ead; line-height: normal; background-color: #ddddff; color: #000000; height: 18px; } \n");
printf("td.top { font-size: 12px; line-height: 18px; text-decoration: none; vertical-align: top; }\n");
printf("input.textspecial { font-size: 12px; font-style: normal; line-height: normal; font-weight: normal; font-variant: normal; height: 18px; border: 1px solid #183ead; color: #000000; }\n");
printf("-->\n");
printf("</style>\n");
printf("</head>\n");
printf("<body> \n");
printf("<center> \n");
printf(" <form action=\"SaveVoip.cgi\" method=\"post\">\n");
printf(" <table width=\"502\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n");
printf(" <tr>\n");
printf(" <td width=\"7\" class=\"title\"><img src=\"../images/arctab.jpg\" width=\"30\" height=\"31\"></td>\n");
printf(" <td width=\"495\" align=\"left\" valign=\"middle\" class=\"title\">VOIP设置</td>\n");
printf(" </tr>\n");
printf(" <tr>\n");
printf(" <td colspan=\"2\"><table width=\"502\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n");
printf(" <tr>\n");
printf(" <td class=\"vline\" rowspan=\"15\"><br></td>\n");
printf(" <td width=\"500\"><table width=\"400\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" class=\"space\">\n");
printf(" <tr>\n");
printf(" <td>本页设置VOIP的基本参数。</td>\n");
printf(" </tr>\n");
printf(" </table>\n");
printf(" <table width=\"400\" border=\"0\" align=\"center\" class=\"space\">\n");
printf(" <tr>\n");
printf(" <td width=\"100\">音频编码格式:</td>\n");
printf(" <td><select name=\"AUDIO_CODEC_CURRENT\" class=\"list\" id=\"AUDIO_CODEC_CURRENT\" >\n");printf(" <option value=\"0\" >G711_ULAW</option>\n");printf(" <option value=\"2\" >G726</option>\n");printf(" <option value=\"4\" >G723</option>\n");printf(" <option value=\"8\" >G711_ALAW</option>\n");printf(" <option value=\"12\" >G729</option>\n");
printf(" <option value=\"18\" >G729A</option>\n");
printf(" </select>\n");
printf(" </td>\n");
printf("\n");
printf(" </tr>\n");
printf(" <tr>\n");
printf(" <td width=\"100\">SIP服务器端口:</td>\n");
printf(" <td width=\"264\"><input name=\"DEFAULT_SIP_SERVER_PORT\" type=\"text\" class=\"text\" id=\"DEFAULT_SIP_SERVER_PORT\" size=\"18\" maxlength=\"17\" value=%s></td>\n",DEFAULT_SIP_SERVER_PORT);
printf(" </tr>\n");
printf(" <tr>\n");
printf(" <td width=\"100\">外地代理服务器端口:</td>\n");
printf(" <td width=\"264\"><input name=\"OUTBOUND_PROXY_SERVER_PORT\" type=\"text\" class=\"text\" id=\"OUTBOUND_PROXY_SERVER_PORT\" size=\"18\" maxlength=\"17\" value=%s></td>\n",OUTBOUND_PROXY_SERVER_PORT);
printf(" </tr>\n");
printf(" <tr>\n");
printf(" <td width=\"100\">RTP接收端口:</td>\n");
printf(" <td width=\"264\"><input name=\"DEFAULT_RTP_RECEIVING_PORT\" type=\"text\" class=\"text\" id=\"DEFAULT_RTP_RECEIVING_PORT\" size=\"18\" maxlength=\"17\" value=%s></td>\n",DEFAULT_RTP_RECEIVING_PORT);
printf(" </tr>\n");
printf(" <tr>\n");
printf(" <td width=\"100\">本地电话号码:</td>\n");
printf(" <td width=\"264\"><input name=\"LOCAL_PHONE_NUMBER\" type=\"text\" class=\"text\" id=\"LOCAL_PHONE_NUMBER\" size=\"18\" maxlength=\"17\" value=%s></td>\n",LOCAL_PHONE_NUMBER);
printf(" </tr>\n");
printf(" <tr>\n");
printf(" <td width=\"100\">本地用户名:</td>\n");
printf(" <td width=\"264\"><input name=\"LOCAL_USER_NAME\" type=\"text\" class=\"text\" id=\"LOCAL_USER_NAME\" size=\"18\" maxlength=\"17\" value=%s></td>\n",LOCAL_USER_NAME);
printf(" </tr>\n");
printf(" <tr>\n");
printf(" <td width=\"100\">本地用户密码:</td>\n");
printf(" <td width=\"264\"><input name=\"LOCAL_USER_PASSWORD\" type=\"text\" class=\"text\" id=\"LOCAL_USER_PASSWORD\" size=\"18\" maxlength=\"17\" value=%s></td>\n",LOCAL_USER_PASSWORD);
printf(" </tr>\n");
printf("\n");
printf(" <tr>\n");
printf(" <td>SIP服务器地址:</td>\n");
printf(" <td><input name=\"SIP_SERVER_NAME\" type=\"text\" class=\"text\" id=\"SIP_SERVER_NAME\" size=\"18\" maxlength=\"17\" value=%s></td>\n",SIP_SERVER_NAME);
printf(" </tr>\n");
printf("\n");
printf(" </table>\n");
printf(" <table width=\"400\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" class=\"space\">\n");
printf(" <tr>\n");
printf(" <td></td>\n");
printf(" </tr>\n");
printf(" </table>\n");
printf(" <td></td>\n");
printf(" <td class=\"vline\" rowspan=\"15\"><br></td>\n");
printf(" </tr>\n");
printf(" <tr>\n");
printf(" <td class=\"hline\"></td>\n");
printf(" </tr>\n");
printf(" <tr>\n");
printf(" <td height=\"30\" class=\"tail\"> \n");
printf(" <input name=\"Save\" type=\"submit\" class=\"button\" id=\"Save\" value=\"保 存\">\n");
printf(" \n");
printf(" <input name=\"reset\" type=\"reset\" class=\"button\" id=\"reset\" value=\"重 填\" >\n");
printf(" </td>\n");
printf(" </tr>\n");
printf(" <tr>\n");
printf(" <td class=\"hline\"></td>\n");
printf(" </tr>\n");
printf(" </table></td>\n");
printf(" </tr>\n");
printf(" </table>\n");
printf(" </form>\n");
printf("</center>\n");
printf("</body>\n");
printf("</html>\n");fflush(stdout);}//read configure file by deng donghua/****************************************************************/ void read_sipWebconf( void ) { FILE *fconf; //configure file char buf[160]; //buffer to read a line text char *p0 = NULL; //pointer to scan each char char p1[30]; //name of variance char p2[20]; //value of variance short int find; //the position flag of pointer p0 short int i; //open configure file char filename[100]; strcpy(filename,PATH); strcat(filename,"sip.webconf"); if ((fconf= fopen(filename, "r")) == NULL) { printf("Error in open configure file.\n"); exit(0); }; /* scan each row */ while ((fgets(buf, sizeof(buf), fconf)) != NULL) { find=0; i=0; /* scan each char */ for (p0=buf; *p0 != '\0' ; p0++) { if (*p0 == '#' ) break; // else if (find==0 ) //in the first space {if (!isspace(*p0) && *p0 != '#') { *(p1+i++)= *p0; find=1;} else continue; } else if (find==1 ) //in the first word (variance) { if (!isspace(*p0) && (*p0!='=')) *(p1+i++)= *p0; else {*(p1+i++)='\0'; find=2;i=0; continue; } } else if (find==2 ) //in the middle space and "=" { if (!isspace(*p0) && (*p0!='=') ) { *(p2+i++)= *p0;find=3;} else continue; } else if (find==3 )//in the second word (value) { if (!isspace(*p0)&& (*p0!='=') ) *(p2+i++)= *p0; else { *(p2+i++)='\0'; break;} } else break; }//end for if (strcmp(p1,"AUDIO_CODEC_CURRENT")==0) { strcpy(AUDIO_CODEC_CURRENT,p2); continue; } if (strcmp(p1,"DEFAULT_SIP_SERVER_PORT")==0) { strcpy(DEFAULT_SIP_SERVER_PORT,p2); continue; } if (strcmp(p1,"OUTBOUND_PROXY_SERVER_PORT")==0) { strcpy(OUTBOUND_PROXY_SERVER_PORT,p2); continue; } if (strcmp(p1,"DEFAULT_RTP_RECEIVING_PORT")==0) { strcpy(DEFAULT_RTP_RECEIVING_PORT,p2); continue; } if (strcmp(p1,"LOCAL_PHONE_NUMBER")==0) { strcpy(LOCAL_PHONE_NUMBER,p2); continue; } if (strcmp(p1,"LOCAL_USER_NAME")==0) { strcpy(LOCAL_USER_NAME,p2); continue; } if (strcmp(p1,"LOCAL_USER_PASSWORD")==0) { strcpy(LOCAL_USER_PASSWORD,p2); continue; } if (strcmp(p1,"SIP_SERVER_NAME")==0) { strcpy(SIP_SERVER_NAME,p2); continue; } p1[30] ='\0'; //clear array p1 p2[20] ='\0'; //clear array p2 }//end while printf("AUDIO_CODEC_CURRENT=%d",AUDIO_CODEC_CURRENT); }/****************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -