[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