static void assign_address(SalAddress** address, const char *value){ if (*address){ sal_address_destroy(*address); *address=NULL; } if (value) *address=sal_address_new(value); }
int sal_listen_port(Sal *ctx, const char *addr, int port, SalTransport tr, int is_secure) { SalAddress* sal_addr = sal_address_new(NULL); int result; sal_address_set_domain(sal_addr,addr); sal_address_set_port_int(sal_addr,port); sal_address_set_transport(sal_addr,tr); result = sal_add_listen_port(ctx,sal_addr); sal_address_destroy(sal_addr); return result; }
/** * Sets a SIP route. * When a route is set, all outgoing calls will go to the route's destination if this proxy * is the default one (see linphone_core_set_default_proxy() ). **/ int linphone_proxy_config_set_route(LinphoneProxyConfig *obj, const char *route) { if (obj->reg_route!=NULL){ ms_free(obj->reg_route); obj->reg_route=NULL; } if (route!=NULL){ SalAddress *addr; char *tmp; /*try to prepend 'sip:' */ if (strstr(route,"sip:")==NULL){ tmp=ms_strdup_printf("sip:%s",route); }else tmp=ms_strdup(route); addr=sal_address_new(tmp); if (addr!=NULL){ sal_address_destroy(addr); }else{ ms_free(tmp); tmp=NULL; } obj->reg_route=tmp; } return 0; }
/** * Constructs a LinphoneAddress object by parsing the user supplied address, * given as a string. **/ LinphoneAddress * linphone_address_new(const char *addr){ SalAddress *saddr=sal_address_new(addr); if (saddr==NULL) ms_error("Cannot create LinphoneAddress, bad uri [%s]",addr); return saddr; }