asterisk设置呼叫队列

笑向天 发表于 2008-05-09 15:40:58

进行一个呼叫队列,就必须要进行设置拨号规则.

一个call建立到平台时,需要找相应的Context(拨号规则,没有拨号规则的是不允许进行呼叫的),所以在建立终端就。必须指定相应的context.
第一步:
        使用freepbx建立终端20001,20002,20003。用freepbx建立的默认context是 from-internal。建立完成之后.需要允许这三个终端进行拨打电话
        故打开extensions.conf。修改  [from-internal] context
        增加
        exten=>_2XXXX,1,Dial(SIP/${EXTEN})
        此句代码意思: 呼入终端 _2XXXX 以2开头的5位号码认可
       
第二步:增加Agent ,每个座席被认为是一个Agent
                修改agents.conf。
                增加
                agent => 20003,20003,agents1
                agent => 20002,20002,agents2
                agent => 20001,20001,agents3       
                有三个参数,第一个参数是座席号码,第二个参数是密码,第三个参数是用户名
               
第三步,增加队列
               
                修改queues.conf,增加一个队列
               
               
                [gmengqueue]
                music=default
                strategy=ringall
                timeout=15
                retry=5
                wrapuptime=0
                maxlen = 0
                announce-frequency = 0
                announce-holdtime = no
                member => Agent/20001
                member => Agent/20002
                member => Agent/20003
               
                这个队列中有三个座席20001,20002,20003
               
第四步:设置登录.20001是一个终端,同时也是一个座席,登录了终端并不一定会登录座席.
                20001登录之后,需要拨打一个固定号码去登录座席。
                修改    extensions.conf
                增加
                exten=>1000,1,AgentCallbackLogin(||${CALLERID}@from-internal)
                exten=>1001,1,AgentCallbackLogin(||l)           
               
                故拨打20001拨打10000号后会有语音提示 进行登录座席,可惜是英文的。真正运营的时候需要进行一下本地化,
                先提示让你输入号码,输入20001#,输入密码20001#.第三个参数没有听清楚,但也输入20001#也是没有问题的
               
                现在20001注册座席成功了
               
第5步,设置拨打方案.
                一个电话打入,首先是接通,然后播放音乐等待座席选择。使用如下设置
               
                exten=>8000,1,Answer
                exten=>8000,2,Ringing
                exten=>8000,3,Wait(2)
                exten=>8000,4,Queue(gmengqueue)
                exten=>8000,5,Hungup
               
这样一个完整的呼叫队列方案完成了

-------------------------------
附:
-----
extensions.conf

        [from-internal]

exten=>1000,1,AgentCallbackLogin(||${CALLERID}@from-internal)
exten=>1110,1,AgentCallbackLogin(||l)

exten=>_2XXXX,1,Dial(SIP/${EXTEN})

exten=>8000,1,Answer
exten=>8000,2,Ringing
exten=>8000,3,Wait(2)
exten=>8000,4,Queue(gmengqueue)
exten=>8000,5,Hungup
-------
agnets.conf

autologoff=15
wrapuptime=5000
ackcall=no

group=1

agent => 20003,20003,agents1
agent => 20002,20002,agents2
agent => 20001,20001,agents3

------------
queues.conf

[gmengqueue]
music=default
strategy=ringall
timeout=15
retry=5
wrapuptime=0
maxlen = 0
announce-frequency = 0
announce-holdtime = no
member => Agent/20001
member => Agent/20002
member => Agent/20003
--------------------------------------------------

                           

               

                               
       
       

信令网络层协议Q.931

笑向天 发表于 2008-05-09 15:40:01

信令网络层协议Q.931

www.OpenVoIP.cn   2005-12-13 10:15:25  来源:本站原创  作者:

  Q.931,作为电信体系的网络层协议,主要为 ISDN 提供呼叫建立及维护和终止两设备间的逻辑网络连接。Q.931 是电信体系网络层(第三层)协议之一,由 ITU Q 系列 Q.930-931 文件详细说明。

  在第三层呼叫建立期间,有三方参与发送和接收信息:

  • 呼叫方,
  • ISDN 交换机,
  • 接收方。

  下面是一个关于呼叫设置步骤的例子:

  1. 呼叫方发送一个建立呼叫信息(SETUP)给交换机;
  2. 如果 SETUP 通过,交换机发送一个 CALL PROCeeding 信息给呼叫方,并发送一个 SETUP 信息给接收方;
  3. 接收方收到 SETUP 。如果该信息正常,它就振铃电话并发送一个 ALERTING 信息给交换机;
  4. 交换机转发该 ALERTING 信息给呼叫方;
  5. 当接收方应答呼叫后,就发送一个 CONNECT 信息给交换机;
  6. 交换机转发该 CONNECT 信息给呼叫方;
  7. 呼叫方发送一个 CONNECT 响应信息给交换机;
  8. 交换机转发该 CONNECT 响应信息给接收方;
  9. 呼叫方发送 CONNECT ACKnowledge 信息到交换机;
  10. 交换机转发该信息到接受方;
  11. 完成。连接建立成功。

  ISDN 设备具有的服务和特征在可选字段业务预置文件 ID SPID)中规定,但它们只能在呼叫建立之前的设备初始化时期被访问。SPID 的一般格式是 ISDN 线路的10位数字电话号码,并具有前缀和后缀以识别在线特征,但其格式也可由电信公司决定。

协议结构

  Information Field Structure ― Information Field 是可变长字段,包括 Q.931 协议数据:

1

2

3

4

5

6

7

8

Protocol Discriminator

0

0

0

0

Length of CRV

Call Reference Value (1 or 2 octets)

0

Message Type

Mandatory & Optional Information Elements (variable)

 

·  Protocol Discriminator 1 octet识别第3层协议。如果是 Q.931 头,该值恒为0816

·  Length 1 octet表示下一字段即 CRV 的长度。

·  Call Reference Value CRV)(1或者2 octet唯一地识别用户网络接口上的每个呼叫。在呼叫开始时分配该字段值。当该呼叫清除后,该字段值可以用于其它呼叫过程。

·  Message Type 1 octet识别信息类型(也就是 SETUPCONNECT 等)。该字段决定需要并许可哪些其它信息。

·  Mandatory and Optional Information Elements variable length可选项,主要取决于 Message Type

弟弟结婚了

笑向天 发表于 2008-05-09 15:18:48

弟弟 5.2号结婚了。兄弟几个只剩下我一个人了。

工作知识总结

笑向天 发表于 2008-05-09 15:16:37

-------------------------------------------------------------------

这段时间有空,做一下四年来的工作知识总结。
1:系统架构
   
    A:
    架构设计要达到的目标:
    1:可靠性。软件系统必须非常可靠。不能动不动就当机
    2:安全行。系统的安全性非常重要
    3:可扩展性。用户需求总是经常变化的,不能应为需求变化而使原有的代码发生大的改变
    4:可定制化。这一点非常重要.软件的最终目的是面向市场,面每个用户所需要的并不相同.对不同的用户提供不同的版本.这就需要软件能够定制.
    5:可以升级.当有新的技术出现是,可考虑适当引用.很多软件寿命比较短,就是不能引起新的东西
    6:可维护性。软件系统的维护包括两方面,一是排除现有的错误,容易发现和找出当前系统错误.Log在此处就显得非常重要,特别是通信软件.
                            需要提供不同的log
                            二是将新的软件需求反映到现有系统中去。
    7:客户体验.
   
    B:一个企业web应用软件需要考虑的东西
   
   
                           
    B:常用架构设计
        第一步是把系统划分模块.模块划分一般有两种划分方式,并且经常同时使用.一按功能划分.二是按系统层次划分
        比如一个IM系统
        IM系统从功能上可以分为.发送IM消息, 传文件,传图片,传语音.等等
        从系统层次上可以是表示层,显示用户界面,领域层,数据层.传输层等等.(Layers)
       
        第二.门面设计(facade模式)
            虽然模块划分了一个子系统.但是还不是很容易使用.用户需要使用这些子系统.而且这些系统还需要互相打交道
            比如一个IM系统.
            IM系统提供很多功能.如传文件.传图片.传语音.远程控制等.如果直接同这些模块进行打交道,很明显
            这个代码非常繁琐.代码难于维护和扩展.故此需要设计一个facade模式.提供统一的门面入口.
            用户不直接同这些子系统打交道.而是提交facade.则facade直接处理.如下图:
           
            user->facade|->传IM
                                  |->传文件
                                  |->远程控制
           
            可以参见RTX的系统架构
           
        通过这两种方法.基本上解决了层次与层次同层次之间的关系的问题.下面的一些模式可以使用在子系统当中
       
       
       
       
       

具体知识
2:webwork,structs ,Velocity 模板引擎
    用xml和sevlet来构建页面
3:spring
4:hibernate.
    sql 线程池
     
     
5:协议
xmpp radius

6:软交换
gnugk sip asterisk IAX2 IVR TTS
 

7:工作项目

8:其它知识
    com组件编程
    Linux下常用命令及linux编程
    加解密
    JNDI
    JMX
    ThreadLocal
    bat文件写法
    log
    FCKeditor
    js 树
   

8:电子商务,企业管理
    crm
    工作流
    ERP
    OA

物价上涨

笑向天 发表于 2008-05-09 15:07:18

物价上涨太快了.但工资却没有什么变化.
这让我想起了90年代初的物价上涨时代.
90年代的万元户到现在什么都不是!
钱存在银行里没有什么用.看着它贬值.
看来都想办法拿出来做一下投资.