[ previous ] [ next ] [ threads ]
 To :  yate@v...
 From :  Alexandr Gevlichenko <gevlichenko@g...>
 Subject :  rtp_forward and sip <-> sip-t proxy
 Date :  Thu, 10 Jun 2010 13:05:24 +0300
Hi!
I'm trying to configure rtp_forward to sip <-> sip-t proxying signaling.
Signaling proxy works well, but the sound is heard in the same direction.
The call follows the scheme: asterisk  yate  PSTN,
regexproute.conf contains $ {rtp_forward} possible =; rtp_forward = yes;
sdp_forward = yes.

When yate receives INVITE message from asterisk, yate adds a IAM message and
sends the INVITE to the PSTN. sdp part contains rtp_ip and rtp_port from
asterisk. This works correctly.
But when the message comes from the PSTN "200 ok", containing the ISUP and
SDP body, yate sends a message to asterisk contain local rtp_ip and
rtp_port. The sound in this direction does not pass.
In the log (msgsniff = enable) I see:
############################
Sniffed 'call.answered' time = 1276160851.002548
  thread = 0x8fcbbe0 'Engine Worker'
  data = (nil)
  retval = '(null)'
  param ['id'] = 'sip / 2'
  param ['module'] = 'sip'
  param ['status'] = 'answered'
  param ['address'] = '192 .168.108.9:5060'
  param ['targetid'] = 'sip / 1'
  param ['billid'] = '1276160814-1 '
  param ['peerid'] = 'sip / 1'
  param ['lastpeerid'] = 'sip / 1'
  param ['answered'] = 'true'
  param ['callid'] = 'sip/1162088421 @ 10.44.99.2/987987334/31e3d76f'
  param ['sip_allow'] = 'INVITE, ACK, CANCEL, OPTIONS, BYE, INFO'
  param ['sip_contact'] = ''
  param ['sip_content-type'] = 'multipart / mixed; boundary = ssboundary'
################################
yate loses information about SDP and ISUP. And do not decode ISUP. Instead,
create chan.rtp.

As I understand it is an error when parsing yate "200 OK" message containing
a multipart body?




Hi!

I'm trying to configure rtp_forward to sip <-> sip-t proxying signaling.
Signaling proxy works well, but the sound is heard in the same direction.
The call follows the scheme: asterisk <sip> yate <sip-t> PSTN, regexproute.conf contains $ {rtp_forward} possible =; rtp_forward = yes; sdp_forward = yes.

When yate receives INVITE message from asterisk, yate adds a IAM message and sends the INVITE to the PSTN. sdp part contains rtp_ip and rtp_port from asterisk. This works correctly.
But when the message comes from the PSTN "200 ok", containing the ISUP and SDP body, yate sends a message to asterisk contain local rtp_ip and rtp_port. The sound in this direction does not pass.
In the log (msgsniff = enable) I see:
############################
Sniffed 'call.answered' time = 1276160851.002548
šš
thread = 0x8fcbbe0 'Engine Worker'
šš
data = (nil)
šš
retval = '(null)'
šš
param ['id'] = 'sip / 2'
šš
param ['module'] = 'sip'
šš
param ['status'] = 'answered'
šš
param ['address'] = '192 .168.108.9:5060'
šš
param ['targetid'] = 'sip / 1'
šš
param ['billid'] = '1276160814-1 '
šš
param ['peerid'] = 'sip / 1'
šš
param ['lastpeerid'] = 'sip / 1'
šš
param ['answered'] = 'true'
šš
param ['callid'] = 'sip/1162088421 @ 10.44.99.2/987987334/31e3d76f'
šš
param ['sip_allow'] = 'INVITE, ACK, CANCEL, OPTIONS, BYE, INFO'
šš
param ['sip_contact'] = '<sip:192.168.108.9:5061;user=phone;ttl=0>'
šš
param ['sip_content-type'] = 'multipart / mixed; boundary = ssboundary'
################################
yate loses information about SDP and ISUP. And do not decode ISUP. Instead, create chan.rtp.

As I understand it is an error when parsing yate "200 OK" message containing a multipart body?