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

Matthew Fredrickson creslin at digium.com
Fri Mar 20 11:50:13 CDT 2009


Cary Fitch wrote:
> 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.)

Actually, the implementations of SS7 support in Asterisk (libss7, and 
also the out of tree chan_ss7) include support for signaling and bearer 
channels, which is why he's mentioning voice support.

Right now, both implementations function basically like the ISDN code 
works - i.e. you have to terminate signaling and bearer channels on the 
same box.

Matthew Fredrickson (the libss7 guy :-) )
Digium, Inc.

> 
> 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
> 
> 
> _______________________________________________
> -- 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