Navaratne | 22 Oct 07:39 2014
Picon

STP function

Hello yate team,

Im new to yate and following on your signalling implementation. I have a small question on this.

Can we implement a STP functionality using yate to act as a MAP gateway similar to cisco ITP. Basically to application/ssn level inward routing and GTT outward.

I could see very little config re gtt on the configurations, but couldnt not figure out how to actually implement it.

Thankyou
Nava.
Nitesh Divecha | 17 Oct 18:38 2014

SIP->M3UA->Switch

Hello All,

I'm trying to figure out if this is even possible or alternate solution.

Nextone -> SIP -> Yate -> M3UA -> Switch

I'm new to Yate and world of SS7/M3UA but familiar with SIP/H323.

I have installed and configured Yate with SIP and I was able to place a successful call from Nextone->SIP->Yate->SIP->Bria Dialer with audio both-ways.

Now my next task is to work on Yate->M3UA->Switch, which I got no clue or even not sure if its possible.

Need some help or guidelines on how I can start working on Yate->M3UA->Switch. How can I place a successful call from Nextone->SIP->Yate->M3UA->Switch->remoteCaller.

Any feedback or help will be highly appreciated. Thanking in advance.

-- Cheers, Nitesh
Yu Boot | 10 Oct 15:55 2014
Picon

Writing debug JS module

I try to write simple debug JS module that will log some information on 
call disconnect:

function onDisconnected(msg) {
Engine.debug(Engine.DebugInfo,"Reason: '" + msg.reason + "' ID: '" + 
msg.id + "'");
return false;
}
Message.install(onDisconnected,"chan.disconnected",80);

How to:
1. get and print all msg parameters?
2. make it visible in log, except "debug javascript on"?

Yu Boot | 10 Oct 13:51 2014
Picon

Re: multi-level routing

I use this to block something:

...
^456\(.*\)$=-;error=forbidden


10.10.2014 15:43, Rafayel Khachikyan пишет:
<!-- .hmmessage P { margin:0px; padding:0px } body.hmmessage { font-size: 12pt; font-family:Calibri } -->
Thanks Yu,
 
I don't have [context] section.
So finally it will have this view:
 
 
[from_internal]
${address}^11\.11\.11\.2:=jump operator_1
${address}^11\.11\.11\.3:=jump operator_2

 
[operator_1]
^1\(.*\)$=sip/sip:\0;line=line_1
^2\(.*\)$=sip/sip:\0;line=line_1
.*=jump common

[operator_2]
^1\(.*\)$=sip/sip:\0;line=line_2
^2\(.*\)$=sip/sip:\0;line=line_2
.* jump common
 

[common]
^123\(.*\)$=sip/sip:\0;line=line_3
^456\(.*\)$=sip/sip:\0;line=line_4
^789\(.*\)$=sip/sip:\0;line=line_5
...
...

And one more question - if for example I want to disable 456 (which is used in [common]) for operator_2, such config should work, yes?

 
[operator_2]
^1\(.*\)$=sip/sip:\0;line=line_2
^2\(.*\)$=sip/sip:\0;line=line_2
^456\(.*\)$=error=403;reason=Forbidden
.* jump common
 
 
Thanks again for support.
/Rafayel 
 
Date: Fri, 10 Oct 2014 11:53:04 +0400
From: yu-kmYC+cp5Ag0vJsYlp49lxw@public.gmane.org
To: yate-uHKunLg9Q/3XMkR9fcqaOA@public.gmane.org
Subject: Re: [yate] multi-level routing

Sorry, my little mistake:


${address}^11\.11\.11\.2:=jump operator_1
${address}^11\.11\.11\.3:=jump operator_2

And finally if this IP address checking occurs in [context] section, you don't need "jump" keyword for this:

[context]
....
${address}^11\.11\.11\.2:=operator_1
${address}^11\.11\.11\.3:=operator_2
....



10.10.2014 10:57, Rafayel Khachikyan пишет:
<!-- .ExternalClass .ecxhmmessage P { padding:0px; } .ExternalClass body.ecxhmmessage { font-size:12pt; font-family:Calibri; } -->
Hello guys,
 
Is there a possibility to have two- or more level call routing in regex file? Something like example below :
 
 
 
${address}^11\.11\.11\.2:=goto operator_1
${address}^11\.11\.11\.3:=goto operator_2
 

[operator_1]
^1\(.*\)$=sip/sip:\0;line=line_1
^2\(.*\)$=sip/sip:\0;line=line_1
forward the rest to [common]
;end
 
 
[operator_2]
^1\(.*\)$=sip/sip:\0;line=line_2
^2\(.*\)$=sip/sip:\0;line=line_2
forward the rest to [common]
;end
 

[common]
^123\(.*\)$=sip/sip:\0;line=line_3
^456\(.*\)$=sip/sip:\0;line=line_4
^789\(.*\)$=sip/sip:\0;line=line_5
...
...
;end
 
 
 
 
Thanks.
 
/Rafayel


Yu Boot | 10 Oct 09:50 2014
Picon

Yate5 config examples

Anyone, please send me your regex/ysipchan/yrtpchan/yate.conf configs 
from your working machines. Just want to finally solve my issue with 
random disconnects.

yu@...

Rafayel Khachikyan | 10 Oct 08:57 2014

multi-level routing

Hello guys,
 
Is there a possibility to have two- or more level call routing in regex file? Something like example below :
 
 
 
${address}^11\.11\.11\.2:=goto operator_1
${address}^11\.11\.11\.3:=goto operator_2
 

[operator_1]
^1\(.*\)$=sip/sip:\0;line=line_1
^2\(.*\)$=sip/sip:\0;line=line_1
forward the rest to [common]
;end
 
 
[operator_2]
^1\(.*\)$=sip/sip:\0;line=line_2
^2\(.*\)$=sip/sip:\0;line=line_2
forward the rest to [common]
;end
 

[common]
^123\(.*\)$=sip/sip:\0;line=line_3
^456\(.*\)$=sip/sip:\0;line=line_4
^789\(.*\)$=sip/sip:\0;line=line_5
...
...
;end
 
 
 
 
Thanks.
 
/Rafayel
Yu Boot | 10 Oct 08:46 2014
Picon

Re: Help! Random calls disconnects

Now we're forced to move most annoyed clients from this Yate to Asterisk 
at least for testing. All the same network, hardware, clients, uplinks 
etc - and no call disconnects at all. Magic??? Something is definitely 
wrong with Yate and its' configuration. What can it be?

09.10.2014 20:24, Paul Chitescu пишет:
> Hi!
>
> Can you take a look at the Yate generated BYE message - in particular the
> Reason and P-RTP-Stat headers? Also check the disconnect reason in CDR if
> available.
>
> What is the peer of the SIP channel? What is the inbound call coming from?
>
> Do you do RTP forwarding or all calls' voice is proxied through Yate?
>
> The call termination may be caused by:
> - inbound channel hanging up (BYE received by Yate)
> 	- possibly some periodic reINVITE issues
> 		- reINVITE not received or not answered by Yate
> 		- remote side expecting periodic reINVITE without RFC 4028 negotiation
> 	- fax tone misdetection causing a rejected T.38 reINVITE
> - a hangup on RTP receive timeout configured in yrtpchan.conf
> - a timeout (around 65000 in this case) parameter set during routing
>
> In the last 2 cases Yate would hang up both inbound and outbound call legs
> from the middle.
>
> Paul
>
>
> On Thu Oct 9, 2014 18:40:32 Yu Boot wrote:
>> Help me please! Just got crazy about it.
>>
>> Yate randomly sends "BYE" to clients in the middle of conversation
>> without any visible reason. It happens few dozens times a day on random
>> clients. Network is OK, no ping loss, no delays, no overload etc.
>> Unfortunately I can't to turn on message sniffer or even tshark all (in
>> and out) SIP traffic due to huge amount of calls. All I can is tcpdump
>> client IP only for a day or two and then open dump file in Wireshark
>>
>> http://tinypic.com/r/295uyyb/8 - it's how it looks in Wireshark on
>> tcpdump'ed file from Yate.
>>
>> 78 IP is Yate, 38 is a client.
>>
>> What parameters, timers, conditions, etc AT ALL can cause that Yate
>> behaviour? Yate was specially moved to quad core Xeon with 8GB RAM for
>> only 150-160 concurrent SIP sessions, machine is faaaaaar underloaded,
>> and this didn't help. Fresh installed CentOS 6.5 with all updates,
>> latest Yate 5.4.1 devel1 r5915, G729 codec from yate.hosting.lv
>>
>> I can provide any Yate logs and configs to solve this problem, without
>> message sniffer and total "tcpdump port sip", of course.

Torsten Römer | 16 Oct 18:41 2014
Picon

Re: DTMF keys dropped/delivered in wrong order

Hi,

I've done quite a lot of testing using Wireshark with different phones 
and lines:

- SIP phone (SFLphone) connecting via sipgate or directly to Yate: no 
problems at all
- A "classic" phone using SIP via a SIP-capable router (FritzBox) and a 
DSL-Provider offering SIP telephony: no problems at all
- Smartphone via 2G via sipgate trunking: about every 3rd-4th tone lost 
after quickly typing about 50 keys (some kind of queueing/buffering 
seems to happen somewhere)
- Some SIP-based telephone system using another SIP-provider than 
sipgate: about every 10th tone duplicated (mostly the "1"), up to half 
of the tones lost!

I'm not sure about the 2G scenario but I'm quite sure there is something 
wrong with this particular phone system or the SIP-provider used there.

What I am sure about is that the sequence of DTMF tones received in Yate 
(and my extmodule implementation) always matches the sequence of RTP 
events captured by Wireshark.

Thanks again Paul for the useful infos you gave me!

Torsten

Am 09.10.2014 um 13:05 schrieb Paul Chitescu:
> Hi!
>
> What are you receiving the call from? Some kind of SIP gateway or upstream
> provider? Can you find out the call path and the media conversions for the
> calls causing the problem?
>
> The logs indicate that keypad signaling is received over RFC 2833 (RTP
> sideband) which is not sensitive to analog degradation. It is however
> sensitive to large consecutive packet loss - if all RFC 2833 packets of a tone
> are lost then the tone is lost.
>
> RFC 2833 packets for a single DTMF look like:
> - ... normal RTP voice packets
> - start DTMF "X" duration 0
> - DTMF "X" duration T1
> - DTMF "X" duration T2 (T2 > T1)
> - ...
> - end DTMF "X" duration Tfinal
> - end DTMF "X" duration Tfinal
> - ... (may be repeated several more times)
> - ... normal RTP voice packets
>
> You may use Wireshark to capture and view RTP packets as received by the Yate
> machine and check the "RTP Event" packets.
>
> A good hint at what Yate saw is the RTP statistics report in the SIP BYE (or
> the 200 answer to one), look for the PL= value in the P-RTP-Stat: header.
> Packet loss indicate how many holes were detected in the received RTP sequence
> numbers.
>
> GSM phones don't send DTMF themselves, they send non-overlapping confirmed
> keypad signaling that gets converted into inband DTMF (or other forms of
> signaling like RFC 2833 or SIP INFO or ISDN keypad) at the MSC. The problem
> cannot happen on the radio path (else the call would fail) but it's somewhere
> in the mobile land network or in some interconnect.
>
> - Keypad "X" pressed -> MSC -> DTMF start -> PSTN
> - Keypad press Ack <- MSC
> - (no new keypresses are acceptable in this state)
> - Keypad released -> MSC -> DTMF stop -> PSTN
> - Keypad release Ack <- MSC
>
> Paul
>
>
> On Thu Oct 9, 2014 13:18:57 Torsten Römer wrote:
>> Hello,
>>
>> I am working on an IVR using extmodule and during some extreme testing,
>> I have noticed that sometimes DTMF keys are dropped or delivered in the
>> wrong order.
>>
>> For example, when repeatedly entering the sequence 123456789, the first
>> 50 or so keys arrive in the correct order but then it starts to get out
>> of sequence:
>>
>> <yrtp:INFO> YRTPWrapper::gotDTMF('1') [0x7f7798013780]
>> <yrtp:INFO> YRTPWrapper::gotDTMF('3') [0x7f7798013780]
>> <yrtp:INFO> YRTPWrapper::gotDTMF('4') [0x7f7798013780]
>> <yrtp:INFO> YRTPWrapper::gotDTMF('6') [0x7f7798013780]
>> <yrtp:INFO> YRTPWrapper::gotDTMF('7') [0x7f7798013780]
>> <yrtp:INFO> YRTPWrapper::gotDTMF('8') [0x7f7798013780]
>> <yrtp:INFO> YRTPWrapper::gotDTMF('9') [0x7f7798013780]
>> <yrtp:INFO> YRTPWrapper::gotDTMF('2') [0x7f7798013780]
>> <yrtp:INFO> YRTPWrapper::gotDTMF('3') [0x7f7798013780]
>>
>> It seems this is more likely to happen with a slow/laggy connection like
>> a GSM phone.
>>
>> I have read something about possible issues with DTMF over RTP and
>> distorted DTMF tones - is this a known issue with DTMF key transmission
>> and is there something that can be done about it?
>>
>> Torsten

Rodrigo Ricardo Passos | 23 Apr 14:36 2014
Picon

Get number in SAM

Hi Yate,

How can i get the digit in SAM message after receive an IAM using 
Javascript?

Regards,

Rodrigo

Dana cafe | 2 May 14:50 2014

queue.conf operators configuration

good afternoon,

I am trying to put calls in a queue and redistribute to operators 
(without using a database) but I don't know how to define these operators.

For testing i defined two users in regfile.conf:

[1000]
password=1234

[2000]
password=1234

Then in regexroute.conf I defined:

^100$=queue/test1

Finally test1 is defined  in the queue.conf file :

[channels]
incoming=external/nodata/queue_in.php
outgoing=external/nodata/queue_out.php

[queue test1]
mintime = 100
length= 100
maxout=10
;greeting=
onhold=wave/play/ test.wav
maxcall=10000
;prompt=
;notify
detail=true
single=true
;definition of the operator
${queue} = test1
${required} = 1
${current} = 1
;  ${waiting}
location=127.0.0.1
username=2000
  maxcall = 3000
;  prompt: string: Resource to play to the operator when it answers
enabled=true

using yate client logged as 1000 I call to 100 and the music on hold 
start but the call is not distributed to the user 2000 which is logged 
in another yate client. For sure the configuration of the operator is 
wrong, unfortunatelly I didn't find a useful example in the website and 
in internet.

thank you very much for your valuable help,

Jose

Moritz Orbach | 18 Mar 19:47 2014
Picon

Authentication-check in javascript

Hello all,

is there a javascript equivalent to regexroute's
${username}^$=-;error=noauth

Or more precisely: how can I (on call.route, in javascript)
1) verify that a client is registered in regfile.conf (allowed to make a
   certain call)
2) retrieve the true extension of the client (not based on any headers
   the client can set itself, but based on the registration)

I tried "msg.username", msg.params['username'] and similar properties of
the Message object in the call.route handler, but none of them seemed to
exist.

Best regards
Moritz


Gmane