[asterisk-users] chan_ss7 with ringing, but no voice stream.

Cary Fitch caryf at usawide.net
Fri Mar 20 07:39:23 CDT 2009


SS7 doesn’t send any voice.  It sends call info, and tells the switches
which trunk to use for the voice.  Trunks are two-way as far as audio
content, though they maybe designated is "inbound or outbound" trunks.

An audio problem is possibly a NAT or other issue.

Since you are modifying the SS7 code, there could be some error in setting
up the call, but normally the IMT trunks are two way. (Of course they are "4
wire" circuits so are two one way paths, but they are "matched pairs" so,
for practical purposes they would be "1 entity" for call set up purposes.)

Cary Fitch

-----Original Message-----
From: asterisk-users-bounces at lists.digium.com
[mailto:asterisk-users-bounces at lists.digium.com] On Behalf Of lizhong zhu
Sent: Friday, March 20, 2009 2:05 AM
To: asterisk-ss7
Subject: [asterisk-users] chan_ss7 with ringing, but no voice stream.


hello, all of users:
sorry, resend it again for clarifying the message. I have implemented
cha_ss7 in china. initially, the
chan_ss7 can not support the call group. i modify the code.
now the problem is that, both sides can hear the ring, but i
can not hear the voice from each other. 
i think the ss7 does not send the voice steam to the destination. 
 in chan_ss7, i added:
=================================================== 
static struct ss7_chan *cic_hunt_even_mru(struct linkset*
linkset) {
struct ss7_chan *cur, *prev, *best, *best_prev;
best = NULL;
best_prev = NULL;
for(cur = linkset->idle_list, prev = NULL; cur !=
NULL; prev = cur, cur = cur->next_idle) {
/* Don't select lines that are resetting or
blocked. */
   if(!cur->reset_done || (cur->blocked
& (BL_LH|BL_RM|BL_RH|BL_UNEQUIPPED|BL_LINKDOWN))) {
    continue;
    }
/* if((cur->cic % 2) == 0) {  */
/*change to this*/
if(((cur->cic % 2) ==
0)&&0==strcasecmp(cur->link->name,linkname))
{
      /* Choose the first idle even circuit,
if any. */
 /*end of change*/      
 best = cur;
       best_prev = prev;
       break;
     } else if(best == NULL) {
       /* Remember the first odd circuit, in
 case no even circuits are
          available. */
       best = cur;
       best_prev = prev;
     }
   }
 
 cic_hunt_even_mru  if(((cur->cic % 2) ==
 0)&&0==strcasecmp(cur->link->name,linkname))
 {
 my environment is:
 asterisk-1.4.20
 chan_ss7-1.0.91
 Openvox D410P
 ===========================
 anyone has an idea for the problem?
 please give me some hints!
thanks!
james.zhu


      

_______________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users




More information about the asterisk-users mailing list