⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 serverxml.pm

📁 SIP(Session Initiation Protocol)是由IETF定义
💻 PM
字号:
#!/usr/bin/perl# ====================================================================# The Vovida Software License, Version 1.0 # # Copyright (c) 2002 Vovida Networks, Inc.  All rights reserved.# # Redistribution and use in source and binary forms, with or without# modification, are permitted provided that the following conditions# are met:# # 1. Redistributions of source code must retain the above copyright#    notice, this list of conditions and the following disclaimer.# # 2. Redistributions in binary form must reproduce the above copyright#    notice, this list of conditions and the following disclaimer in#    the documentation and/or other materials provided with the#    distribution.# # 3. The names "VOCAL", "Vovida Open Communication Application Library",#    and "Vovida Open Communication Application Library (VOCAL)" must#    not be used to endorse or promote products derived from this#    software without prior written permission. For written#    permission, please contact vocal@vovida.org.# # 4. Products derived from this software may not be called "VOCAL", nor#    may "VOCAL" appear in their name, without prior written#    permission of Vovida Networks, Inc.# # THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND# NON-INFRINGEMENT ARE DISCLAIMED.  IN NO EVENT SHALL VOVIDA# NETWORKS, INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT DAMAGES# IN EXCESS OF $1,000, NOR FOR ANY INDIRECT, INCIDENTAL, SPECIAL,# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE# USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH# DAMAGE.# # ====================================================================# # This software consists of voluntary contributions made by Vovida# Networks, Inc. and many individuals on behalf of Vovida Networks,# Inc.  For more information on Vovida Networks, Inc., please see# <http://www.vovida.org/>.# $Id: serverxml.pm,v 1.1.2.2 2003/02/14 01:45:43 chok Exp $package vprov::serverxml;use nanoxml;BEGIN {    use Exporter;#    our ($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS);    # if using RCS/CVS, this may be preferred    $VERSION = do { my @r = (q$Revision: 1.1.2.2 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r }; # must be all one line, for MakeMaker    @ISA         = qw(Exporter);    @EXPORT      = qw(		      &create_ipplan_xml		      &create_digitalplan_xml		      &create_gw_marshal_xml		      );    %EXPORT_TAGS = ( );     # eg: TAG => [ qw!name1 name2! ],        # your exported package globals go here,    # as well as any optionally exported functions    @EXPORT_OK   = qw();}#our @EXPORT_OK;chomp($hostname = `hostname`);($junk1,$junk2,$junk3,$junk4,@addr) = gethostbyname($hostname);($a,$b,$c,$d) = unpack('C4', $addr[0]);$local_ip = "$a.$b.$c.$d";sub create_ipplan_xml {    return <<EOL<ipplan><key index="0" value="^sip:7000"><contact value="sip:7000\@${local_ip}:5110;user=phone"></contact></key><key index="1" value="^sip:9.*"><contact value="sip:\$USER\@${local_ip}:5065;user=phone"></contact></key><key index="2" value="^sip:[0-9][0-9][0-9][0-9][0-9][0-9]*"><contact value="sip:9\$USER\@${local_ip}:5065;user=phone"></contact></key><key index="3" value="^sip:(.*)@"><contact value="sip:\$1\@${local_ip}:5064"></contact></key></ipplan>EOL    ;}sub create_digitalplan_xml {    return <<EOL<digitalplan><key index="0" value="^sip:7000"><contact value="sip:7000\@${local_ip}:5110;user=phone"></contact></key><key index="1" value="^sip:9.*"><contact value="sip:\$USER\@${local_ip}:5065;user=phone"></contact></key><key index="2" value="^sip:[0-9][0-9][0-9][0-9][0-9][0-9]*"><contact value="sip:9\$USER\@${local_ip}:5065;user=phone"></contact></key></digitalplan>EOL  ;}sub create_gw_marshal_xml {    my($params) = @_;    my($gateway) = $$params{gw_location};    my($gw_host);    my($gw_port) = 5060;    if($gateway =~ s/\:([0-9]+)//) {	$gw_port = $1;    }    $gw_host = $gateway;    return <<EOL<marshalServer host="${local_ip}" port="5065"><type value="Gateway"></type><group value="GatewayGroup"></group><gateway host="${gw_host}" port="${gw_port}"></gateway><noResponseTimer value="100"></noResponseTimer><allowUnbillableCalls value="true"></allowUnbillableCalls><allowUnknownCallers value="false"></allowUnknownCallers><conferenceBridge><bridgeNumber value="none"></bridgeNumber><accessList></accessList></conferenceBridge></marshalServer>EOL  ;}return 1;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -