Recent Posts

Pages: [1] 2 3 ... 10
1
Announcements / Yate is dead, long live...?
« Last post by sam4279 on February 09, 2021, 07:56:44 AM »
Since this project is quite obviously dead, this thread can serve as a signpost toward suitable replacements.
2
Yate users hangout place / Re: How to route SMS to external PHP/Python module ?
« Last post by cc08 on December 28, 2020, 12:25:51 PM »
An external module, if we are talking about the same thing, should track the cal.route message and filter by route_type == "msg".
In general, this is all described here: https://docs.yate.ro/wiki/Using_SIP_MESSAGE_or_how_to_enable_chat_messages_in_SIP
3
Yate users hangout place / cdr_combined for MySql
« Last post by snax68 on December 12, 2020, 06:05:13 AM »
Hi,
 which is the correct SQL instruction for cdr_combined if used with MySql database?

Thanks a lot,
 John
4
Yate users hangout place / How to route SMS to external PHP/Python module ?
« Last post by rhsy on November 16, 2020, 02:58:35 AM »
Hello

I want to route SMS to external module. but I don't find any information how to do.
Does anyone point me that ?

my expect use case is

1) User send SMS.
2) Yate received it.
3) Yate send it to external module
4) external module will be processed.
5) external module will be send SMS through Yate.
6) User received it.

for Step 5, there is example custom_sms.js / custom_sms.php.
but don't find any example / reference for step 3)

external module which I want to use is PHP or Python.
5
Yate based projects / YateBTS + BladeRf x40, controlling signal level
« Last post by vpaskov on August 30, 2020, 01:06:18 PM »
Hi all,
I'm an Android developer developing an app called GSM Signal Monitor (https://play.google.com/store/apps/details?id=paskov.biz.noservice), in it's core is an app that monitors your GSM signal strength and notifies you of events such as 'signal lost' or 'signal low'.

To ease the app development and testing process (it's tedious job to test and debug various Android devices (20 currently) simulating different network conditions using a metal bucket and metal cans reinforced with aluminum foil) I assembled simple test environment using BladeRF x40, Ubuntu 18.04 and YateBTS.

Everything is working almost great, the phones can connect to YateBTS, they can call each other, when I stop the BTS the signal is lost, the GPRS data is working. I'm successfully using libyate.php to monitor some events that I'm interested in etc...

One thing I'm not able to achieve for now is how to properly control the recieved / transmitted signal levels so the phone reception can be altered. Ex: The signal is great currently, how can I simulate for example low signal condition.

I tried playing with rmanager adjusting the BTS power with mbts power, but the results are not exactly stable. The phone either lose signal or gains great signal, nothing in between.

Any help will be appreciated.



--
Regards,
Vladimir Paskov
6
YateBTS / Re: Multioperators in YateBTS is possible? (severals MNC)
« Last post by chankatc on August 15, 2020, 01:51:43 PM »
I'm also interested.
7
Yate users hangout place / Re: Check SIP Status
« Last post by cc08 on August 10, 2020, 01:04:42 PM »
I think that the client will request re-registration only after the timeout expired.
Or restarting the client.
There are no other ways.
8
Yate users hangout place / Check SIP Status
« Last post by ganapathi on August 09, 2020, 12:32:37 PM »
Hi,

As i want every SIP Client to request registration forcefully once after yate service restarted. Where i'm maintaining sip registration status on database and able to configure to get those using init_query on register module.

But technically which sip method or any other way to request SIP client to renew their Registrations.
9
YateBTS / Re: BladeRF 2.0 micro xA4 Noise Problem
« Last post by jhutchins on July 27, 2020, 03:43:06 AM »
Are you able to use yate with an xA4 with any success? The only person I've spoken to in the last 2 years who has been able to use yate with an xA4 is Robert Ghilduta   ::)  I've found many other uses for it though so definatley not saying I have buyers remorse but not aware of anyone else to get it  working with yate
10
Other Yate server issues / SIP outbound proxy patch
« Last post by Gerry on July 11, 2020, 10:54:28 AM »
Hi,

Please find below a patch for Yate version 4.1.1. to get outbound proxying working. The patch introduces a new outboundproxy parameter which can be used for example from regexroute, like

; set proxy gateway
.*=;outboundproxy=112.203.17.24:5069

When this parameter is set it connects the outgoing YateSIPConnection to a proxy and sends all SIP messages there instead of the r-uri destination.

Comments re this patch would be highly welcome.

Cheers Gerry

@@ -4869,45 +4873,71 @@
     m_rtpForward = msg.getBoolValue(YSTRING("rtp_forward"));
     m_user = msg.getValue(YSTRING("user"));
     m_line = msg.getValue(YSTRING("line"));
+
     String tmp;
     YateSIPLine* line = 0;
     if (m_line) {
-   line = plugin.findLine(m_line);
-   if (line) {
-       if (uri.find('@') < 0 && !uri.startsWith("tel:")) {
-      if (!uri.startsWith("sip:"))
-          tmp = "sip:";
-      tmp << uri << "@" << line->domain();
-       }
-       m_externalAddr = line->getLocalAddr();
-   }
-    }
+       line = plugin.findLine(m_line);
+       if (line) {
+           if (uri.find('@') < 0 && !uri.startsWith("tel:")) {
+                if (!uri.startsWith("sip:"))
+                    tmp = "sip:";
+                tmp << uri << "@" << line->domain();
+           }
+           m_externalAddr = line->getLocalAddr();
+       }
+    }
+
     if (tmp.null()) {
-   if (!(uri.startsWith("tel:") || uri.startsWith("sip:"))) {
-       int sep = uri.find(':');
-       if ((sep < 0) || ((sep > 0) && (uri.substr(sep+1).toInteger(-1) > 0)))
-      tmp = "sip:";
-   }
-   tmp << uri;
+        if (!(uri.startsWith("tel:") || uri.startsWith("sip:"))) {
+            int sep = uri.find(':');
+            if ((sep < 0) || ((sep > 0) && (uri.substr(sep+1).toInteger(-1) > 0)))
+              tmp = "sip:";
+        }
+        tmp << uri;
     }
     m_uri = tmp;
     m_uri.parse();
-    if (!setParty(msg,false,"o",m_uri.getHost(),m_uri.getPort()) && line) {
-   SIPParty* party = line->party();
-   setParty(party);
-   TelEngine::destruct(party);
-    }
+
+    tmp.clear();
+    String rproxyaddr;
+    int rproxyport = 0;
+    tmp = msg.getValue(YSTRING("outboundproxy"));
+    if (tmp) {
+        int sep = tmp.find(':');
+        if (sep > 0) {
+            rproxyport = tmp.substr(sep + 1).toInteger(0);
+            rproxyaddr = tmp.substr(0,sep);
+        }
+        else
+            rproxyaddr = tmp;
+    }
+
+    if (rproxyaddr) {
+        setParty(msg,false,"o",rproxyaddr,rproxyport);
+    } else if (!setParty(msg,false,"o",m_uri.getHost(),m_uri.getPort()) && line) {
+       SIPParty* party = line->party();
+       setParty(party);
+       TelEngine::destruct(party);
+    }
+
     SIPMessage* m = new SIPMessage("INVITE",m_uri);
-    setSipParty(m,line,true,msg.getValue("host"),msg.getIntValue("port"));
+
+    if (rproxyaddr)
+        setSipParty(m,line,true,rproxyaddr,rproxyport);
+    else
+        setSipParty(m,line,true,msg.getValue("host"),msg.getIntValue("port"));
+
     if (!m->getParty()) {

Pages: [1] 2 3 ... 10