Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1057501
  • 博文数量: 166
  • 博客积分: 10217
  • 博客等级: 上将
  • 技术积分: 2133
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-09 19:45
文章分类

全部博文(166)

文章存档

2012年(3)

2011年(7)

2010年(18)

2009年(59)

2008年(79)

我的朋友

分类: LINUX

2008-06-20 20:03:03

   单路的情况比较好整,多路时就要费点劲了。主要是要考虑各个猫的差异性,根据差异性对猫正确初始化。
每路电话都有一个call id(多方通话的AT+CHLD时用到,里面的选项1X,2X,其中的X就是call id),每个猫都有一条称之为General Indications的AT,正确初始化称为General Indications的AT(一般是打开一些选项),会从网络上传进来call id。如mtk的,用AT+ECPI=2初始化后,会返回
 +ECPI:, , , , , , [, ]

1、wavecom的猫是:    +wind
如初始化为AT+WIND=48
等于号的值是各位的累加
 16 (bit 4)     a new call identifier has been created  (after an ATD command, +CCWA indication)
   32 (bit 5)   an active, held or waiting call has been released by network or other party

用wavecom的猫调phoneserver时,由于对方挂电话时,不会返回+wind:call_id的数据,详见如下:
 he unsolicited answer will then be :
                                      +WIND : [ , ]
: Call identifier, defined in +CLCC command.
The supported events are:
                        0 : The SIM presence pin has been detected as “SIM removed”
                                           (depending from the 0 bit flow)
                                                                                                                 179
    This confidential document is the property of WAVECOM and may not be copied or circulated without permission
AT commands interface
                      1 : The SIM presence pin has been detected as “SIM inserted”
                      2 : Calling party is alerting
                      3 : Module is ready to treat AT commands (except
                          phonebooks, AOC, SMS), at init or after AT+CFUN=1
                      4 : Module is ready to treat all AT commands, end of
                          phonebook init or swap (FDN to ADN)
                      5 : Call has been created (after ATD or +CCWA...)
                      6 : Call has been released, after a NO CARRIER, a
                          +CSSU: 5 indication, or after the release of a call waiting
                      7 : The network service is available for an emergency call.
                      8 : The network is lost.
                      9 : Audio ON.

故三方通话时,对于对方主动挂电话时,无法判断是哪一路挂了。也许是猫太旧了。调phoneserver用wavecom的猫行不通,不支3方通话(也许是我的猫太旧了或是我还不知道其他的方法),会导致phoneserver里的call id找不到死掉
2、MTK的猫: +ECPI
后来调mtk的猫,发现mtk的猫真是强大,一下的情况CLCC_MT_CALL, CSMCC_DISCONNECT_MSG,CSMCC_ALERT_MSG, CSMCC_CALL_PROCESS_MSG,  CSMCC_SYNC_MSG,CSMCC_PROGRESS_MSG,CSMCC_CALL_CONNECTED_MSG,CSMCC_ALL_CALLS_DISC_MSG,CSMCC_CALL_ID_ASSIGN_MS都会返回
类似+ECPI:, , , , , , [, ]的数据

对于该初始化,可用插件的方式在gsmd里实现,也是些死。为了通用,用插件
3、CELLON (赛龙的猫):+PPURC
初始话类似wavecom的,也是各选项累加的方式
4、TI的猫: +cpi还是+pi,自己查手册去吧


 

阅读(2121) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~