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: [email protected] > [mailto:[email protected]] 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 _______________________________________________ -- 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
