Browse Source

função set_peer_update dividir entre trunk

dev
Rodgger 2 years ago
parent
commit
22589eadff
  1. 5
      src/frame/frame_asterisk.c
  2. 2
      src/frame/frame_asterisk.h
  3. 11
      src/peer/peer.c
  4. 2
      systemd/amid.service

5
src/frame/frame_asterisk.c

@ -388,13 +388,14 @@ struct s_peer {
}
void set_peer_update(){
void set_peer_update( int trunk ){
struct s_peer *peer = _peer;
while(peer){
if(peer->trunk == trunk){
peer->action_update = 0;
}
peer = peer->next;
}
}

2
src/frame/frame_asterisk.h

@ -198,7 +198,7 @@ int remove_peer_name( const char *peer );
struct s_peer *get_peer_number(const char *number);
struct s_peer *get_peer(const char *number);
int free_peer(struct s_peer *peer);
void set_peer_update();
void set_peer_update( int trunk );
void peer_update( int trunk );

11
src/peer/peer.c

@ -230,7 +230,13 @@ int parse_event_peerentry( EVENT *event, s_manager *smanager ){
if(!objectname) goto fail;
ipaddress = ami_get_value(smanager->ami, event->args, "IPaddress");
if(!atoi(ipaddress)) {
if(!strncmp(ipaddress, "-none-", 6)){
ipaddress = NULL;
}
else if (strncmp(ipaddress, "(null)", 6)){
ipaddress = NULL;
}
else if(!atoi(ipaddress)) {
ipaddress = NULL;
}
@ -253,8 +259,7 @@ int parse_event_peerentry( EVENT *event, s_manager *smanager ){
table_peer = get_peerentry_db( Select_peerentry, objectname );
if(table_peer){
peer_trunk = table_peer->trunk;
if( (table_peer->trunk != peer_trunk) ||
if(peer_trunk != table_peer->trunk ||
(strcmp_n(table_peer->protocol, channeltype) != 0) ||
(strcmp_n(table_peer->address, ipaddress) != 0) ) {

2
systemd/amid.service

@ -8,7 +8,7 @@ Restart=always
RestartSec=2
ExecStart=/usr/sbin/amid
NotifyAccess=main
TimeoutStartSec=25
TimeoutStartSec=20
[Install]
WantedBy=multi-user.target

Loading…
Cancel
Save